diff options
author | Brian Vosburgh | 2016-07-29 16:25:42 +0000 |
---|---|---|
committer | Brian Vosburgh | 2017-05-18 22:38:36 +0000 |
commit | b64bdbc413563a4e26ad9e39e38bb6fb57dacd79 (patch) | |
tree | 1f2bca35bc30d4b6f9a7af2bd3df514cca02ee89 | |
parent | b1a9f4f947a7ff247e1b77f79f885a7d1eff382b (diff) | |
download | webtools.dali-b64bdbc413563a4e26ad9e39e38bb6fb57dacd79.tar.gz webtools.dali-b64bdbc413563a4e26ad9e39e38bb6fb57dacd79.tar.xz webtools.dali-b64bdbc413563a4e26ad9e39e38bb6fb57dacd79.zip |
remove declarations that reference aspect adapter
16 files changed, 496 insertions, 432 deletions
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/bindings/ComboBoxModelBindingUITest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/bindings/ComboBoxModelBindingUITest.java index a4c94e47ec..72a1782e18 100644 --- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/bindings/ComboBoxModelBindingUITest.java +++ b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/bindings/ComboBoxModelBindingUITest.java @@ -15,10 +15,11 @@ import org.eclipse.jface.action.IAction; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.jface.window.Window; import org.eclipse.jpt.common.ui.internal.swt.bindings.SWTBindingTools; +import org.eclipse.jpt.common.utility.closure.BiClosure; import org.eclipse.jpt.common.utility.internal.ArrayTools; import org.eclipse.jpt.common.utility.internal.StringTools; +import org.eclipse.jpt.common.utility.internal.closure.BiClosureAdapter; import org.eclipse.jpt.common.utility.internal.model.AbstractModel; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapterXXXX; import org.eclipse.jpt.common.utility.internal.model.value.PropertyValueModelTools; import org.eclipse.jpt.common.utility.internal.model.value.SimpleListValueModel; import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; @@ -71,8 +72,8 @@ public class ComboBoxModelBindingUITest this.nameListModel = this.buildNameListModel(); this.testModel = new TestModel(DEFAULT_NAME); this.testModelModel = new SimplePropertyValueModel<>(this.testModel); - this.nameModel = new NameModel(this.testModelModel); - this.allCapsNameModel = this.buildAllCapsNameModel(this.testModelModel); + this.nameModel = PropertyValueModelTools.modifiablePropertyAspectAdapter(this.testModelModel, TestModel.NAME_PROPERTY, TestModel.NAME_TRANSFORMER, TestModel.SET_NAME_CLOSURE); + this.allCapsNameModel = PropertyValueModelTools.transform(this.nameModel, UPPER_CASE_TRANSFORMER); this.nameListSelectionModel = new SimplePropertyValueModel<>(); this.nameListIndexTextModel = new SimplePropertyValueModel<>(); @@ -102,26 +103,6 @@ public class ComboBoxModelBindingUITest return x; } - private static class NameModel - extends PropertyAspectAdapterXXXX<TestModel, String> - { - NameModel(PropertyValueModel<TestModel> vm) { - super(vm, TestModel.NAME_PROPERTY); - } - @Override - protected String buildValue_() { - return this.subject.name(); - } - @Override - protected void setValue_(String value) { - this.subject.setName(value); - } - } - - private PropertyValueModel<String> buildAllCapsNameModel(PropertyValueModel<TestModel> vm) { - return PropertyValueModelTools.transform(new NameModel(vm), UPPER_CASE_TRANSFORMER); - } - public static final Transformer<String, String> UPPER_CASE_TRANSFORMER = new UpperCaseTransformer(); /* CU private */ static class UpperCaseTransformer @@ -452,11 +433,29 @@ public class ComboBoxModelBindingUITest // ********** model class ********** - class TestModel + static class TestModel extends AbstractModel { private String name; public static final String NAME_PROPERTY = "name"; + public static final Transformer<TestModel, String> NAME_TRANSFORMER = new NameTransformer(); + public static final class NameTransformer + extends TransformerAdapter<TestModel, String> + { + @Override + public String transform(TestModel input) { + return input.name(); + } + } + public static final BiClosure<TestModel, String> SET_NAME_CLOSURE = new SetNameClosure(); + public static final class SetNameClosure + extends BiClosureAdapter<TestModel, String> + { + @Override + public void execute(TestModel argument1, String argument2) { + argument1.setName(argument2); + } + } public TestModel(String name) { this.name = name; diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/bindings/DropDownListBoxModelBindingUITest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/bindings/DropDownListBoxModelBindingUITest.java index 734211c9d1..0e4d7d6982 100644 --- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/bindings/DropDownListBoxModelBindingUITest.java +++ b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/swt/bindings/DropDownListBoxModelBindingUITest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2013 Oracle. All rights reserved. + * Copyright (c) 2009, 2016 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -21,15 +21,19 @@ import org.eclipse.jface.action.IAction; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.jface.window.Window; import org.eclipse.jpt.common.ui.internal.swt.bindings.SWTBindingTools; +import org.eclipse.jpt.common.utility.closure.BiClosure; +import org.eclipse.jpt.common.utility.internal.closure.BiClosureAdapter; import org.eclipse.jpt.common.utility.internal.comparator.ComparatorAdapter; import org.eclipse.jpt.common.utility.internal.model.AbstractModel; import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapterXXXX; +import org.eclipse.jpt.common.utility.internal.model.value.PropertyValueModelTools; import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; import org.eclipse.jpt.common.utility.internal.model.value.SortedListValueModelWrapper; +import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter; import org.eclipse.jpt.common.utility.model.Model; import org.eclipse.jpt.common.utility.model.value.ListValueModel; import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel; +import org.eclipse.jpt.common.utility.transformer.Transformer; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.layout.FormAttachment; @@ -266,43 +270,21 @@ public class DropDownListBoxModelBindingUITest } private ModifiablePropertyValueModel<Task> buildPriorityTaskAdapter() { - return new PriorityTaskAdapter(this.taskListModel); - } - - static class PriorityTaskAdapter - extends PropertyAspectAdapterXXXX<TaskList, Task> - { - PriorityTaskAdapter(ModifiablePropertyValueModel<TaskList> taskListModel) { - super(taskListModel, TaskList.PRIORITY_TASK_PROPERTY); - } - @Override - protected Task buildValue_() { - return this.subject.getPriorityTask(); - } - @Override - protected void setValue_(Task value) { - this.subject.setPriorityTask(value); - } + return PropertyValueModelTools.modifiablePropertyAspectAdapter( + this.taskListModel, + TaskList.PRIORITY_TASK_PROPERTY, + TaskList.PRIORITY_TASK_TRANSFORMER, + TaskList.SET_PRIORITY_TASK_CLOSURE + ); } private ModifiablePropertyValueModel<String> buildPriorityTaskNameAdapter() { - return new PriorityTaskNameAdapter(this.taskListModel); - } - - static class PriorityTaskNameAdapter - extends PropertyAspectAdapterXXXX<TaskList, String> - { - PriorityTaskNameAdapter(ModifiablePropertyValueModel<TaskList> taskListModel) { - super(taskListModel, TaskList.PRIORITY_TASK_NAME_PROPERTY); - } - @Override - protected String buildValue_() { - return this.subject.getPriorityTaskName(); - } - @Override - protected void setValue_(String value) { - // ignore - } + return PropertyValueModelTools.modifiablePropertyAspectAdapter( + this.taskListModel, + TaskList.PRIORITY_TASK_NAME_PROPERTY, + TaskList.PRIORITY_TASK_NAME_TRANSFORMER, + TaskList.SET_PRIORITY_TASK_NAME_CLOSURE + ); } private void buildControlPanel(Composite parent, Control taskListPanel) { @@ -535,8 +517,44 @@ public class DropDownListBoxModelBindingUITest public static final String TASKS_LIST = "tasks"; private String priorityTaskName = null; public static final String PRIORITY_TASK_NAME_PROPERTY = "priorityTaskName"; + public static final Transformer<TaskList, String> PRIORITY_TASK_NAME_TRANSFORMER = new PriorityTaskNameTransformer(); + public static final class PriorityTaskNameTransformer + extends TransformerAdapter<TaskList, String> + { + @Override + public String transform(TaskList taskList) { + return taskList.getPriorityTaskName(); + } + } + public static final BiClosure<TaskList, String> SET_PRIORITY_TASK_NAME_CLOSURE = new SetPriorityTaskNameClosure(); + public static final class SetPriorityTaskNameClosure + extends BiClosureAdapter<TaskList, String> + { + @Override + public void execute(TaskList taskList, String taskName) { + taskList.setPriorityTaskName(taskName); + } + } private Task priorityTask = null; public static final String PRIORITY_TASK_PROPERTY = "priorityTask"; + public static final Transformer<TaskList, Task> PRIORITY_TASK_TRANSFORMER = new PriorityTaskTransformer(); + public static final class PriorityTaskTransformer + extends TransformerAdapter<TaskList, Task> + { + @Override + public Task transform(TaskList taskList) { + return taskList.getPriorityTask(); + } + } + public static final BiClosure<TaskList, Task> SET_PRIORITY_TASK_CLOSURE = new SetPriorityTaskClosure(); + public static final class SetPriorityTaskClosure + extends BiClosureAdapter<TaskList, Task> + { + @Override + public void execute(TaskList taskList, Task task) { + taskList.setPriorityTask(task); + } + } public TaskList() { super(); } @@ -578,7 +596,7 @@ public class DropDownListBoxModelBindingUITest this.clearList(this.taskNames, TASK_NAMES_LIST); this.clearList(this.tasks, TASKS_LIST); } - private void setPriorityTaskName(String priorityTaskName) { + void setPriorityTaskName(String priorityTaskName) { String old = this.priorityTaskName; this.priorityTaskName = priorityTaskName; this.firePropertyChanged(PRIORITY_TASK_NAME_PROPERTY, old, priorityTaskName); diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/JpaDataSource.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/JpaDataSource.java index 775fbf49bf..3c3ac86585 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/JpaDataSource.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/JpaDataSource.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Oracle. All rights reserved. + * Copyright (c) 2007, 2016 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -9,6 +9,10 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.core; +import org.eclipse.jpt.common.utility.closure.BiClosure; +import org.eclipse.jpt.common.utility.internal.closure.BiClosureAdapter; +import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter; +import org.eclipse.jpt.common.utility.transformer.Transformer; import org.eclipse.jpt.jpa.db.ConnectionProfile; import org.eclipse.jpt.jpa.db.Database; import org.eclipse.jpt.jpa.db.Table; @@ -33,12 +37,30 @@ public interface JpaDataSource * The connection profile is looked up based on this setting. */ String getConnectionProfileName(); + Transformer<JpaDataSource, String> CONNECTION_PROFILE_NAME_TRANSFORMER = new ConnectionProfileNameTransformer(); + class ConnectionProfileNameTransformer + extends TransformerAdapter<JpaDataSource, String> + { + @Override + public String transform(JpaDataSource dataSource) { + return dataSource.getConnectionProfileName(); + } + } /** * Set the data source's connection profile name. * The connection profile is looked up based on this setting. */ void setConnectionProfileName(String connectionProfileName); + BiClosure<JpaDataSource, String> SET_CONNECTION_PROFILE_NAME_CLOSURE = new SetConnectionProfileNameClosure(); + class SetConnectionProfileNameClosure + extends BiClosureAdapter<JpaDataSource, String> + { + @Override + public void execute(JpaDataSource dataSource, String name) { + dataSource.setConnectionProfileName(name); + } + } /** * ID string used when connectionProfileName property is changed diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/JpaProject.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/JpaProject.java index e1ddeeadad..023b5c994a 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/JpaProject.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/JpaProject.java @@ -23,7 +23,9 @@ import org.eclipse.jpt.common.core.resource.java.JavaResourcePackageFragmentRoot import org.eclipse.jpt.common.core.resource.java.JavaResourceTypeCache; import org.eclipse.jpt.common.core.resource.xml.JptXmlResource; import org.eclipse.jpt.common.core.utility.command.JobCommand; +import org.eclipse.jpt.common.utility.closure.BiClosure; import org.eclipse.jpt.common.utility.command.ExtendedCommandContext; +import org.eclipse.jpt.common.utility.internal.closure.BiClosureAdapter; import org.eclipse.jpt.common.utility.internal.predicate.CriterionPredicate; import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter; import org.eclipse.jpt.common.utility.transformer.Transformer; @@ -450,6 +452,15 @@ public interface JpaProject * default catalog should be used). */ String getUserOverrideDefaultCatalog(); + Transformer<JpaProject, String> USER_OVERRIDE_DEFAULT_CATALOG_TRANSFORMER = new UserOverrideDefaultCatalogTransformer(); + class UserOverrideDefaultCatalogTransformer + extends TransformerAdapter<JpaProject, String> + { + @Override + public String transform(JpaProject jpaProject) { + return jpaProject.getUserOverrideDefaultCatalog(); + } + } /** * Set the <em>identifier</em> of the catalog to be used as a default @@ -459,6 +470,15 @@ public interface JpaProject * default catalog should be used). */ void setUserOverrideDefaultCatalog(String catalog); + BiClosure<JpaProject, String> SET_USER_OVERRIDE_DEFAULT_CATALOG_CLOSURE = new SetUserOverrideDefaultCatalogClosure(); + class SetUserOverrideDefaultCatalogClosure + extends BiClosureAdapter<JpaProject, String> + { + @Override + public void execute(JpaProject jpaProject, String catalog) { + jpaProject.setUserOverrideDefaultCatalog(catalog); + } + } // ********** user override default schema ********** @@ -477,6 +497,15 @@ public interface JpaProject * default schema should be used). */ String getUserOverrideDefaultSchema(); + Transformer<JpaProject, String> USER_OVERRIDE_DEFAULT_SCHEMA_TRANSFORMER = new UserOverrideDefaultSchemaTransformer(); + class UserOverrideDefaultSchemaTransformer + extends TransformerAdapter<JpaProject, String> + { + @Override + public String transform(JpaProject jpaProject) { + return jpaProject.getUserOverrideDefaultSchema(); + } + } /** * Set the <em>identifier</em> of the schema to be used as a default @@ -486,6 +515,15 @@ public interface JpaProject * default schema should be used). */ void setUserOverrideDefaultSchema(String schema); + BiClosure<JpaProject, String> SET_USER_OVERRIDE_DEFAULT_SCHEMA_CLOSURE = new SetUserOverrideDefaultSchemaClosure(); + class SetUserOverrideDefaultSchemaClosure + extends BiClosureAdapter<JpaProject, String> + { + @Override + public void execute(JpaProject jpaProject, String schema) { + jpaProject.setUserOverrideDefaultSchema(schema); + } + } // ********** discover annotated classes ********** @@ -519,6 +557,15 @@ public interface JpaProject * by the JPA implementation. */ boolean discoversAnnotatedClasses(); + Transformer<JpaProject, Boolean> DISCOVERS_ANNOTATED_CLASSES_TRANSFORMER = new DiscoversAnnotatedClassesTransformer(); + class DiscoversAnnotatedClassesTransformer + extends TransformerAdapter<JpaProject, Boolean> + { + @Override + public Boolean transform(JpaProject jpaProject) { + return Boolean.valueOf(jpaProject.discoversAnnotatedClasses()); + } + } /** * Set whether the JPA project will not generate error messages for any @@ -527,6 +574,15 @@ public interface JpaProject * @see #discoversAnnotatedClasses() */ void setDiscoversAnnotatedClasses(boolean discoversAnnotatedClasses); + BiClosure<JpaProject, Boolean> SET_DISCOVERS_ANNOTATED_CLASSES_CLOSURE = new SetDiscoversAnnotatedClassesClosure(); + class SetDiscoversAnnotatedClassesClosure + extends BiClosureAdapter<JpaProject, Boolean> + { + @Override + public void execute(JpaProject jpaProject, Boolean discoversAnnotatedClasses) { + jpaProject.setDiscoversAnnotatedClasses(discoversAnnotatedClasses.booleanValue()); + } + } // ********** manager ********** diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/JpaContextRoot.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/JpaContextRoot.java index d918e451c6..18a6eaf106 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/JpaContextRoot.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/JpaContextRoot.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2013 Oracle. All rights reserved. + * Copyright (c) 2007, 2016 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -9,6 +9,8 @@ ******************************************************************************/ package org.eclipse.jpt.jpa.core.context; +import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter; +import org.eclipse.jpt.common.utility.transformer.Transformer; import org.eclipse.jpt.jpa.core.context.persistence.PersistenceXml; /** @@ -40,4 +42,13 @@ public interface JpaContextRoot * This may be <code>null</code>. */ PersistenceXml getPersistenceXml(); + Transformer<JpaContextRoot, PersistenceXml> PERSISTENCE_XML_TRANSFORMER = new PersistenceXmlTransformer(); + class PersistenceXmlTransformer + extends TransformerAdapter<JpaContextRoot, PersistenceXml> + { + @Override + public PersistenceXml transform(JpaContextRoot root) { + return root.getPersistenceXml(); + } + } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/ManagedType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/ManagedType.java index d686966f1d..b0f4623c11 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/ManagedType.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/ManagedType.java @@ -1,5 +1,5 @@ /*******************************************************************************
- * Copyright (c) 2013 Oracle. All rights reserved.
+ * Copyright (c) 2013, 2016 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -70,6 +70,16 @@ public interface ManagedType * @see #getTypeQualifiedName()
*/
String getSimpleName();
+ String SIMPLE_NAME_PROPERTY = "simpleName"; //$NON-NLS-1$
+ Transformer<ManagedType, String> SIMPLE_NAME_TRANSFORMER = new SimpleNameTransformer();
+ class SimpleNameTransformer
+ extends TransformerAdapter<ManagedType, String>
+ {
+ @Override
+ public String transform(ManagedType mt) {
+ return mt.getSimpleName();
+ }
+ }
/**
* Return the persistent type's type-qualified name; i.e. the type's
@@ -78,6 +88,16 @@ public interface ManagedType * @see #getSimpleName()
*/
String getTypeQualifiedName();
+ String TYPE_QUALIFIED_NAME_PROPERTY = "typeQualifiedName"; //$NON-NLS-1$
+ Transformer<ManagedType, String> TYPE_QUALIFIED_NAME_TRANSFORMER = new TypeQualifiedNameTransformer();
+ class TypeQualifiedNameTransformer
+ extends TransformerAdapter<ManagedType, String>
+ {
+ @Override
+ public String transform(ManagedType mt) {
+ return mt.getTypeQualifiedName();
+ }
+ }
/**
* Return the Java resource type.
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java index ec1cdd1555..6503719b17 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/context/persistence/PersistenceUnit.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2015 Oracle. All rights reserved. + * Copyright (c) 2007, 2016 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -279,6 +279,15 @@ public interface PersistenceUnit * Return the persistence unit's implied mapping file ref. */ MappingFileRef getImpliedMappingFileRef(); + Transformer<PersistenceUnit, MappingFileRef> IMPLIED_MAPPING_FILE_REF_TRANSFORMER = new ImpliedMappingFileRefTransformer(); + class ImpliedMappingFileRefTransformer + extends TransformerAdapter<PersistenceUnit, MappingFileRef> + { + @Override + public MappingFileRef transform(PersistenceUnit persistenceUnit) { + return persistenceUnit.getImpliedMappingFileRef(); + } + } // ********** jar file refs ********** diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaManagedType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaManagedType.java index b755e90486..2ae1d96101 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaManagedType.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/java/AbstractJavaManagedType.java @@ -1,5 +1,5 @@ /*******************************************************************************
- * Copyright (c) 2013, 2015 Oracle. All rights reserved.
+ * Copyright (c) 2013, 2016 Oracle. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0, which accompanies this distribution
* and is available at http://www.eclipse.org/legal/epl-v10.html.
@@ -31,6 +31,8 @@ public abstract class AbstractJavaManagedType<P extends JpaContextModel> protected final JavaResourceType resourceType;
protected String name;
+ protected String simpleName;
+ protected String typeQualifiedName;
protected AbstractJavaManagedType(P parent, JavaResourceType resourceType) {
@@ -51,6 +53,8 @@ public abstract class AbstractJavaManagedType<P extends JpaContextModel> @Override
public void update(IProgressMonitor monitor) {
super.update(monitor);
+ this.setSimpleName(this.buildSimpleName());
+ this.setTypeQualifiedName(this.buildTypeQualifiedName());
}
@@ -60,15 +64,6 @@ public abstract class AbstractJavaManagedType<P extends JpaContextModel> return this.name;
}
- public String getSimpleName(){
- return ClassNameTools.simpleName(this.name);
- }
-
- public String getTypeQualifiedName() {
- String packageName = this.getPackageName();
- return StringTools.isBlank(packageName) ? this.name : this.name.substring(packageName.length() + 1);
- }
-
protected void setName(String name) {
String old = this.name;
this.name = name;
@@ -84,6 +79,39 @@ public abstract class AbstractJavaManagedType<P extends JpaContextModel> }
+ // ********** simple name **********
+
+ public String getSimpleName(){
+ return this.simpleName;
+ }
+
+ protected void setSimpleName(String simpleName) {
+ String old = this.simpleName;
+ this.firePropertyChanged(SIMPLE_NAME_PROPERTY, old, this.simpleName = simpleName);
+ }
+
+ protected String buildSimpleName(){
+ return ClassNameTools.simpleName(this.name);
+ }
+
+
+ // ********** type-qualified name **********
+
+ public String getTypeQualifiedName() {
+ return this.typeQualifiedName;
+ }
+
+ protected void setTypeQualifiedName(String typeQualifiedName) {
+ String old = this.typeQualifiedName;
+ this.firePropertyChanged(TYPE_QUALIFIED_NAME_PROPERTY, old, this.typeQualifiedName = typeQualifiedName);
+ }
+
+ protected String buildTypeQualifiedName() {
+ String packageName = this.getPackageName();
+ return StringTools.isBlank(packageName) ? this.name : this.name.substring(packageName.length() + 1);
+ }
+
+
// ********** misc **********
@Override
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmManagedType.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmManagedType.java index ecf6dcadaf..1ad4b78024 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmManagedType.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmManagedType.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013, 2015 Oracle. All rights reserved. + * Copyright (c) 2013, 2016 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -48,6 +48,8 @@ public abstract class AbstractOrmManagedType<P extends EntityMappings> protected String class_; protected String name; + protected String simpleName; + protected String typeQualifiedName; protected JavaManagedType javaManagedType; @@ -74,6 +76,8 @@ public abstract class AbstractOrmManagedType<P extends EntityMappings> @Override public void update(IProgressMonitor monitor) { super.update(monitor); + this.setSimpleName(this.buildSimpleName()); + this.setTypeQualifiedName(this.buildTypeQualifiedName()); this.updateJavaManagedType(monitor); } @@ -121,12 +125,39 @@ public abstract class AbstractOrmManagedType<P extends EntityMappings> return this.getEntityMappings().qualify(this.class_); } + protected TextRange getClassTextRange() { + return this.getValidationTextRange(this.getXmlManagedType().getClassTextRange()); + } + + + // ********** simple name ********** + public String getSimpleName(){ - String className = this.getName(); - return StringTools.isBlank(className) ? null : ClassNameTools.simpleName(className); + return this.simpleName; + } + + protected void setSimpleName(String simpleName) { + String old = this.simpleName; + this.firePropertyChanged(SIMPLE_NAME_PROPERTY, old, this.simpleName = simpleName); + } + + protected String buildSimpleName(){ + return StringTools.isBlank(this.name) ? null : ClassNameTools.simpleName(this.name); } + + // ********** type-qualified name ********** + public String getTypeQualifiedName() { + return this.typeQualifiedName; + } + + protected void setTypeQualifiedName(String typeQualifiedName) { + String old = this.typeQualifiedName; + this.firePropertyChanged(TYPE_QUALIFIED_NAME_PROPERTY, old, this.typeQualifiedName = typeQualifiedName); + } + + protected String buildTypeQualifiedName() { String className = this.class_; if (className == null) { return null; @@ -137,10 +168,6 @@ public abstract class AbstractOrmManagedType<P extends EntityMappings> return className; } - protected TextRange getClassTextRange() { - return this.getValidationTextRange(this.getXmlManagedType().getClassTextRange()); - } - // ********** Java managed type ********** diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/JpaProject2_0.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/JpaProject2_0.java index 4ab8439767..6984a25ed9 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/JpaProject2_0.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/jpa2/JpaProject2_0.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2012 Oracle. All rights reserved. + * Copyright (c) 2009, 2016 Oracle. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0, which accompanies this distribution * and is available at http://www.eclipse.org/legal/epl-v10.html. @@ -12,6 +12,10 @@ package org.eclipse.jpt.jpa.core.jpa2; import org.eclipse.core.resources.IFile; import org.eclipse.jdt.core.IPackageFragmentRoot; import org.eclipse.jpt.common.core.resource.java.JavaResourceAbstractType; +import org.eclipse.jpt.common.utility.closure.BiClosure; +import org.eclipse.jpt.common.utility.internal.closure.BiClosureAdapter; +import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter; +import org.eclipse.jpt.common.utility.transformer.Transformer; import org.eclipse.jpt.jpa.core.JpaProject; import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion; @@ -58,12 +62,30 @@ public interface JpaProject2_0 * Metamodel. */ String getMetamodelSourceFolderName(); + Transformer<JpaProject2_0, String> METAMODEL_SOURCE_FOLDER_NAME_TRANSFORMER = new MetamodelSourceFolderNameTransformer(); + class MetamodelSourceFolderNameTransformer + extends TransformerAdapter<JpaProject2_0, String> + { + @Override + public String transform(JpaProject2_0 jpaProject) { + return jpaProject.getMetamodelSourceFolderName(); + } + } /** * Set the name of the folder that holds the generated Canonical * Metamodel. */ void setMetamodelSourceFolderName(String metamodelSourceFolderName); + BiClosure<JpaProject2_0, String> SET_METAMODEL_SOURCE_FOLDER_NAME_CLOSURE = new SetMetamodelSourceFolderNameClosure(); + class SetMetamodelSourceFolderNameClosure + extends BiClosureAdapter<JpaProject2_0, String> + { + @Override + public void execute(JpaProject2_0 jpaProject, String metamodelSourceFolderName) { + jpaProject.setMetamodelSourceFolderName(metamodelSourceFolderName); + } + } /** * Return the package fragment root that holds the generated Canonical diff --git a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/platform/EclipseLinkNavigatorItemContentProviderFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/platform/EclipseLinkNavigatorItemContentProviderFactory.java index 86cf4af31c..7f6aecf818 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/platform/EclipseLinkNavigatorItemContentProviderFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.eclipselink.ui/src/org/eclipse/jpt/jpa/eclipselink/ui/internal/platform/EclipseLinkNavigatorItemContentProviderFactory.java @@ -64,14 +64,18 @@ public class EclipseLinkNavigatorItemContentProviderFactory * property model is <code>null</code>. */ protected CollectionValueModel<MappingFile> buildPersistenceUnitImpliedEclipseLinkMappingFilesModel(EclipseLinkPersistenceUnit item) { - return new PropertyCollectionValueModelAdapter<MappingFile>(this.buildPersistenceUnitImpliedEclipseLinkMappingFileModel(item)); + return new PropertyCollectionValueModelAdapter<>(this.buildPersistenceUnitImpliedEclipseLinkMappingFileModel(item)); } protected PropertyValueModel<MappingFile> buildPersistenceUnitImpliedEclipseLinkMappingFileModel(EclipseLinkPersistenceUnit item) { - return new PersistenceUnitImpliedMappingFileModel(this.buildPersistenceUnitImpliedEclipseLinkMappingFileRefModel(item)); + return this.buildPersistenceUnitImpliedMappingFileModel(this.buildPersistenceUnitImpliedEclipseLinkMappingFileRefModel(item)); } protected PropertyValueModel<MappingFileRef> buildPersistenceUnitImpliedEclipseLinkMappingFileRefModel(EclipseLinkPersistenceUnit item) { - return PropertyValueModelTools.modelAspectAdapter(item, EclipseLinkPersistenceUnit.IMPLIED_ECLIPSELINK_MAPPING_FILE_REF_PROPERTY, EclipseLinkPersistenceUnit.IMPLIED_ECLIPSELINK_MAPPING_FILE_REF_TRANSFORMER); + return PropertyValueModelTools.modelAspectAdapter( + item, + EclipseLinkPersistenceUnit.IMPLIED_ECLIPSELINK_MAPPING_FILE_REF_PROPERTY, + EclipseLinkPersistenceUnit.IMPLIED_ECLIPSELINK_MAPPING_FILE_REF_TRANSFORMER + ); } } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractNavigatorItemContentProviderFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractNavigatorItemContentProviderFactory.java index b4585c4a52..394754c032 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractNavigatorItemContentProviderFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/base/AbstractNavigatorItemContentProviderFactory.java @@ -22,7 +22,6 @@ import org.eclipse.jpt.common.utility.internal.model.value.ItemPropertyListValue import org.eclipse.jpt.common.utility.internal.model.value.ListAspectAdapter; import org.eclipse.jpt.common.utility.internal.model.value.ListCollectionValueModelAdapter; import org.eclipse.jpt.common.utility.internal.model.value.ListValueModelTools; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapterXXXX; import org.eclipse.jpt.common.utility.internal.model.value.PropertyCollectionValueModelAdapter; import org.eclipse.jpt.common.utility.internal.model.value.PropertyValueModelTools; import org.eclipse.jpt.common.utility.internal.model.value.TransformationListValueModel; @@ -115,19 +114,11 @@ public abstract class AbstractNavigatorItemContentProviderFactory } protected PropertyValueModel<PersistenceXml> buildJpaContextRootPersistenceXmlModel(JpaContextRoot jpaContextRoot) { - return new JpaContextRootPersistenceXml(jpaContextRoot); - } - - public static class JpaContextRootPersistenceXml - extends PropertyAspectAdapterXXXX<JpaContextRoot, PersistenceXml> - { - public JpaContextRootPersistenceXml(JpaContextRoot jpaContextModelRoot) { - super(JpaContextRoot.PERSISTENCE_XML_PROPERTY, jpaContextModelRoot); - } - @Override - protected PersistenceXml buildValue_() { - return this.subject.getPersistenceXml(); - } + return PropertyValueModelTools.modelAspectAdapter( + jpaContextRoot, + JpaContextRoot.PERSISTENCE_XML_PROPERTY, + JpaContextRoot.PERSISTENCE_XML_TRANSFORMER + ); } @@ -145,7 +136,11 @@ public abstract class AbstractNavigatorItemContentProviderFactory } protected PropertyValueModel<Persistence> buildPersistenceXmlPersistenceModel(PersistenceXml persistenceXml) { - return new PersistenceXmlPersistenceModel(persistenceXml); + return PropertyValueModelTools.modelAspectAdapter( + persistenceXml, + XmlFile.ROOT_PROPERTY, + TransformerTools.downcast(XmlFile.ROOT_TRANSFORMER) + ); } public static class PersistencePersistenceUnitsModel @@ -166,18 +161,6 @@ public abstract class AbstractNavigatorItemContentProviderFactory } } - public static class PersistenceXmlPersistenceModel - extends PropertyAspectAdapterXXXX<PersistenceXml, Persistence> - { - public PersistenceXmlPersistenceModel(PersistenceXml persistenceXml) { - super(XmlFile.ROOT_PROPERTY, persistenceXml); - } - @Override - protected Persistence buildValue_() { - return this.subject.getRoot(); - } - } - // ********** persistence unit ********** @@ -248,39 +231,23 @@ public abstract class AbstractNavigatorItemContentProviderFactory * property model is <code>null</code>. */ protected CollectionValueModel<MappingFile> buildPersistenceUnitImpliedMappingFilesModel(PersistenceUnit persistenceUnit) { - return new PropertyCollectionValueModelAdapter<MappingFile>(this.buildPersistenceUnitImpliedMappingFileModel(persistenceUnit)); - } - - protected PropertyValueModel<MappingFile> buildPersistenceUnitImpliedMappingFileModel(PersistenceUnit persistenceUnit) { - return new PersistenceUnitImpliedMappingFileModel(this.buildPersistenceUnitImpliedMappingFileRefModel(persistenceUnit)); + return new PropertyCollectionValueModelAdapter<>(this.buildPersistenceUnitImpliedMappingFileModel(this.buildPersistenceUnitImpliedMappingFileRefModel(persistenceUnit))); } protected PropertyValueModel<MappingFileRef> buildPersistenceUnitImpliedMappingFileRefModel(PersistenceUnit persistenceUnit) { - return new PersistenceUnitImpliedMappingFileRefModel(persistenceUnit); - } - - public static class PersistenceUnitImpliedMappingFileModel - extends PropertyAspectAdapterXXXX<MappingFileRef, MappingFile> - { - public PersistenceUnitImpliedMappingFileModel(PropertyValueModel<MappingFileRef> refModel) { - super(refModel, MappingFileRef.MAPPING_FILE_PROPERTY); - } - @Override - protected MappingFile buildValue_() { - return this.subject.getMappingFile(); - } + return PropertyValueModelTools.modelAspectAdapter( + persistenceUnit, + PersistenceUnit.IMPLIED_MAPPING_FILE_REF_PROPERTY, + PersistenceUnit.IMPLIED_MAPPING_FILE_REF_TRANSFORMER + ); } - public static class PersistenceUnitImpliedMappingFileRefModel - extends PropertyAspectAdapterXXXX<PersistenceUnit, MappingFileRef> - { - public PersistenceUnitImpliedMappingFileRefModel(PersistenceUnit persistenceUnit) { - super(PersistenceUnit.IMPLIED_MAPPING_FILE_REF_PROPERTY, persistenceUnit); - } - @Override - protected MappingFileRef buildValue_() { - return this.subject.getImpliedMappingFileRef(); - } + protected PropertyValueModel<MappingFile> buildPersistenceUnitImpliedMappingFileModel(PropertyValueModel<MappingFileRef> refModel) { + return PropertyValueModelTools.modelAspectAdapter( + refModel, + MappingFileRef.MAPPING_FILE_PROPERTY, + MappingFileRef.MAPPING_FILE_TRANSFORMER + ); } @@ -423,7 +390,11 @@ public abstract class AbstractNavigatorItemContentProviderFactory } protected PropertyValueModel<EntityMappings> buildOrmXmlEntityMappingsModel(OrmXml ormXml) { - return PropertyValueModelTools.modelAspectAdapter(ormXml, XmlFile.ROOT_PROPERTY, TransformerTools.downcast(XmlFile.ROOT_TRANSFORMER)); + return PropertyValueModelTools.modelAspectAdapter( + ormXml, + XmlFile.ROOT_PROPERTY, + TransformerTools.downcast(XmlFile.ROOT_TRANSFORMER) + ); } public static class EntityMappingsManagedTypesModel diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java index 63f1875807..d45bdfbc05 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/platform/generic/GenericNavigatorItemLabelProviderFactory.java @@ -15,7 +15,6 @@ import org.eclipse.jpt.common.ui.internal.jface.ModelItemExtendedLabelProvider; import org.eclipse.jpt.common.ui.internal.jface.NullItemExtendedLabelProvider; import org.eclipse.jpt.common.ui.internal.jface.StaticItemExtendedLabelProvider; import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProvider; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapterXXXX; import org.eclipse.jpt.common.utility.internal.model.value.PropertyValueModelTools; import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; import org.eclipse.jpt.jpa.core.JpaModel; @@ -123,19 +122,11 @@ public class GenericNavigatorItemLabelProviderFactory } protected PropertyValueModel<String> buildConverterTypeTextModel(ManagedType managedType) { - return new ConverterTypeTextModel(managedType); - } - - public static class ConverterTypeTextModel - extends PropertyAspectAdapterXXXX<ManagedType, String> - { - public ConverterTypeTextModel(ManagedType subject) { - super(ManagedType.NAME_PROPERTY, subject); - } - @Override - protected String buildValue_() { - return this.subject.getSimpleName(); - } + return PropertyValueModelTools.modelAspectAdapter( + managedType, + ManagedType.SIMPLE_NAME_PROPERTY, + ManagedType.SIMPLE_NAME_TRANSFORMER + ); } protected PropertyValueModel<String> buildConverterTypeDescriptionModel(ManagedType managedType) { diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/properties/JpaProjectPropertiesPage.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/properties/JpaProjectPropertiesPage.java index 88d397da45..7fef4473f3 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/properties/JpaProjectPropertiesPage.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/properties/JpaProjectPropertiesPage.java @@ -35,6 +35,7 @@ import org.eclipse.jpt.common.utility.internal.BitTools; import org.eclipse.jpt.common.utility.internal.ObjectTools; import org.eclipse.jpt.common.utility.internal.StringTools; import org.eclipse.jpt.common.utility.internal.closure.ClosureAdapter; +import org.eclipse.jpt.common.utility.internal.closure.ClosureTools; import org.eclipse.jpt.common.utility.internal.collection.CollectionTools; import org.eclipse.jpt.common.utility.internal.iterable.EmptyIterable; import org.eclipse.jpt.common.utility.internal.iterable.IterableTools; @@ -45,7 +46,6 @@ import org.eclipse.jpt.common.utility.internal.model.value.ExtendedListValueMode import org.eclipse.jpt.common.utility.internal.model.value.PluggableModifiablePropertyValueModel; import org.eclipse.jpt.common.utility.internal.model.value.PluggablePropertyAspectAdapter; import org.eclipse.jpt.common.utility.internal.model.value.PluggablePropertyValueModel; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapterXXXX; import org.eclipse.jpt.common.utility.internal.model.value.PropertyCollectionValueModelAdapter; import org.eclipse.jpt.common.utility.internal.model.value.PropertyValueModelTools; import org.eclipse.jpt.common.utility.internal.model.value.SetCollectionValueModel; @@ -118,6 +118,7 @@ public class JpaProjectPropertiesPage public static final String PROP_ID = "org.eclipse.jpt.jpa.ui.jpaProjectProperties"; //$NON-NLS-1$ private PropertyValueModel<JpaProject> jpaProjectModel; + private PropertyValueModel<JpaProject2_0> jpaProject2_0Model; private PropertyValueModel<Boolean> jpaProjectIsNotNullFlagModel; private ModifiablePropertyValueModel<JpaPlatform.Config> jpaPlatformConfigModel; @@ -168,6 +169,7 @@ public class JpaProjectPropertiesPage @Override protected void buildModels() { this.jpaProjectModel = this.buildJpaProjectModel(); + this.jpaProject2_0Model = this.buildJpaProject2_0Model(); this.jpaProjectIsNotNullFlagModel = this.buildJpaProjectIsNotNullFlagModel(); Association<ModifiablePropertyValueModel<JpaPlatform.Config>, PropertyValueModel<Boolean>> platformConfigAssoc = this.buildJpaPlatformConfigModel(); @@ -233,6 +235,11 @@ public class JpaProjectPropertiesPage } } + // ***** JPA 2.0 project model + private PropertyValueModel<JpaProject2_0> buildJpaProject2_0Model() { + return PropertyValueModelTools.filter(this.jpaProjectModel, JpaProject2_0.class); + } + // ***** JPA project is not null model private PropertyValueModel<Boolean> buildJpaProjectIsNotNullFlagModel() { return PropertyValueModelTools.valueIsNotNull(this.jpaProjectModel); @@ -249,7 +256,11 @@ public class JpaProjectPropertiesPage } private ModifiablePropertyValueModel<JpaPlatform.Config> buildJpaPlatformConfigModel_() { - return PropertyValueModelTools.transform(this.jpaProjectModel, JPA_PROJECT_PLATFORM_CONFIG_TRANSFORMER, new JpaProjectSetPlatformConfigClosure()); + return PropertyValueModelTools.transform( + this.jpaProjectModel, + JPA_PROJECT_PLATFORM_CONFIG_TRANSFORMER, + new JpaProjectSetPlatformConfigClosure() + ); } private static final TransformerAdapter<JpaProject, JpaPlatform.Config> JPA_PROJECT_PLATFORM_CONFIG_TRANSFORMER = new JpaProjectPlatformConfigTransformer(); @@ -301,7 +312,20 @@ public class JpaProjectPropertiesPage // ***** connection models private Association<ModifiablePropertyValueModel<String>, PropertyValueModel<Boolean>> buildConnectionModel() { - return PropertyValueModelTools.buffer(new ConnectionModel(this.jpaProjectModel), this.trigger); + return PropertyValueModelTools.buffer(this.buildConnectionModel_(), this.trigger); + } + + private ModifiablePropertyValueModel<String> buildConnectionModel_() { + return PropertyValueModelTools.modifiablePropertyAspectAdapter( + this.buildDataSourceModel(), + JpaDataSource.CONNECTION_PROFILE_NAME_PROPERTY, + JpaDataSource.CONNECTION_PROFILE_NAME_TRANSFORMER, + JpaDataSource.SET_CONNECTION_PROFILE_NAME_CLOSURE + ); + } + + private PropertyValueModel<JpaDataSource> buildDataSourceModel() { + return PropertyValueModelTools.transform(this.jpaProjectModel, JpaProject.DATA_SOURCE_TRANSFORMER); } private PropertyValueModel<ConnectionProfile> buildConnectionProfileModel() { @@ -332,11 +356,31 @@ public class JpaProjectPropertiesPage // ***** catalog models private Association<ModifiablePropertyValueModel<Boolean>, PropertyValueModel<Boolean>> buildUserOverrideDefaultCatalogFlagModel() { - return PropertyValueModelTools.buffer(new UserOverrideDefaultCatalogFlagModel(this.jpaProjectModel), this.trigger); + return PropertyValueModelTools.buffer(this.buildUserOverrideDefaultCatalogFlagModel_(), this.trigger); } - private Association<ModifiablePropertyValueModel<String>, PropertyValueModel<Boolean>> buildUserOverrideDefaultCatalogModel() { - return PropertyValueModelTools.buffer(new UserOverrideDefaultCatalogModel(this.jpaProjectModel), this.trigger); + /** + * Whether the JPA project has a user override default catalog specified. + */ + private ModifiablePropertyValueModel<Boolean> buildUserOverrideDefaultCatalogFlagModel_() { + return PropertyValueModelTools.transform( + this.buildUserOverrideDefaultCatalogModel_(), + TransformerTools.adapt(StringTools.IS_NOT_BLANK), + ClosureTools.nullClosure() + ); + } + + private Association<ModifiablePropertyValueModel<String>, PropertyValueModel<Boolean>> buildUserOverrideDefaultCatalogModel() { + return PropertyValueModelTools.buffer(this.buildUserOverrideDefaultCatalogModel_(), this.trigger); + } + + private ModifiablePropertyValueModel<String> buildUserOverrideDefaultCatalogModel_() { + return PropertyValueModelTools.modifiablePropertyAspectAdapter( + this.jpaProjectModel, + JpaProject.USER_OVERRIDE_DEFAULT_CATALOG_PROPERTY, + JpaProject.USER_OVERRIDE_DEFAULT_CATALOG_TRANSFORMER, + JpaProject.SET_USER_OVERRIDE_DEFAULT_CATALOG_CLOSURE + ); } private ModifiablePropertyValueModel<String> buildDefaultCatalogModel() { @@ -387,11 +431,31 @@ public class JpaProjectPropertiesPage // ***** schema models private Association<ModifiablePropertyValueModel<Boolean>, PropertyValueModel<Boolean>> buildUserOverrideDefaultSchemaFlagModel() { - return PropertyValueModelTools.buffer(new UserOverrideDefaultSchemaFlagModel(this.jpaProjectModel), this.trigger); + return PropertyValueModelTools.buffer(this.buildUserOverrideDefaultSchemaFlagModel_(), this.trigger); + } + + /** + * Whether the JPA project has a user override default schema specified. + */ + private ModifiablePropertyValueModel<Boolean> buildUserOverrideDefaultSchemaFlagModel_() { + return PropertyValueModelTools.transform( + this.buildUserOverrideDefaultSchemaModel_(), + TransformerTools.adapt(StringTools.IS_NOT_BLANK), + ClosureTools.nullClosure() + ); } private Association<ModifiablePropertyValueModel<String>, PropertyValueModel<Boolean>> buildUserOverrideDefaultSchemaModel() { - return PropertyValueModelTools.buffer(new UserOverrideDefaultSchemaModel(this.jpaProjectModel), this.trigger); + return PropertyValueModelTools.buffer(this.buildUserOverrideDefaultSchemaModel_(), this.trigger); + } + + private ModifiablePropertyValueModel<String> buildUserOverrideDefaultSchemaModel_() { + return PropertyValueModelTools.modifiablePropertyAspectAdapter( + this.jpaProjectModel, + JpaProject.USER_OVERRIDE_DEFAULT_SCHEMA_PROPERTY, + JpaProject.USER_OVERRIDE_DEFAULT_SCHEMA_TRANSFORMER, + JpaProject.SET_USER_OVERRIDE_DEFAULT_SCHEMA_CLOSURE + ); } private ModifiablePropertyValueModel<String> buildDefaultSchemaModel() { @@ -437,14 +501,27 @@ public class JpaProjectPropertiesPage // ***** discover/list annotated classes models private Association<ModifiablePropertyValueModel<Boolean>, PropertyValueModel<Boolean>> buildDiscoverAnnotatedClassesModel() { - return PropertyValueModelTools.buffer(new DiscoverAnnotatedClassesModel(this.jpaProjectModel), this.trigger); + return PropertyValueModelTools.buffer(this.buildDiscoverAnnotatedClassesModel_(), this.trigger); + } + + private ModifiablePropertyValueModel<Boolean> buildDiscoverAnnotatedClassesModel_() { + return PropertyValueModelTools.modifiablePropertyAspectAdapter( + this.jpaProjectModel, + JpaProject.DISCOVERS_ANNOTATED_CLASSES_PROPERTY, + JpaProject.DISCOVERS_ANNOTATED_CLASSES_TRANSFORMER, + JpaProject.SET_DISCOVERS_ANNOTATED_CLASSES_CLOSURE + ); } /** * The opposite of the "discover annotated classes" flag. */ private ModifiablePropertyValueModel<Boolean> buildListAnnotatedClassesModel() { - return PropertyValueModelTools.transform_(this.discoverAnnotatedClassesModel, TransformerTools.notBooleanTransformer(), TransformerTools.notBooleanTransformer()); + return PropertyValueModelTools.transform_( + this.discoverAnnotatedClassesModel, + TransformerTools.notBooleanTransformer(), + TransformerTools.notBooleanTransformer() + ); } // ***** JPA 2.0 project flag @@ -456,7 +533,19 @@ public class JpaProjectPropertiesPage // ***** metamodel models private Association<ModifiablePropertyValueModel<String>, PropertyValueModel<Boolean>> buildMetamodelSourceFolderModel() { - return PropertyValueModelTools.buffer(new MetamodelSourceFolderModel(this.jpaProjectModel), this.trigger); + return PropertyValueModelTools.buffer(this.buildMetamodelSourceFolderModel_(), this.trigger); + } + + /** + * The folder where the source for the generated Canonical Metamodel is written. + */ + private ModifiablePropertyValueModel<String> buildMetamodelSourceFolderModel_() { + return PropertyValueModelTools.modifiablePropertyAspectAdapter( + this.jpaProject2_0Model, + JpaProject2_0.METAMODEL_SOURCE_FOLDER_NAME_PROPERTY, + JpaProject2_0.METAMODEL_SOURCE_FOLDER_NAME_TRANSFORMER, + JpaProject2_0.SET_METAMODEL_SOURCE_FOLDER_NAME_CLOSURE + ); } private ListValueModel<String> buildJavaSourceFolderChoicesModel() { @@ -1079,31 +1168,6 @@ public class JpaProjectPropertiesPage // ********** UI model adapters ********** /** - * The DTP connection profile name is an aspect of the JPA project's - * data source - */ - static class ConnectionModel - extends PropertyAspectAdapterXXXX<JpaDataSource, String> - { - ConnectionModel(PropertyValueModel<JpaProject> jpaProjectModel) { - // The JPA project's data source is an auxiliary object that never changes; - // so if we have a JPA project, we have a JPA data source also. - super(PropertyValueModelTools.transform(jpaProjectModel, JpaProject.DATA_SOURCE_TRANSFORMER), JpaDataSource.CONNECTION_PROFILE_NAME_PROPERTY); - } - - @Override - protected String buildValue_() { - return this.subject.getConnectionProfileName(); - } - - @Override - public void setValue_(String connection) { - this.subject.setConnectionProfileName(connection); - } - } - - - /** * The connections are held by a singleton, so the model can be a singleton * also. */ @@ -1190,163 +1254,6 @@ public class JpaProjectPropertiesPage /** - * Adapt whether the JPA project has a user override specified - * (either catalog or schema); - */ - abstract static class UserOverrideDefaultFlagModel - extends PropertyAspectAdapterXXXX<JpaProject, Boolean> - { - UserOverrideDefaultFlagModel(PropertyValueModel<JpaProject> jpaProjectModel, String propertyName) { - super(jpaProjectModel, propertyName); - } - - @Override - protected Boolean buildValue_() { - return Boolean.valueOf(this.specifiesUserOverrideDefault()); - } - - boolean specifiesUserOverrideDefault() { - return ! StringTools.isBlank(this.getUserOverrideDefault()); - } - - abstract String getUserOverrideDefault(); - - @Override - protected void setValue_(Boolean value) { - // ignore - } - } - - - /** - * Whether the JPA project has a user override default catalog specified. - */ - static class UserOverrideDefaultCatalogFlagModel - extends UserOverrideDefaultFlagModel - { - UserOverrideDefaultCatalogFlagModel(PropertyValueModel<JpaProject> jpaProjectModel) { - super(jpaProjectModel, JpaProject.USER_OVERRIDE_DEFAULT_CATALOG_PROPERTY); - } - @Override - public String getUserOverrideDefault() { - return this.subject.getUserOverrideDefaultCatalog(); - } - } - - - /** - * Whether the JPA project has a user override default schema specified. - */ - static class UserOverrideDefaultSchemaFlagModel - extends UserOverrideDefaultFlagModel - { - UserOverrideDefaultSchemaFlagModel(PropertyValueModel<JpaProject> jpaProjectModel) { - super(jpaProjectModel, JpaProject.USER_OVERRIDE_DEFAULT_SCHEMA_PROPERTY); - } - @Override - public String getUserOverrideDefault() { - return this.subject.getUserOverrideDefaultSchema(); - } - } - - - /** - * The JPA project's user override default catalog - */ - static class UserOverrideDefaultCatalogModel - extends PropertyAspectAdapterXXXX<JpaProject, String> - { - UserOverrideDefaultCatalogModel(PropertyValueModel<JpaProject> jpaProjectModel) { - super(jpaProjectModel, JpaProject.USER_OVERRIDE_DEFAULT_CATALOG_PROPERTY); - } - - @Override - protected String buildValue_() { - return this.subject.getUserOverrideDefaultCatalog(); - } - - @Override - public void setValue_(String catalog) { - this.subject.setUserOverrideDefaultCatalog(catalog); - } - } - - - /** - * The JPA project's user override default catalog - */ - static class UserOverrideDefaultSchemaModel - extends PropertyAspectAdapterXXXX<JpaProject, String> - { - UserOverrideDefaultSchemaModel(PropertyValueModel<JpaProject> jpaProjectModel) { - super(jpaProjectModel, JpaProject.USER_OVERRIDE_DEFAULT_SCHEMA_PROPERTY); - } - - @Override - protected String buildValue_() { - return this.subject.getUserOverrideDefaultSchema(); - } - - @Override - public void setValue_(String schema) { - this.subject.setUserOverrideDefaultSchema(schema); - } - } - - - /** - * Flag on the JPA project indicating whether it should discover annotated - * classes - */ - static class DiscoverAnnotatedClassesModel - extends PropertyAspectAdapterXXXX<JpaProject, Boolean> - { - DiscoverAnnotatedClassesModel(PropertyValueModel<JpaProject> jpaProjectModel) { - super(jpaProjectModel, JpaProject.DISCOVERS_ANNOTATED_CLASSES_PROPERTY); - } - - @Override - protected Boolean buildValue_() { - return Boolean.valueOf(this.subject.discoversAnnotatedClasses()); - } - - @Override - protected void setValue_(Boolean value) { - this.subject.setDiscoversAnnotatedClasses(value.booleanValue()); - } - } - - - /** - * The folder where the source for the generated Canonical Metamodel - * is written. - */ - static class MetamodelSourceFolderModel - extends PropertyAspectAdapterXXXX<JpaProject, String> - { - MetamodelSourceFolderModel(PropertyValueModel<JpaProject> jpaProjectModel) { - super(jpaProjectModel, JpaProject2_0.METAMODEL_SOURCE_FOLDER_NAME_PROPERTY); - } - - @Override - protected String buildValue_() { - return this.subjectIsInJpa2_0Project() ? ((JpaProject2_0) this.subject).getMetamodelSourceFolderName() : null; - } - - @Override - protected void setValue_(String value) { - if (this.subjectIsInJpa2_0Project()) { - ((JpaProject2_0) this.subject).setMetamodelSourceFolderName(value); - } - } - - private boolean subjectIsInJpa2_0Project() { - return this.subject.getJpaProject().getJpaPlatform().getJpaVersion().isCompatibleWithJpaVersion(JpaProject2_0.FACET_VERSION_STRING); - } - } - - - /** * Java project source folders. * We keep the metamodel source folder in sync with the Java source folders * (i.e. if a Java source folder is deleted or removed from the build path, @@ -1851,15 +1758,14 @@ public class JpaProjectPropertiesPage implements PluggableModifiablePropertyValueModel.Adapter<String> { private final PropertyValueModel<Boolean> userOverrideDefaultFlagModel; - private final ModifiablePropertyValueModel<String> userOverrideDefaultModel; - private final PropertyValueModel<String> databaseDefaultModel; - private final PropertyChangeListener userOverrideDefaultFlagListener = new UserOverrideDefaultFlagListener(); /* CU private */ volatile boolean userOverrideDefaultFlag = false; + private final ModifiablePropertyValueModel<String> userOverrideDefaultModel; private final PropertyChangeListener userOverrideDefaultListener = new UserOverrideDefaultListener(); /* CU private */ volatile String userOverrideDefault = null; + private final PropertyValueModel<String> databaseDefaultModel; private final PropertyChangeListener databaseDefaultListener = new DatabaseDefaultListener(); /* CU private */ volatile String databaseDefault = null; @@ -1891,15 +1797,22 @@ public class JpaProjectPropertiesPage public String engageModel() { this.userOverrideDefaultFlagModel.addPropertyChangeListener(PropertyValueModel.VALUE, this.userOverrideDefaultFlagListener); + Boolean flag = this.userOverrideDefaultFlagModel.getValue(); + this.userOverrideDefaultFlag = (flag != null) && flag.booleanValue(); this.userOverrideDefaultModel.addPropertyChangeListener(PropertyValueModel.VALUE, this.userOverrideDefaultListener); + this.userOverrideDefault = this.userOverrideDefaultModel.getValue(); this.databaseDefaultModel.addPropertyChangeListener(PropertyValueModel.VALUE, this.databaseDefaultListener); + this.databaseDefault = this.databaseDefaultModel.getValue(); return this.buildValue(); } public String disengageModel() { this.databaseDefaultModel.removePropertyChangeListener(PropertyValueModel.VALUE, this.databaseDefaultListener); + this.databaseDefault = null; this.userOverrideDefaultModel.removePropertyChangeListener(PropertyValueModel.VALUE, this.userOverrideDefaultListener); + this.userOverrideDefault = null; this.userOverrideDefaultFlagModel.removePropertyChangeListener(PropertyValueModel.VALUE, this.userOverrideDefaultFlagListener); + this.userOverrideDefaultFlag = false; return null; } diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/structure/MappingStructureItemLabelProviderFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/structure/MappingStructureItemLabelProviderFactory.java index 125c58206e..a04b6285d0 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/structure/MappingStructureItemLabelProviderFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/structure/MappingStructureItemLabelProviderFactory.java @@ -15,7 +15,6 @@ import org.eclipse.jpt.common.ui.internal.jface.ModelItemExtendedLabelProvider; import org.eclipse.jpt.common.ui.internal.jface.NullItemExtendedLabelProvider; import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProvider; import org.eclipse.jpt.common.utility.internal.ObjectTools; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapterXXXX; import org.eclipse.jpt.common.utility.internal.model.value.PropertyValueModelTools; import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter; import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; @@ -70,19 +69,11 @@ public abstract class MappingStructureItemLabelProviderFactory } protected static PropertyValueModel<TypeMapping> buildPersistentTypeMappingModel(PersistentType persistentType) { - return new PersistentTypeMappingModel(persistentType); - } - - public static class PersistentTypeMappingModel - extends PropertyAspectAdapterXXXX<PersistentType, TypeMapping> - { - public PersistentTypeMappingModel(PersistentType subject) { - super(PersistentType.MAPPING_PROPERTY, subject); - } - @Override - protected TypeMapping buildValue_() { - return this.subject.getMapping(); - } + return PropertyValueModelTools.modelAspectAdapter( + persistentType, + PersistentType.MAPPING_PROPERTY, + PersistentType.MAPPING_TRANSFORMER + ); } protected static final Transformer<TypeMapping, ImageDescriptor> TYPE_MAPPING_IMAGE_DESCRIPTOR_TRANSFORMER = new TypeMappingImageDescriptorTransformer(); @@ -110,19 +101,11 @@ public abstract class MappingStructureItemLabelProviderFactory } protected static PropertyValueModel<String> buildPersistentTypeTextModel(PersistentType persistentType) { - return new PersistentTypeTextModel(persistentType); - } - - public static class PersistentTypeTextModel - extends PropertyAspectAdapterXXXX<PersistentType, String> - { - public PersistentTypeTextModel(PersistentType subject) { - super(ManagedType.NAME_PROPERTY, subject); - } - @Override - protected String buildValue_() { - return this.subject.getTypeQualifiedName(); - } + return PropertyValueModelTools.modelAspectAdapter( + persistentType, + ManagedType.TYPE_QUALIFIED_NAME_PROPERTY, + ManagedType.TYPE_QUALIFIED_NAME_TRANSFORMER + ); } protected static PropertyValueModel<String> buildPersistentTypeDescriptionModel(PersistentType persistentType) { @@ -153,19 +136,11 @@ public abstract class MappingStructureItemLabelProviderFactory } protected static PropertyValueModel<AttributeMapping> buildPersistentAttributeMappingModel(PersistentAttribute persistentAttribute) { - return new PersistentAttributeMappingModel(persistentAttribute); - } - - public static class PersistentAttributeMappingModel - extends PropertyAspectAdapterXXXX<PersistentAttribute, AttributeMapping> - { - public PersistentAttributeMappingModel(PersistentAttribute subject) { - super(PersistentAttribute.MAPPING_PROPERTY, subject); - } - @Override - protected AttributeMapping buildValue_() { - return this.subject.getMapping(); - } + return PropertyValueModelTools.modelAspectAdapter( + persistentAttribute, + PersistentAttribute.MAPPING_PROPERTY, + PersistentAttribute.MAPPING_TRANSFORMER + ); } protected static final Transformer<AttributeMapping, ImageDescriptor> ATTRIBUTE_MAPPING_IMAGE_DESCRIPTOR_TRANSFORMER = new AttributeMappingImageDescriptorTransformer(); @@ -193,19 +168,11 @@ public abstract class MappingStructureItemLabelProviderFactory } protected static PropertyValueModel<String> buildPersistentAttributeTextModel(PersistentAttribute persistentAttribute) { - return new PersistentAttributeTextModel(persistentAttribute); - } - - public static class PersistentAttributeTextModel - extends PropertyAspectAdapterXXXX<PersistentAttribute, String> - { - public PersistentAttributeTextModel(PersistentAttribute subject) { - super(PersistentAttribute.NAME_PROPERTY, subject); - } - @Override - protected String buildValue_() { - return this.subject.getName(); - } + return PropertyValueModelTools.modelAspectAdapter( + persistentAttribute, + PersistentAttribute.NAME_PROPERTY, + PersistentAttribute.NAME_TRANSFORMER + ); } protected static PropertyValueModel<String> buildPersistentAttributeDescriptionModel(PersistentAttribute persistentAttribute) { @@ -217,7 +184,7 @@ public abstract class MappingStructureItemLabelProviderFactory } protected static PropertyValueModel<String> buildTypeTextModel(PersistentAttribute persistentAttribute) { - return new PersistentTypeTextModel(persistentAttribute.getDeclaringPersistentType()); + return buildPersistentTypeTextModel(persistentAttribute.getDeclaringPersistentType()); } @Override diff --git a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/structure/PersistenceStructureItemLabelProviderFactory.java b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/structure/PersistenceStructureItemLabelProviderFactory.java index 401b926da5..de3ba9d0aa 100644 --- a/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/structure/PersistenceStructureItemLabelProviderFactory.java +++ b/jpa/plugins/org.eclipse.jpt.jpa.ui/src/org/eclipse/jpt/jpa/ui/internal/structure/PersistenceStructureItemLabelProviderFactory.java @@ -22,10 +22,10 @@ import org.eclipse.jpt.common.utility.internal.ObjectTools; import org.eclipse.jpt.common.utility.internal.collection.CollectionTools; import org.eclipse.jpt.common.utility.internal.iterable.IterableTools; import org.eclipse.jpt.common.utility.internal.model.value.ListValueModelTools; -import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapterXXXX; import org.eclipse.jpt.common.utility.internal.model.value.PropertyValueModelTools; import org.eclipse.jpt.common.utility.internal.transformer.TransformerAdapter; import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; +import org.eclipse.jpt.common.utility.transformer.Transformer; import org.eclipse.jpt.jpa.core.context.JpaContextModel; import org.eclipse.jpt.jpa.core.context.persistence.ClassRef; import org.eclipse.jpt.jpa.core.context.persistence.JarFileRef; @@ -117,37 +117,31 @@ public class PersistenceStructureItemLabelProviderFactory } protected static PropertyValueModel<String> buildPersistenceUnitTextModel(PersistenceUnit persistenceUnit) { - return new PersistenceUnitTextModel(persistenceUnit); - } - - public static class PersistenceUnitTextModel - extends PropertyAspectAdapterXXXX<PersistenceUnit, String> - { - public PersistenceUnitTextModel(PersistenceUnit subject) { - super(PersistenceUnit.NAME_PROPERTY, subject); - } - @Override - protected String buildValue_() { - return this.subject.getName(); - } + return PropertyValueModelTools.modelAspectAdapter( + persistenceUnit, + PersistenceUnit.NAME_PROPERTY, + PersistenceUnit.NAME_TRANSFORMER + ); } protected static PropertyValueModel<String> buildPersistenceUnitDescriptionModel(PersistenceUnit persistenceUnit) { - return new PersistenceUnitDescriptionModel(persistenceUnit); + return PropertyValueModelTools.modelAspectAdapter( + persistenceUnit, + PersistenceUnit.NAME_PROPERTY, + PERSISTENT_UNIT_DESCRIPTION_TRANSFORMER + ); } - public static class PersistenceUnitDescriptionModel - extends PersistenceUnitTextModel + public static final Transformer<PersistenceUnit, String> PERSISTENT_UNIT_DESCRIPTION_TRANSFORMER = new PersistentUnitDescriptionTransformer(); + public static final class PersistentUnitDescriptionTransformer + extends TransformerAdapter<PersistenceUnit, String> { - public PersistenceUnitDescriptionModel(PersistenceUnit subject) { - super(subject); - } @Override - protected String buildValue_() { + public String transform(PersistenceUnit pu) { StringBuilder sb = new StringBuilder(); - sb.append(super.buildValue_()); + sb.append(pu.getName()); sb.append(" - "); //$NON-NLS-1$ - sb.append(this.subject.getResource().getFullPath().makeRelative()); + sb.append(pu.getResource().getFullPath().makeRelative()); return sb.toString(); } } @@ -171,7 +165,11 @@ public class PersistenceStructureItemLabelProviderFactory } protected PropertyValueModel<String> buildMappingFileRefTextModel(MappingFileRef mappingFileRef) { - return PropertyValueModelTools.modelAspectAdapter(mappingFileRef, MappingFileRef.FILE_NAME_PROPERTY, MappingFileRef.FILE_NAME_TRANSFORMER); + return PropertyValueModelTools.modelAspectAdapter( + mappingFileRef, + MappingFileRef.FILE_NAME_PROPERTY, + MappingFileRef.FILE_NAME_TRANSFORMER + ); } protected PropertyValueModel<String> buildMappingFileRefDescriptionModel(MappingFileRef mappingFileRef) { @@ -198,7 +196,11 @@ public class PersistenceStructureItemLabelProviderFactory } protected PropertyValueModel<String> buildClassRefTextModel(ClassRef classRef) { - return PropertyValueModelTools.modelAspectAdapter(classRef, ClassRef.CLASS_NAME_PROPERTY, ClassRef.CLASS_NAME_TRANSFORMER); + return PropertyValueModelTools.modelAspectAdapter( + classRef, + ClassRef.CLASS_NAME_PROPERTY, + ClassRef.CLASS_NAME_TRANSFORMER + ); } protected PropertyValueModel<String> buildClassRefDescriptionModel(ClassRef classRef) { @@ -226,7 +228,11 @@ public class PersistenceStructureItemLabelProviderFactory } protected PropertyValueModel<String> buildJarFileRefTextModel(JarFileRef jarFileRef) { - return PropertyValueModelTools.modelAspectAdapter(jarFileRef, JarFileRef.FILE_NAME_PROPERTY, JarFileRef.FILE_NAME_TRANSFORMER); + return PropertyValueModelTools.modelAspectAdapter( + jarFileRef, + JarFileRef.FILE_NAME_PROPERTY, + JarFileRef.FILE_NAME_TRANSFORMER + ); } protected PropertyValueModel<String> buildJarFileRefDescriptionModel(JarFileRef jarFileRef) { |