@Override public int compareTo( final FileTime o ) { checkNotNull( "o", o ); final long thisVal = this.toMillis(); final long anotherVal = o.toMillis(); return ( thisVal < anotherVal ? -1 : ( thisVal == anotherVal ? 0 : 1 ) ); }
private PageResponse<SearchPageRow> buildResponse( final List<Path> pathResult, final int hits, final int pageSize, final int startRow ) { final List<SearchPageRow> result = new ArrayList<SearchPageRow>( pathResult.size() ); for ( final Path path : pathResult ) { final SearchPageRow row = new SearchPageRow( paths.convert( path, false ) ); final DublinCoreView dcoreView = ioService.getFileAttributeView( path, DublinCoreView.class ); final OtherMetaView otherMetaView = ioService.getFileAttributeView( path, OtherMetaView.class ); final VersionAttributeView versionAttributeView = ioService.getFileAttributeView( path, VersionAttributeView.class ); row.setCreator( versionAttributeView.readAttributes().history().records().size() > 0 ? versionAttributeView.readAttributes().history().records().get( 0 ).author() : "" ); row.setLastContributor( versionAttributeView.readAttributes().history().records().size() > 0 ? versionAttributeView.readAttributes().history().records().get( versionAttributeView.readAttributes().history().records().size() - 1 ).author() : "" ); row.setLastModified( new Date( versionAttributeView.readAttributes().lastModifiedTime().toMillis() ) ); row.setCreatedDate( new Date( versionAttributeView.readAttributes().creationTime().toMillis() ) ); row.setDescription( dcoreView.readAttributes().descriptions().size() > 0 ? dcoreView.readAttributes().descriptions().get( 0 ) : "" ); result.add( row ); } final PageResponse<SearchPageRow> response = new PageResponse<SearchPageRow>(); response.setTotalRowSize( hits ); response.setPageRowList( result ); response.setTotalRowSizeExact( true ); response.setStartRowIndex( startRow ); response.setLastPage( ( pageSize * startRow + 2 ) >= hits ); return response; }
@Override public Metadata getMetadata( final Path resource ) { final org.kie.commons.java.nio.file.Path path = paths.convert( resource ); final DublinCoreView dcoreView = ioService.getFileAttributeView( path, DublinCoreView.class ); final DiscussionView discussView = ioService.getFileAttributeView( path, DiscussionView.class ); final OtherMetaView otherMetaView = ioService.getFileAttributeView( path, OtherMetaView.class ); final VersionAttributeView versionAttributeView = ioService.getFileAttributeView( path, VersionAttributeView.class ); return newMetadata() .withPath( paths.convert( path.toRealPath() ) ) .withCheckinComment( versionAttributeView.readAttributes().history().records().size() > 0 ? versionAttributeView.readAttributes().history().records().get( versionAttributeView.readAttributes().history().records().size() - 1 ).comment() : null ) .withLastContributor( versionAttributeView.readAttributes().history().records().size() > 0 ? versionAttributeView.readAttributes().history().records().get( versionAttributeView.readAttributes().history().records().size() - 1 ).author() : null ) .withCreator( versionAttributeView.readAttributes().history().records().size() > 0 ? versionAttributeView.readAttributes().history().records().get( 0 ).author() : null ) .withLastModified( new Date( versionAttributeView.readAttributes().lastModifiedTime().toMillis() ) ) .withDateCreated( new Date( versionAttributeView.readAttributes().creationTime().toMillis() ) ) .withSubject( dcoreView.readAttributes().subjects().size() > 0 ? dcoreView.readAttributes().subjects().get( 0 ) : null ) .withType( dcoreView.readAttributes().types().size() > 0 ? dcoreView.readAttributes().types().get( 0 ) : null ) .withExternalRelation( dcoreView.readAttributes().relations().size() > 0 ? dcoreView.readAttributes().relations().get( 0 ) : null ) .withExternalSource( dcoreView.readAttributes().sources().size() > 0 ? dcoreView.readAttributes().sources().get( 0 ) : null ) .withDescription( dcoreView.readAttributes().descriptions().size() > 0 ? dcoreView.readAttributes().descriptions().get( 0 ) : null ) .withCategories( otherMetaView.readAttributes().categories() ) .withDiscussion( discussView.readAttributes().discussion() ) .withVersion( new ArrayList<VersionRecord>( versionAttributeView.readAttributes().history().records().size() ) {{ for ( final VersionRecord record : versionAttributeView.readAttributes().history().records() ) { add( new PortableVersionRecord( record.id(), record.author(), record.comment(), record.date(), record.uri() ) ); } }} ) .build(); }