|
From: Matthias K <mat...@us...> - 2006-03-27 16:59:54
|
Update of /cvsroot/jcommander/incubator/matthias_kue/difftest/src/org/jcommander/ui/filepanel/actions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32571/matthias_kue/difftest/src/org/jcommander/ui/filepanel/actions Modified Files: CompareAction.java Log Message: New version of CompareAction: - Editing, moving changes and replacing works. - Added filenames to show which two files you are comparing currently - Not longer left=active FilePanel, right=inactive FilePanel, but left=left FilePanel, right=right FilePanel. Index: CompareAction.java =================================================================== RCS file: /cvsroot/jcommander/incubator/matthias_kue/difftest/src/org/jcommander/ui/filepanel/actions/CompareAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CompareAction.java 26 Mar 2006 12:15:51 -0000 1.2 --- CompareAction.java 27 Mar 2006 16:59:50 -0000 1.3 *************** *** 9,16 **** --- 9,18 ---- import java.io.IOException; import java.io.InputStream; + import java.io.OutputStream; import java.lang.reflect.InvocationTargetException; import org.apache.commons.vfs.*; import org.eclipse.compare.*; + import org.eclipse.compare.structuremergeviewer.DiffNode; import org.eclipse.compare.structuremergeviewer.Differencer; import org.eclipse.compare.structuremergeviewer.IStructureComparator; *************** *** 368,372 **** try { System.out.println("setContent"); ! file.getContent().getOutputStream().write(newContent); } catch (FileSystemException e) { // TODO Auto-generated catch block --- 370,378 ---- try { System.out.println("setContent"); ! String nC=new String(newContent); ! System.out.println(nC); ! OutputStream oStream=file.getContent().getOutputStream(); ! oStream.write(nC.getBytes()); ! oStream.close(); } catch (FileSystemException e) { // TODO Auto-generated catch block *************** *** 380,384 **** --- 386,428 ---- public ITypedElement replace(ITypedElement dest, ITypedElement src) { // TODO Implement! + // if ((dest==null)&&(src!=null)) { + // System.out.println("Add: "+((FileInput)src).file.getName().getURI()); + // } else if ((dest!=null)&&(src==null)) { + // System.out.println("Remove: "+((FileInput)src).file.getName().getURI()); + // } System.out.println("replace"); + try{ + if (dest!=null) { + if (dest instanceof FileInput) { + FileInput fDest = (FileInput) dest; + if (src==null) { + fDest.file.delete(); + } else if (src instanceof FileInput) { + FileInput fSrc = (FileInput) src; + fDest.file.copyFrom(fSrc.file, null); + return fDest; + } else { + System.out.println("Error in FileInput.replace: Src no FileInput"); + } + } else { + System.out.println("Error in FileInput.replace: Dest no FileInput"); + } + } else if (src!=null) { + if (src instanceof FileInput) { + FileInput fSrc = (FileInput) src; + FileObject fDest=file.resolveFile(fSrc.file.getName().getBaseName()); + System.out.println("Copying to "+fDest.getName().getURI()); + fDest.copyFrom(fSrc.file,new AllFileSelector()); + return new FileInput(fDest,base); + } else { + System.out.println("Error in FileInput.replace: Src no FileInput"); + } + } else { + System.out.println("Error in FileInput.replace: Src and Dest null"); + } + } catch (FileSystemException e) { + // TODO: handle exception + e.printStackTrace(); + } return null; } *************** *** 415,418 **** --- 459,464 ---- FileObject rightFile = null; + + //TODO: Unnecessary loop? FilePanel.getPanelMediator().getFilePanel()??? FileObject[] selectedFiles = tab.getActiveFilePanel() .getPanelMediator() *************** *** 430,435 **** if(selectedFiles.length == 1){ // Try to find a matching file in the other panel ! ! FileObject[] otherSelectedFiles = tab.getInactiveFilePanel() .getPanelMediator() .getFilePanel() --- 476,485 ---- if(selectedFiles.length == 1){ // Try to find a matching file in the other panel ! selectedFiles = tab.getLeftFilePanel() ! .getPanelMediator() ! .getFilePanel() ! .getFileControl() ! .getSelectedFiles(); ! FileObject[] otherSelectedFiles = tab.getRightFilePanel() .getPanelMediator() .getFilePanel() *************** *** 437,441 **** .getSelectedFiles(); ! if(otherSelectedFiles.length ==1) { error = false; --- 487,491 ---- .getSelectedFiles(); ! if((otherSelectedFiles.length ==1)&&(selectedFiles.length ==1)) { error = false; *************** *** 456,460 **** } ! CompareConfiguration cc = new CompareConfiguration(); cc.setLeftEditable(true); cc.setRightEditable(true); --- 506,544 ---- } ! CompareConfiguration cc = new CompareConfiguration() { ! ! /* (non-Javadoc) ! * @see org.eclipse.compare.CompareConfiguration#getRightLabel(java.lang.Object) ! */ ! @Override ! public String getRightLabel(Object element) { ! if (element!=null) { ! DiffNode diffNode = (DiffNode) element; ! if ((diffNode.getRight()!=null)&&(diffNode.getRight() instanceof FileInput)) { ! FileInput file = (FileInput) diffNode.getRight(); ! return file.file.getName().getURI(); ! } ! return super.getRightLabel(element); ! } ! else return super.getRightLabel(element); ! } ! ! /* (non-Javadoc) ! * @see org.eclipse.compare.CompareConfiguration#getLeftLabel(java.lang.Object) ! */ ! @Override ! public String getLeftLabel(Object element) { ! if (element!=null) { ! DiffNode diffNode = (DiffNode) element; ! if ((diffNode.getLeft()!=null)&&(diffNode.getLeft() instanceof FileInput)) { ! FileInput file = (FileInput) diffNode.getLeft(); ! return file.file.getName().getURI(); ! } ! return super.getLeftLabel(element); ! } ! else return super.getLeftLabel(element); ! } ! ! }; cc.setLeftEditable(true); cc.setRightEditable(true); |