private TypeReport runValidationHooks( 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 object = iterator.next(); List<ErrorReport> errorReports = new ArrayList<>(); objectBundleHooks.forEach( hook -> errorReports.addAll( hook.validate( object, bundle ) ) ); if ( !errorReports.isEmpty() ) { ObjectReport objectReport = new ObjectReport( klass, idx, object.getUid() ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReports( errorReports ); typeReport.addObjectReport( objectReport ); typeReport.getStats().incIgnored(); iterator.remove(); continue; } idx++; } return typeReport; }
private TypeReport checkMandatoryAttributes( Class<? extends IdentifiableObject> klass, List<IdentifiableObject> objects, Preheat preheat, PreheatIdentifier identifier ) { TypeReport typeReport = new TypeReport( klass ); Schema schema = schemaService.getDynamicSchema( klass ); if ( objects.isEmpty() || !schema.havePersistedProperty( "attributeValues" ) ) { return typeReport; } Iterator<IdentifiableObject> iterator = objects.iterator(); int idx = 0; while ( iterator.hasNext() ) { IdentifiableObject object = iterator.next(); List<ErrorReport> errorReports = checkMandatoryAttributes( klass, object, preheat, identifier ); if ( !errorReports.isEmpty() ) { ObjectReport objectReport = new ObjectReport( object.getClass(), idx ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReports( errorReports ); typeReport.addObjectReport( objectReport ); typeReport.getStats().incIgnored(); iterator.remove(); } idx++; } return typeReport; }
private TypeReport checkUniqueAttributes( Class<? extends IdentifiableObject> klass, List<IdentifiableObject> objects, Preheat preheat, PreheatIdentifier identifier ) { TypeReport typeReport = new TypeReport( klass ); Schema schema = schemaService.getDynamicSchema( klass ); if ( objects.isEmpty() || !schema.havePersistedProperty( "attributeValues" ) ) { return typeReport; } Iterator<IdentifiableObject> iterator = objects.iterator(); int idx = 0; while ( iterator.hasNext() ) { IdentifiableObject object = iterator.next(); List<ErrorReport> errorReports = checkUniqueAttributes( klass, object, preheat, identifier ); if ( !errorReports.isEmpty() ) { ObjectReport objectReport = new ObjectReport( object.getClass(), idx ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReports( errorReports ); typeReport.addObjectReport( objectReport ); typeReport.getStats().incIgnored(); iterator.remove(); } idx++; } return typeReport; }
private TypeReport validateBySchemas( 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 object = iterator.next(); List<ErrorReport> validationErrorReports = schemaValidator.validate( object ); if ( !validationErrorReports.isEmpty() ) { ObjectReport objectReport = new ObjectReport( klass, idx, object.getUid() ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReports( validationErrorReports ); typeReport.addObjectReport( objectReport ); typeReport.getStats().incIgnored(); iterator.remove(); } idx++; } return typeReport; }
objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReports( errorReports ); typeReport.addObjectReport( objectReport );
objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReport( errorReport ); typeReport.addObjectReport( objectReport ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReport( errorReport ); typeReport.addObjectReport( objectReport );
errorReports.add( new ErrorReport( Attribute.class, ErrorCode.E4009, IdentifiableObjectUtils.getDisplayName( attribute ), attributeValue.getValue() ).setMainId( attribute.getUid() ).setErrorProperty( "value" ) );
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 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 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; }
objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); typeReport.addObjectReport( objectReport );
objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReport( new ErrorReport( klass, ErrorCode.E3000, identifier.getIdentifiersWithName( bundle.getUser() ), identifier.getIdentifiersWithName( object ) ) ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReport( new ErrorReport( klass, ErrorCode.E3001, identifier.getIdentifiersWithName( bundle.getUser() ), identifier.getIdentifiersWithName( object ) ) ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReport( new ErrorReport( klass, ErrorCode.E3002, identifier.getIdentifiersWithName( bundle.getUser() ), identifier.getIdentifiersWithName( object ) ) ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReports( errorReports ); objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); objectReport.addErrorReports( sharingErrorReports );
objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); typeReport.addObjectReport( objectReport );
objectReport.setDisplayName( IdentifiableObjectUtils.getDisplayName( object ) ); typeReport.addObjectReport( objectReport );