/** * Returns a list of internal identifiers for the given collection of IdentifiableObjects. * * @param objects the list of IdentifiableObjects. * @return a list of identifiers. */ public static <T extends IdentifiableObject> List<Integer> getIdentifiers( Collection<T> objects ) { return objects != null ? objects.stream().map( o -> o.getId() ).collect( Collectors.toList() ) : null; }
/** * Returns a map from internal identifiers to IdentifiableObjects, * for the given collection of IdentifiableObjects. * * @param objects the collection of IdentifiableObjects * @return a map from the object internal identifiers to the objects */ public static <T extends IdentifiableObject> Map<Integer, T> getIdentifierMap( Collection<T> objects ) { Map<Integer, T> map = new HashMap<>(); for ( T object : objects ) { map.put( object.getId(), object ); } return map; }
public boolean isPersisted( IdentifiableObject object ) { IdentifiableObject cachedObject = preheat.get( preheatIdentifier, object ); return !(cachedObject == null || cachedObject.getId() == 0); } }
public BaseIdentifiableObject( IdentifiableObject identifiableObject ) { this.id = identifiableObject.getId(); this.uid = identifiableObject.getUid(); this.name = identifiableObject.getName(); this.created = identifiableObject.getCreated(); this.lastUpdated = identifiableObject.getLastUpdated(); }
private TypeReport validateForCreate( Class<? extends IdentifiableObject> klass, List<IdentifiableObject> objects, ObjectBundle bundle ) { TypeReport typeReport = new TypeReport( klass ); if ( objects == null || objects.isEmpty() ) { return typeReport; } Iterator<IdentifiableObject> iterator = objects.iterator(); int idx = 0; while ( iterator.hasNext() ) { IdentifiableObject identifiableObject = iterator.next(); IdentifiableObject object = bundle.getPreheat().get( bundle.getPreheatIdentifier(), identifiableObject ); if ( object != null && object.getId() > 0 ) { ObjectReport objectReport = new ObjectReport( klass, idx, object.getUid() ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReport( new ErrorReport( klass, ErrorCode.E5000, bundle.getPreheatIdentifier(), bundle.getPreheatIdentifier().getIdentifiersWithName( identifiableObject ) ).setMainId( identifiableObject.getUid() ) ); typeReport.addObjectReport( objectReport ); typeReport.getStats().incIgnored(); iterator.remove(); } idx++; } return typeReport; }
private TypeReport validateForDelete( Class<? extends IdentifiableObject> klass, List<IdentifiableObject> objects, ObjectBundle bundle ) { TypeReport typeReport = new TypeReport( klass ); if ( objects == null || objects.isEmpty() ) { return typeReport; } Iterator<IdentifiableObject> iterator = objects.iterator(); int idx = 0; while ( iterator.hasNext() ) { IdentifiableObject identifiableObject = iterator.next(); IdentifiableObject object = bundle.getPreheat().get( bundle.getPreheatIdentifier(), identifiableObject ); if ( object == null || object.getId() == 0 ) { ObjectReport objectReport = new ObjectReport( klass, idx, object != null ? object.getUid() : null ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReport( new ErrorReport( klass, ErrorCode.E5001, bundle.getPreheatIdentifier(), bundle.getPreheatIdentifier().getIdentifiersWithName( identifiableObject ) ).setMainId( object != null ? object.getUid() : null ) ); typeReport.addObjectReport( objectReport ); typeReport.getStats().incIgnored(); iterator.remove(); } idx++; } return typeReport; }
private TypeReport validateForUpdate( Class<? extends IdentifiableObject> klass, List<IdentifiableObject> objects, ObjectBundle bundle ) { TypeReport typeReport = new TypeReport( klass ); if ( objects == null || objects.isEmpty() ) { return typeReport; } Iterator<IdentifiableObject> iterator = objects.iterator(); int idx = 0; while ( iterator.hasNext() ) { IdentifiableObject identifiableObject = iterator.next(); IdentifiableObject object = bundle.getPreheat().get( bundle.getPreheatIdentifier(), identifiableObject ); if ( object == null || object.getId() == 0 ) { ObjectReport objectReport = new ObjectReport( klass, idx, object != null ? object.getUid() : null ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReport( new ErrorReport( klass, ErrorCode.E5001, bundle.getPreheatIdentifier(), bundle.getPreheatIdentifier().getIdentifiersWithName( identifiableObject ) ) .setErrorProperty( "id" ) .setMainId( identifiableObject.getUid() ) ); typeReport.addObjectReport( objectReport ); typeReport.getStats().incIgnored(); iterator.remove(); } idx++; } return typeReport; }