Source:
public JavaClassSource decorateSource(UIExecutionContext context, Project project, JavaClassSource source) throws Exception { GenerationType idStrategyChosen = idStrategy.getValue(); if (idStrategyChosen == null) { idStrategyChosen = GenerationType.AUTO; } EntityIdType idTypeChosen = idType.getValue(); if(idTypeChosen == null){ idTypeChosen = EntityIdType.LONG_PROPERTY; } ConfigurationFacet facet = project.getFacet(ConfigurationFacet.class); Configuration config = facet.getConfiguration(); String idPropertyName = config.getString(PersistenceOperations.ID_PROPERTY_NAME_CONFIGURATION_KEY, configuration.getString(PersistenceOperations.ID_PROPERTY_NAME_CONFIGURATION_KEY, "id")); String versionPropertyName = config.getString(PersistenceOperations.VERSION_PROPERTY_NAME_CONFIGURATION_KEY, configuration.getString(PersistenceOperations.VERSION_PROPERTY_NAME_CONFIGURATION_KEY, "version")); switch(idTypeChosen){ case LONG_PROPERTY: return persistenceOperations.newEntity(source, idStrategyChosen, tableName.getValue(), idPropertyName, versionPropertyName); case EMBEDDED_ID: return persistenceOperations.newEntityEmbeddedId(source, tableName.getValue(), idPropertyName, idClass.getValue(), versionPropertyName); case ID_CLASS: throw new UnsupportedOperationException("@IdClass-ID Strategy not implemented yet."); default: throw new IllegalArgumentException("Unknow Enum value " + idTypeChosen + "!"); } }

Target:
public JavaClassSource decorateSource(UIExecutionContext context, Project project, JavaClassSource source) throws Exception { GenerationType idStrategyChosen = idStrategy.getValue(); if (idStrategyChosen == null) { idStrategyChosen = GenerationType.AUTO; } EntityIdType idTypeChosen = idType.getValue(); if (idTypeChosen == null) { idTypeChosen = EntityIdType.LONG_PROPERTY; } ConfigurationFacet facet = project.getFacet(ConfigurationFacet.class); Configuration config = facet.getConfiguration(); String idPropertyName = config.getString(PersistenceOperations.ID_PROPERTY_NAME_CONFIGURATION_KEY, configuration.getString(PersistenceOperations.ID_PROPERTY_NAME_CONFIGURATION_KEY, "id")); String versionPropertyName = config.getString(PersistenceOperations.VERSION_PROPERTY_NAME_CONFIGURATION_KEY, configuration.getString(PersistenceOperations.VERSION_PROPERTY_NAME_CONFIGURATION_KEY, "version")); switch (idTypeChosen) { case LONG_PROPERTY: return persistenceOperations.newEntity(source, idStrategyChosen, tableName.getValue(), idPropertyName, versionPropertyName); case EMBEDDED_ID: if (!getIdClass(project, idClass.getValue()).hasAnnotation(Embeddable.class)) { throw new IllegalArgumentException( "The provided ID class for @EmbeddedId is missing the @Embeddable annotation!"); } return persistenceOperations.newEntityEmbeddedId(source, tableName.getValue(), idPropertyName, idClass.getValue(), versionPropertyName); case ID_CLASS: try { return persistenceOperations.newEntityIdClass(source, tableName.getValue(), getIdClass(project, idClass.getValue()), versionPropertyName); } catch (ResourceException e) { throw new IllegalArgumentException("The provided ID class for @IdClass does not exist!", e); } default: throw new IllegalArgumentException("Unknown Enum value " + idTypeChosen + "!"); } }