@Override public String getKey() { return String.format("%s%s", KEY_PREFIX, getId()); }
@Override protected Relationship doCreateIdentityType(Object identity, JPAIdentityStore store) { String name = store.getModelProperty(String.class, identity, PROPERTY_IDENTITY_NAME); Object relatesToInstance = store.getModelProperty(Object.class, identity, PROPERTY_IDENTITY_RELATES_TO); String relatesToDiscriminator = store.getConfig().getModelProperty(PROPERTY_IDENTITY_DISCRIMINATOR).getValue(relatesToInstance) .toString(); IdentityTypeHandler<? extends IdentityType> relatesToIdentityTypeManager = store.getConfig().getIdentityTypeManager(relatesToDiscriminator); IdentityType relatesToType = relatesToIdentityTypeManager.createIdentityType(null, relatesToInstance, store); Object relatedToInstance = store.getModelProperty(Object.class, identity, PROPERTY_IDENTITY_RELATED_TO); String relatedToDiscriminator = store.getConfig().getModelProperty(PROPERTY_IDENTITY_DISCRIMINATOR).getValue(relatesToInstance) .toString(); IdentityTypeHandler<? extends IdentityType> relatedToTypeManager = store.getConfig().getIdentityTypeManager(relatedToDiscriminator); IdentityType relatedToType = relatedToTypeManager.createIdentityType(null, relatedToInstance, store); SimpleRelationship relationship = new SimpleRelationship(name); relationship.setFrom(relatedToType); relationship.setTo(relatesToType); return relationship; }
Relationship authorized = new SimpleRelationship("authorized");