in src/main/java/org/apache/cayenne/modeler/adapters/DataMapAdapter.java [63:108]
public DataMapAdapter(final DataMap dataMap)
{
// Must be assigned before property binding.
this.dataMap = dataMap;
try
{
nameProperty = bindString(DATA_MAP_NAME);
// locationProperty = JavaBeanStringPropertyBuilder.create().bean(dataMap).name("map").build();
// TODO: Fix Cayenne? The DEFAULT_QUOTE_SQL_IDENTIFIERS_PROPERTY constant is incorrect.
quoteSQLIdentifiersProperty = bindBoolean(QUOTE_SQL_IDENTIFIERS);
defaultCatalogProperty = bindString(DataMap.DEFAULT_CATALOG_PROPERTY);
defaultSchemaProperty = bindString(DataMap.DEFAULT_SCHEMA_PROPERTY);
defaultPackageProperty = bindString(DataMap.DEFAULT_PACKAGE_PROPERTY);
defaultSuperclassProperty = bindString(DataMap.DEFAULT_SUPERCLASS_PROPERTY);
defaultLockTypeProperty = bindInteger(DataMap.DEFAULT_LOCK_TYPE_PROPERTY);
clientSupportedProperty = bindBoolean(DataMap.CLIENT_SUPPORTED_PROPERTY);
defaultClientPackageProperty = bindString(DataMap.DEFAULT_CLIENT_PACKAGE_PROPERTY);
defaultClientSuperclassProperty = bindString(DataMap.DEFAULT_CLIENT_SUPERCLASS_PROPERTY);
}
catch (final NoSuchMethodException e)
{
throw new RuntimeException("Fix the builder.", e);
}
// Create ObjectEntityAdapters for all object entities.
dataMap.getObjEntities().stream().forEach(objEntity -> objectEntityAdapters.add(new ObjectEntityAdapter(objEntity)));
objectEntityAdapters.stream().forEach(objectEntityAdapter -> objectEntityAdapter.setDataMapAdapter(this));
// Sort the ObjectEntityAdapters (by their name).
sortObjectEntities();
// Add change listeners for all ObjectEntityAdapter name changes and automatically re-sort.
objectEntityAdapters.stream().forEach(objectEntityAdapter ->
objectEntityAdapter.nameProperty().addListener((observable, oldValue, newValue) -> sortObjectEntities()));
// Create DatabaseEntityAdapters for all database entities.
dataMap.getDbEntities().stream().forEach(dbEntity -> databaseEntityAdapters.add(new DatabaseEntityAdapter(dbEntity)));
databaseEntityAdapters.stream().forEach(databaseEntityAdapter -> databaseEntityAdapter.setDataMapAdapter(this));
}