public static <T extends BaseIdentifiableObject> void copySharing( T source, T target ) { target.setPublicAccess( source.getPublicAccess() ); target.setExternalAccess( source.getExternalAccess() ); source.getUserAccesses().forEach( ua -> target.getUserAccesses().add( new UserAccess( ua.getUser(), ua.getAccess() ) ) ); source.getUserGroupAccesses().forEach( uga -> target.getUserGroupAccesses().add( new UserGroupAccess( uga.getUserGroup(), uga.getAccess() ) ) ); } }
@Override public void setAutoFields() { super.setAutoFields(); if ( createdAtClient == null ) { createdAtClient = created; } lastUpdatedAtClient = lastUpdated; }
/** * Set auto-generated fields on save or update */ public void setAutoFields() { if ( uid == null || uid.length() == 0 ) { setUid( CodeGenerator.generateUid() ); } Date date = new Date(); if ( created == null ) { created = date; } setLastUpdated( date ); }
@Override public String toString() { return "{" + "\"class\":\"" + getClass() + "\", " + "\"id\":\"" + getId() + "\", " + "\"uid\":\"" + getUid() + "\", " + "\"code\":\"" + getCode() + "\", " + "\"name\":\"" + getName() + "\", " + "\"created\":\"" + getCreated() + "\", " + "\"lastUpdated\":\"" + getLastUpdated() + "\" " + "}"; } }
@Override @JsonProperty @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public String getDisplayName() { displayName = getTranslation( TranslationProperty.NAME, displayName ); return displayName != null ? displayName : getName(); }
object.setAutoFields(); identifiableObject.setAutoFields(); identifiableObject.setLastUpdatedBy( user ); identifiableObject.setPublicAccess( AccessStringHelper.DEFAULT ); if ( identifiableObject.getUserGroupAccesses() != null ) identifiableObject.getUserGroupAccesses().clear(); if ( identifiableObject.getUserAccesses() != null ) identifiableObject.getUserAccesses().clear(); if ( identifiableObject.getUser() == null ) identifiableObject.setUser( user ); identifiableObject.setPublicAccess( AccessStringHelper.READ_WRITE ); identifiableObject.setPublicAccess( AccessStringHelper.newInstance().build() ); throw new CreateAccessDeniedException( object.toString() );
private void prepareObject( BaseIdentifiableObject object, ObjectBundle bundle, ObjectBundleParams params ) { if ( StringUtils.isEmpty( object.getPublicAccess() ) ) { aclService.resetSharing( object, bundle.getUser() ); } if ( object.getUser() == null || bundle.getPreheat().get( params.getPreheatIdentifier(), User.class, object.getUser().getUid() ) == null ) { object.setUser( bundle.getUser() ); } if ( object.getUserAccesses() == null ) { object.setUserAccesses( new HashSet<>() ); } if ( object.getUserGroupAccesses() == null ) { object.setUserGroupAccesses( new HashSet<>() ); } object.setLastUpdatedBy( bundle.getUser() ); } }
@Override public void update( T object, User user ) { String username = user != null ? user.getUsername() : "system-process"; if ( IdentifiableObject.class.isInstance( object ) ) { object.setAutoFields(); BaseIdentifiableObject identifiableObject = object; identifiableObject.setAutoFields(); identifiableObject.setLastUpdatedBy( user ); if ( identifiableObject.getUser() == null ) { identifiableObject.setUser( user ); } } if ( !isUpdateAllowed( object, user ) ) { AuditLogUtil.infoWrapper( log, username, object, AuditLogUtil.ACTION_UPDATE_DENIED ); throw new UpdateAccessDeniedException( object.toString() ); } AuditLogUtil.infoWrapper( log, username, object, AuditLogUtil.ACTION_UPDATE ); if ( object != null ) { getSession().update( object ); } if ( MetadataObject.class.isInstance( object ) ) { deletedObjectService.deleteDeletedObjects( new DeletedObjectQuery( object ) ); } }
@Override public <T extends IdentifiableObject> void clearSharing( T object, User user ) { if ( object == null || !isShareable( object.getClass() ) || user == null ) { return; } BaseIdentifiableObject baseIdentifiableObject = (BaseIdentifiableObject) object; baseIdentifiableObject.setUser( user ); baseIdentifiableObject.setPublicAccess( AccessStringHelper.DEFAULT ); baseIdentifiableObject.setExternalAccess( false ); object.getUserAccesses().clear(); object.getUserGroupAccesses().clear(); }
@Override public void preCreate( IdentifiableObject identifiableObject, ObjectBundle bundle ) { ( ( BaseIdentifiableObject ) identifiableObject ).setAutoFields(); BaseIdentifiableObject identifableObject = ( BaseIdentifiableObject ) identifiableObject; identifableObject.setAutoFields(); identifableObject.setLastUpdatedBy( bundle.getUser() ); Schema schema = schemaService.getDynamicSchema( identifiableObject.getClass() ); handleAttributeValues( identifiableObject, bundle, schema ); }
/** * Sets the name, uid and code properties on the given object. * * @param object the object to set identifiable properties. * @param values the array of property values. */ private static void setIdentifiableObject( BaseIdentifiableObject object, String[] values ) { object.setName( getSafe( values, 0, null, 230 ) ); object.setUid( getSafe( values, 1, CodeGenerator.generateUid(), 11 ) ); object.setCode( getSafe( values, 2, null, 50 ) ); }
((BaseIdentifiableObject) object).setUser( bundle.getOverrideUser() );
.forEach( identifiableObject -> ((BaseIdentifiableObject) identifiableObject).setUid( CodeGenerator.generateUid() ) );
@JsonProperty @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 ) public String getName() { return super.getName(); }
@Override @JsonProperty @JacksonXmlProperty( isAttribute = true ) @Property( PropertyType.TEXT ) public String getCode() { return super.getCode(); }
@Override public <T extends IdentifiableObject> void resetSharing( T object, User user ) { if ( object == null || !isShareable( object.getClass() ) || user == null ) { return; } BaseIdentifiableObject baseIdentifiableObject = (BaseIdentifiableObject) object; baseIdentifiableObject.setPublicAccess( AccessStringHelper.DEFAULT ); baseIdentifiableObject.setExternalAccess( false ); if ( object.getUser() == null ) { baseIdentifiableObject.setUser( user ); } if ( canMakePublic( user, object.getClass() ) ) { if ( defaultPublic( object.getClass() ) ) { baseIdentifiableObject.setPublicAccess( AccessStringHelper.READ_WRITE ); } } object.getUserAccesses().clear(); object.getUserGroupAccesses().clear(); }
@Override public void preUpdate( IdentifiableObject object, IdentifiableObject persistedObject, ObjectBundle bundle ) { BaseIdentifiableObject identifiableObject = (BaseIdentifiableObject) object; identifiableObject.setAutoFields(); identifiableObject.setLastUpdatedBy( bundle.getUser() ); Schema schema = schemaService.getDynamicSchema( object.getClass() ); handleAttributeValues( object, bundle, schema ); }
((BaseIdentifiableObject) persistedObject).setUser( bundle.getOverrideUser() );