Package org.photovault.folder

Examples of org.photovault.folder.PhotoFolder


     @return The subfolder with matching name or <code>null</code> if none found.
     If there are multiple subfolders with the matching name an arbitrary one will
     be returned.
     */
    private PhotoFolder findSubfolderByName(PhotoFolder folder, String name ) {
        PhotoFolder subfolder = null;
        for ( int n = 0; n < folder.getSubfolderCount(); n++ ) {
            PhotoFolder candidate = folder.getSubfolder( n );
            if ( name.equals( candidate.getName() ) ) {
                subfolder = candidate;
                break;
            }
        }
        return subfolder;
View Full Code Here


        }
        // Check that the folders have the correct photos
        PhotoInfo[] photosInTopFolder = { p1, p2 };
        assertFolderHasPhotos( topFolder, photosInTopFolder );

        PhotoFolder subFolder = topFolder.getSubfolder( 0 );
        assertEquals( "Subfolder name not correct", "test", subFolder.getName() );
        PhotoInfo[] photosInSubFolder = { p2 };
        assertFolderHasPhotos( subFolder, photosInSubFolder );  
       
        // Check that the listener was called correctly
        assertEquals( "Wrong photo count in listener", 2, l.photoCount );
        assertEquals( "Wrong photo count in indexer statistics", 2, indexer.getNewPhotoCount() );
        assertEquals( "Wrong instance count in listener", 3, l.instanceCount );
        assertEquals( "Wrong instance count in indexer statistics", 3, indexer.getNewInstanceCount() );
       
        assertEquals( "Indexing complete 100%", 100, indexer.getPercentComplete() );
        assertNotNull( "StartTime still null", indexer.getStartTime() );

        if ( ODMG.getODMGImplementation().currentTransaction() != null ) {
            fail( "Still in transaction" );
        }
           
        // Next, let's make some modifications to the external volume
        try {
            // New file
            File testfile3 = new File( "testfiles", "test3.jpg" );
            File f3 = new File( extVolDir, "test3.jpg");
            FileUtils.copyFile( testfile3, f3 );
           
            // Replace the test1 file with test3
            File f1 = new File ( extVolDir, "test1.jpg" );
            FileUtils.copyFile( testfile3, f1 );
           
            // Remove 1 copy of test2
            File f2 = new File( extVolDir, "test2.jpg" );
            f2.delete();
        } catch (IOException ex) {
            fail( "IOException while altering external volume: " + ex.getMessage() );
        }
       
        indexer = new ExtVolIndexer( v );
        indexer.setTopFolder( topFolder );
        l = new TestListener();
        indexer.addIndexerListener( l );
   
        assertEquals( "Indexing not started -> completeness must be 0",
                0, indexer.getPercentComplete() );
        assertNull( "StartTime must be null before starting", indexer.getStartTime() );
        indexer.run();

        // Check that the folders have the correct photos

        PhotoInfo[] photos3 = PhotoInfo.retrieveByOrigHash( hash3 );
        assertEquals( "1 photo per picture should be found", 1, photos3.length );
        PhotoInfo p3 = photos3[0];       
        PhotoInfo photosInTopFolder2[] = { p3 };
        assertFolderHasPhotos( topFolder, photosInTopFolder2 );
        assertEquals( "More than 1 subfolder in topFolder", 1, topFolder.getSubfolderCount() );
        subFolder = topFolder.getSubfolder( 0 );
        assertEquals( "Subfolder name not correct", "test", subFolder.getName() );
        PhotoInfo[] photosInSubFolder2 = { p2 };
        assertFolderHasPhotos( subFolder, photosInSubFolder2 );  
        Collection p2folders = p2.getFolders();
        assertFalse( "p2 must not be in topFolder", p2folders.contains( topFolder ) );
    }
View Full Code Here

        initComponents();
        folderTree = new PhotoFolderTree();
        folderTree.setPreferredSize( folderTreePane.getSize() );
        folderTreePane.setLayout( new BorderLayout() );       
        folderTreePane.add( folderTree, BorderLayout.CENTER );
        PhotoFolder root = PhotoFolder.getRoot();
        folderTree.setSelected( root );       
    }
View Full Code Here

     created for external volue folder hierarchy:
     @return The parent folder of <code>null</code> if user has selected that
     no folder hierarchy should be created.
     */
    public PhotoFolder getExtvolParentFolder() {
        PhotoFolder folder = null;
        if ( this.jCheckBox1.isSelected() ) {
            folder = folderTree.getSelected();
        }
        return folder;
    }
View Full Code Here

    }

    /** returns the selected folder or null if none selected
     */
    PhotoFolder getSelectedFolder() {
  PhotoFolder selected = null;
  TreePath path = folderTree.getSelectionPath();
  if ( path != null ) {
      FolderNode treeNode =
    (FolderNode) path.getLastPathComponent();
            selected = treeNode.getFolder();
View Full Code Here

    /**
     * Add all photos in the model to currently selected folder.
     */
    protected void addAllToSelectedFolder() {
  PhotoFolder selected = getSelectedFolder();
  if ( selected != null ) {
      ctrl.addAllToFolder( selected );
  }
    }
View Full Code Here

    /**
     * Remove all photos in current model from the selected folder.
     */
    protected void removeAllFromSelectedFolder() {
  PhotoFolder selected = getSelectedFolder();
  if ( selected != null ) {
      ctrl.removeAllFromFolder( selected );
  }
    }
View Full Code Here

      PhotoCollection collection = view.getCollection();
      if ( collection instanceof PhotoFolder ) {
    log.warn( "importing" );
    // Photos were dropped to a folder so we can insert them
    PhotoFolder folder = (PhotoFolder) collection;
                lastImportTarget = folder;
    try {
        PhotoInfo[] photos = (PhotoInfo[])t.getTransferData(photoInfoFlavor);
        for ( int n = 0; n < photos.length; n++ ) {
      folder.addPhoto( photos[n] );
        }
        return true;
    } catch (UnsupportedFlavorException ufe) {
        log.warn("importData: unsupported data flavor");
    } catch (IOException ioe) {
View Full Code Here

        PhotoCollection collection = view.getCollection();
       
        // Find out into which collection this transfer was done
       
        if ( (collection != lastImportTarget) && (action == MOVE) && collection instanceof PhotoFolder ) {
      PhotoFolder folder = (PhotoFolder) collection;
      for ( int i = 0; i < sourcePhotos.length; i++ ) {
    folder.removePhoto( sourcePhotos[i] );
      }
        }
        lastImportTarget = null;
    }
View Full Code Here

TOP

Related Classes of org.photovault.folder.PhotoFolder

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.