You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by mg...@apache.org on 2017/01/05 22:09:44 UTC
[36/50] cayenne-modeler git commit: More property adapter refactoring.
More property adapter refactoring.
Project: http://git-wip-us.apache.org/repos/asf/cayenne-modeler/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne-modeler/commit/fc890cef
Tree: http://git-wip-us.apache.org/repos/asf/cayenne-modeler/tree/fc890cef
Diff: http://git-wip-us.apache.org/repos/asf/cayenne-modeler/diff/fc890cef
Branch: refs/heads/master
Commit: fc890cef6a34c8db0aa27e8415bcfc4e91ef87a0
Parents: cacc34e
Author: mrg <bl...@gmail.com>
Authored: Sun Oct 9 12:05:24 2016 -0400
Committer: mrg <bl...@gmail.com>
Committed: Sun Oct 9 12:05:24 2016 -0400
----------------------------------------------------------------------
.../modeler/adapters/AdapterSupport.java | 1 +
.../adapters/CayennePropertyAdapter.java | 14 +++++-----
.../modeler/adapters/DataDomainAdapter.java | 17 ++++++++----
.../modeler/adapters/DataMapAdapter.java | 27 ++++++++++++--------
.../modeler/adapters/DataNodeAdapter.java | 9 ++++++-
.../modeler/adapters/DatabaseEntityAdapter.java | 9 ++++++-
.../adapters/ObjectAttributeAdapter.java | 15 ++++++++---
.../modeler/adapters/ObjectEntityAdapter.java | 11 ++++++--
8 files changed, 74 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/fc890cef/src/main/java/org/apache/cayenne/modeler/adapters/AdapterSupport.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/adapters/AdapterSupport.java b/src/main/java/org/apache/cayenne/modeler/adapters/AdapterSupport.java
index 04fdfb6..53f228f 100644
--- a/src/main/java/org/apache/cayenne/modeler/adapters/AdapterSupport.java
+++ b/src/main/java/org/apache/cayenne/modeler/adapters/AdapterSupport.java
@@ -19,6 +19,7 @@
package org.apache.cayenne.modeler.adapters;
+@Deprecated // Don't think this is needed anymore.
public interface AdapterSupport<T>
{
// public BeanPathAdapter<T> getBeanPathAdapter();
http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/fc890cef/src/main/java/org/apache/cayenne/modeler/adapters/CayennePropertyAdapter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/adapters/CayennePropertyAdapter.java b/src/main/java/org/apache/cayenne/modeler/adapters/CayennePropertyAdapter.java
index edbf6d2..6d57759 100644
--- a/src/main/java/org/apache/cayenne/modeler/adapters/CayennePropertyAdapter.java
+++ b/src/main/java/org/apache/cayenne/modeler/adapters/CayennePropertyAdapter.java
@@ -28,18 +28,20 @@ import javafx.beans.property.adapter.JavaBeanStringPropertyBuilder;
public abstract class CayennePropertyAdapter
{
- public static BooleanProperty bindBoolean(Object bean, String property) throws NoSuchMethodException
+ public BooleanProperty bindBoolean(String property) throws NoSuchMethodException
{
- return JavaBeanBooleanPropertyBuilder.create().bean(bean).name(property).build();
+ return JavaBeanBooleanPropertyBuilder.create().bean(getWrappedObject()).name(property).build();
}
- public static IntegerProperty bindInteger(Object bean, String property) throws NoSuchMethodException
+ public IntegerProperty bindInteger(String property) throws NoSuchMethodException
{
- return JavaBeanIntegerPropertyBuilder.create().bean(bean).name(property).build();
+ return JavaBeanIntegerPropertyBuilder.create().bean(getWrappedObject()).name(property).build();
}
- public static StringProperty bindString(Object bean, String property) throws NoSuchMethodException
+ public StringProperty bindString(String property) throws NoSuchMethodException
{
- return JavaBeanStringPropertyBuilder.create().bean(bean).name(property).build();
+ return JavaBeanStringPropertyBuilder.create().bean(getWrappedObject()).name(property).build();
}
+
+ public abstract Object getWrappedObject();
}
http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/fc890cef/src/main/java/org/apache/cayenne/modeler/adapters/DataDomainAdapter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/adapters/DataDomainAdapter.java b/src/main/java/org/apache/cayenne/modeler/adapters/DataDomainAdapter.java
index e83efeb..26e3db0 100644
--- a/src/main/java/org/apache/cayenne/modeler/adapters/DataDomainAdapter.java
+++ b/src/main/java/org/apache/cayenne/modeler/adapters/DataDomainAdapter.java
@@ -50,6 +50,7 @@ public class DataDomainAdapter extends CayennePropertyAdapter // implements Adap
public DataDomainAdapter(final CayenneProject cayenneProject)
{
+ // Must be assigned before property binding.
this.cayenneProject = cayenneProject;
cayenneProject.getDataMaps().stream().forEach(dataMap -> dataMapAdapters.add(new DataMapAdapter(dataMap)));
@@ -57,11 +58,11 @@ public class DataDomainAdapter extends CayennePropertyAdapter // implements Adap
try
{
- nameProperty = bindString(cayenneProject, DATA_DOMAIN_NAME);
- validatingObjectsProperty = bindBoolean(cayenneProject, VALIDATING_OBJECTS);
- sizeOfObjectCacheProperty = bindInteger(cayenneProject, OBJECT_CACHE_SIZE);
- useSharedCacheProperty = bindBoolean(cayenneProject, USE_SHARED_CACHE);
- remoteChangeNotificationsProperty = bindBoolean(cayenneProject, REMOTE_CHANGE_NOTIFICATIONS);
+ nameProperty = bindString(DATA_DOMAIN_NAME);
+ validatingObjectsProperty = bindBoolean(VALIDATING_OBJECTS);
+ sizeOfObjectCacheProperty = bindInteger(OBJECT_CACHE_SIZE);
+ useSharedCacheProperty = bindBoolean(USE_SHARED_CACHE);
+ remoteChangeNotificationsProperty = bindBoolean(REMOTE_CHANGE_NOTIFICATIONS);
}
catch (final NoSuchMethodException e)
{
@@ -98,4 +99,10 @@ public class DataDomainAdapter extends CayennePropertyAdapter // implements Adap
{
return dataNodeAdapters;
}
+
+ @Override
+ public Object getWrappedObject()
+ {
+ return cayenneProject;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/fc890cef/src/main/java/org/apache/cayenne/modeler/adapters/DataMapAdapter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/adapters/DataMapAdapter.java b/src/main/java/org/apache/cayenne/modeler/adapters/DataMapAdapter.java
index dc9d8d9..f5cfbe3 100644
--- a/src/main/java/org/apache/cayenne/modeler/adapters/DataMapAdapter.java
+++ b/src/main/java/org/apache/cayenne/modeler/adapters/DataMapAdapter.java
@@ -56,26 +56,27 @@ public class DataMapAdapter extends CayennePropertyAdapter // implements Adapter
public DataMapAdapter(final DataMap dataMap)
{
+ // Must be assigned before property binding.
this.dataMap = dataMap;
try
{
- nameProperty = bindString(dataMap, "name");
+ nameProperty = bindString("name");
// locationProperty = JavaBeanStringPropertyBuilder.create().bean(dataMap).name("map").build();
// TODO: Fix Cayenne? The DEFAULT_QUOTE_SQL_IDENTIFIERS_PROPERTY constant is incorrect.
- quoteSQLIdentifiersProperty = bindBoolean(dataMap, "quotingSQLIdentifiers");
+ quoteSQLIdentifiersProperty = bindBoolean("quotingSQLIdentifiers");
- defaultCatalogProperty = bindString(dataMap, DataMap.DEFAULT_CATALOG_PROPERTY);
- defaultSchemaProperty = bindString(dataMap, DataMap.DEFAULT_SCHEMA_PROPERTY);
- defaultPackageProperty = bindString(dataMap, DataMap.DEFAULT_PACKAGE_PROPERTY);
+ defaultCatalogProperty = bindString(DataMap.DEFAULT_CATALOG_PROPERTY);
+ defaultSchemaProperty = bindString(DataMap.DEFAULT_SCHEMA_PROPERTY);
+ defaultPackageProperty = bindString(DataMap.DEFAULT_PACKAGE_PROPERTY);
- defaultSuperclassProperty = bindString(dataMap, DataMap.DEFAULT_SUPERCLASS_PROPERTY);
- defaultLockTypeProperty = bindInteger(dataMap, DataMap.DEFAULT_LOCK_TYPE_PROPERTY);
+ defaultSuperclassProperty = bindString(DataMap.DEFAULT_SUPERCLASS_PROPERTY);
+ defaultLockTypeProperty = bindInteger(DataMap.DEFAULT_LOCK_TYPE_PROPERTY);
- clientSupportedProperty = bindBoolean(dataMap, DataMap.CLIENT_SUPPORTED_PROPERTY);
- defaultClientPackageProperty = bindString(dataMap, DataMap.DEFAULT_CLIENT_PACKAGE_PROPERTY);
- defaultClientSuperclassProperty = bindString(dataMap, DataMap.DEFAULT_CLIENT_SUPERCLASS_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)
{
@@ -157,4 +158,10 @@ public class DataMapAdapter extends CayennePropertyAdapter // implements Adapter
return ObjectUtils.compare(entity1.nameProperty().get(), entity2.nameProperty().get());
});
}
+
+ @Override
+ public Object getWrappedObject()
+ {
+ return dataMap;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/fc890cef/src/main/java/org/apache/cayenne/modeler/adapters/DataNodeAdapter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/adapters/DataNodeAdapter.java b/src/main/java/org/apache/cayenne/modeler/adapters/DataNodeAdapter.java
index 7a667f6..c1ca8fe 100644
--- a/src/main/java/org/apache/cayenne/modeler/adapters/DataNodeAdapter.java
+++ b/src/main/java/org/apache/cayenne/modeler/adapters/DataNodeAdapter.java
@@ -35,11 +35,12 @@ public class DataNodeAdapter extends CayennePropertyAdapter
public DataNodeAdapter(final DataNodeDescriptor dataNode)
{
+ // Must be assigned before property binding.
this.dataNode = dataNode;
try
{
- nameProperty = bindString(dataNode, "name");
+ nameProperty = bindString("name");
// dataSourceLocationProperty = JavaBeanStringPropertyBuilder.create().bean(dataNode).name("dataSourceLocation").build();
// dataSourceFactoryProperty = JavaBeanStringPropertyBuilder.create().bean(dataNode).name("dataSourceFactory").build();
// schemaUpdateStrategyNameProperty = JavaBeanStringPropertyBuilder.create().bean(dataNode).name("schemaUpdateStrategyName").build();
@@ -53,4 +54,10 @@ public class DataNodeAdapter extends CayennePropertyAdapter
public StringProperty nameProperty() { return nameProperty; }
public String getName() { return nameProperty.get(); }
public void setName(final String value) { nameProperty.set(value); }
+
+ @Override
+ public Object getWrappedObject()
+ {
+ return dataNode;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/fc890cef/src/main/java/org/apache/cayenne/modeler/adapters/DatabaseEntityAdapter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/adapters/DatabaseEntityAdapter.java b/src/main/java/org/apache/cayenne/modeler/adapters/DatabaseEntityAdapter.java
index bc1fbad..3e741f1 100644
--- a/src/main/java/org/apache/cayenne/modeler/adapters/DatabaseEntityAdapter.java
+++ b/src/main/java/org/apache/cayenne/modeler/adapters/DatabaseEntityAdapter.java
@@ -54,11 +54,12 @@ public class DatabaseEntityAdapter extends CayennePropertyAdapter // implements
public DatabaseEntityAdapter(final DbEntity databaseEntity)
{
+ // Must be assigned before property binding.
this.databaseEntity = databaseEntity;
try
{
- nameProperty = bindString(databaseEntity, "name");
+ nameProperty = bindString("name");
}
catch (final NoSuchMethodException e)
{
@@ -73,4 +74,10 @@ public class DatabaseEntityAdapter extends CayennePropertyAdapter // implements
public StringProperty locationProperty() { return locationProperty; }
public String getLocationProperty() { return locationProperty.get(); }
public void setLocationProperty(final String value) { locationProperty.set(value); }
+
+ @Override
+ public Object getWrappedObject()
+ {
+ return databaseEntity;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/fc890cef/src/main/java/org/apache/cayenne/modeler/adapters/ObjectAttributeAdapter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/adapters/ObjectAttributeAdapter.java b/src/main/java/org/apache/cayenne/modeler/adapters/ObjectAttributeAdapter.java
index d2b756e..bc2087e 100644
--- a/src/main/java/org/apache/cayenne/modeler/adapters/ObjectAttributeAdapter.java
+++ b/src/main/java/org/apache/cayenne/modeler/adapters/ObjectAttributeAdapter.java
@@ -51,14 +51,15 @@ public class ObjectAttributeAdapter extends CayennePropertyAdapter // implements
public ObjectAttributeAdapter(final ObjAttribute objectAttribute)
{
+ // Must be assigned before property binding.
this.objectAttribute = objectAttribute;
try
{
- nameProperty = bindString(objectAttribute, "name");
- javaTypeProperty = bindString(objectAttribute, "type");
- databaseAttributePathProperty = bindString(objectAttribute, "dbAttributePath");
- usedForLockingProperty = bindBoolean(objectAttribute, "usedForLocking");
+ nameProperty = bindString("name");
+ javaTypeProperty = bindString("type");
+ databaseAttributePathProperty = bindString("dbAttributePath");
+ usedForLockingProperty = bindBoolean("usedForLocking");
// locationProperty = JavaBeanStringPropertyBuilder.create().bean(dataMap).name("map").build();
@@ -111,4 +112,10 @@ public class ObjectAttributeAdapter extends CayennePropertyAdapter // implements
{
return objectAttribute;
}
+
+ @Override
+ public Object getWrappedObject()
+ {
+ return objectAttribute;
+ }
}
http://git-wip-us.apache.org/repos/asf/cayenne-modeler/blob/fc890cef/src/main/java/org/apache/cayenne/modeler/adapters/ObjectEntityAdapter.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/cayenne/modeler/adapters/ObjectEntityAdapter.java b/src/main/java/org/apache/cayenne/modeler/adapters/ObjectEntityAdapter.java
index f8bd74a..a2b00d9 100644
--- a/src/main/java/org/apache/cayenne/modeler/adapters/ObjectEntityAdapter.java
+++ b/src/main/java/org/apache/cayenne/modeler/adapters/ObjectEntityAdapter.java
@@ -52,12 +52,13 @@ public class ObjectEntityAdapter extends CayennePropertyAdapter // implements Ad
public ObjectEntityAdapter(final ObjEntity objectEntity)
{
+ // Must be assigned before property binding.
this.objectEntity = objectEntity;
try
{
- nameProperty = bindString(objectEntity, "name");
- abstractClassProperty = bindBoolean(objectEntity, "abstract");
+ nameProperty = bindString("name");
+ abstractClassProperty = bindBoolean("abstract");
// locationProperty = JavaBeanStringPropertyBuilder.create().bean(dataMap).name("map").build();
@@ -95,4 +96,10 @@ public class ObjectEntityAdapter extends CayennePropertyAdapter // implements Ad
{
return objectAttributeAdapters;
}
+
+ @Override
+ public Object getWrappedObject()
+ {
+ return objectEntity;
+ }
}