Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmoore2011-08-01 15:10:18 +0000
committerkmoore2011-08-01 15:10:18 +0000
commitc7a08672e168714087c16ed7123975c92c21d7d9 (patch)
treec9cbd3a49133c49f67cd31001507066e9c0a595f /jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmTable.java
parent188fe8a8a0f3f5e21db478434744dd8756739a4f (diff)
downloadwebtools.dali-c7a08672e168714087c16ed7123975c92c21d7d9.tar.gz
webtools.dali-c7a08672e168714087c16ed7123975c92c21d7d9.tar.xz
webtools.dali-c7a08672e168714087c16ed7123975c92c21d7d9.zip
consolidation of the java resource model for JAXB and JPA. Changing API to Iterables instead of Iterators
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmTable.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmTable.java103
1 files changed, 33 insertions, 70 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmTable.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmTable.java
index d7c3600bcc..49f3494e1e 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmTable.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/context/orm/AbstractOrmTable.java
@@ -11,14 +11,10 @@ package org.eclipse.jpt.jpa.core.internal.context.orm;
import java.util.Iterator;
import java.util.List;
-import java.util.ListIterator;
-import java.util.Vector;
import org.eclipse.jpt.common.core.utility.TextRange;
-import org.eclipse.jpt.common.utility.internal.CollectionTools;
import org.eclipse.jpt.common.utility.internal.NameTools;
-import org.eclipse.jpt.common.utility.internal.iterables.EmptyIterable;
+import org.eclipse.jpt.common.utility.internal.iterables.EmptyListIterable;
import org.eclipse.jpt.common.utility.internal.iterables.ListIterable;
-import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneIterable;
import org.eclipse.jpt.common.utility.internal.iterables.LiveCloneListIterable;
import org.eclipse.jpt.common.utility.internal.iterators.EmptyIterator;
import org.eclipse.jpt.jpa.core.context.ReadOnlyTable;
@@ -27,7 +23,6 @@ import org.eclipse.jpt.jpa.core.context.UniqueConstraint;
import org.eclipse.jpt.jpa.core.context.XmlContextNode;
import org.eclipse.jpt.jpa.core.context.orm.OrmTable;
import org.eclipse.jpt.jpa.core.context.orm.OrmUniqueConstraint;
-import org.eclipse.jpt.jpa.core.internal.context.ContextContainerTools;
import org.eclipse.jpt.jpa.core.internal.context.JptValidator;
import org.eclipse.jpt.jpa.core.internal.context.TableTextRangeResolver;
import org.eclipse.jpt.jpa.core.resource.orm.AbstractXmlTable;
@@ -65,8 +60,7 @@ public abstract class AbstractOrmTable<X extends AbstractXmlTable>
protected String specifiedCatalog;
protected String defaultCatalog;
- protected final Vector<OrmUniqueConstraint> uniqueConstraints = new Vector<OrmUniqueConstraint>();
- protected final UniqueConstraintContainerAdapter uniqueConstraintContainerAdapter = new UniqueConstraintContainerAdapter();
+ protected final UniqueConstraintContainer uniqueConstraintContainer;
// ********** constructor/initialization **********
@@ -82,7 +76,7 @@ public abstract class AbstractOrmTable<X extends AbstractXmlTable>
this.specifiedName = this.buildSpecifiedName();
this.specifiedSchema = this.buildSpecifiedSchema();
this.specifiedCatalog = this.buildSpecifiedCatalog();
- this.initializeUniqueContraints();
+ this.uniqueConstraintContainer = new UniqueConstraintContainer();
}
@@ -277,30 +271,26 @@ public abstract class AbstractOrmTable<X extends AbstractXmlTable>
// ********** unique constraints **********
- public ListIterator<OrmUniqueConstraint> uniqueConstraints() {
- return this.getUniqueConstraints().iterator();
+ public ListIterable<OrmUniqueConstraint> getUniqueConstraints() {
+ return this.uniqueConstraintContainer.getContextElements();
}
- protected ListIterable<OrmUniqueConstraint> getUniqueConstraints() {
- return new LiveCloneListIterable<OrmUniqueConstraint>(this.uniqueConstraints);
- }
-
- public int uniqueConstraintsSize() {
- return this.uniqueConstraints.size();
+ public int getUniqueConstraintsSize() {
+ return this.uniqueConstraintContainer.getContextElementsSize();
}
public OrmUniqueConstraint getUniqueConstraint(int index) {
- return this.uniqueConstraints.get(index);
+ return this.uniqueConstraintContainer.getContextElement(index);
}
public OrmUniqueConstraint addUniqueConstraint() {
- return this.addUniqueConstraint(this.uniqueConstraints.size());
+ return this.addUniqueConstraint(this.getUniqueConstraintsSize());
}
public OrmUniqueConstraint addUniqueConstraint(int index) {
X xmlTable = this.getXmlTableForUpdate();
XmlUniqueConstraint xmlConstraint = this.buildXmlUniqueConstraint();
- OrmUniqueConstraint constraint = this.addUniqueConstraint_(index, xmlConstraint);
+ OrmUniqueConstraint constraint = this.uniqueConstraintContainer.addContextElement(index, xmlConstraint);
xmlTable.getUniqueConstraints().add(index, xmlConstraint);
return constraint;
}
@@ -309,85 +299,58 @@ public abstract class AbstractOrmTable<X extends AbstractXmlTable>
return OrmFactory.eINSTANCE.createXmlUniqueConstraint();
}
- public void removeUniqueConstraint(UniqueConstraint constraint) {
- this.removeUniqueConstraint(this.uniqueConstraints.indexOf(constraint));
+ public void removeUniqueConstraint(UniqueConstraint uniqueConstraint) {
+ this.removeUniqueConstraint(this.uniqueConstraintContainer.indexOfContextElement((OrmUniqueConstraint) uniqueConstraint));
}
public void removeUniqueConstraint(int index) {
- this.removeUniqueConstraint_(index);
+ this.uniqueConstraintContainer.removeContextElement(index);
this.getXmlTable().getUniqueConstraints().remove(index);
this.removeXmlTableIfUnset();
}
- protected void removeUniqueConstraint_(int index) {
- this.removeItemFromList(index, this.uniqueConstraints, UNIQUE_CONSTRAINTS_LIST);
- }
-
public void moveUniqueConstraint(int targetIndex, int sourceIndex) {
- this.moveItemInList(targetIndex, sourceIndex, this.uniqueConstraints, UNIQUE_CONSTRAINTS_LIST);
+ this.uniqueConstraintContainer.moveContextElement(targetIndex, sourceIndex);
this.getXmlTable().getUniqueConstraints().move(targetIndex, sourceIndex);
}
- protected void initializeUniqueContraints() {
- for (XmlUniqueConstraint xmlConstraint : this.getXmlUniqueConstraints()) {
- this.uniqueConstraints.add(this.buildUniqueConstraint(xmlConstraint));
- }
- }
-
protected OrmUniqueConstraint buildUniqueConstraint(XmlUniqueConstraint xmlConstraint) {
return this.getContextNodeFactory().buildOrmUniqueConstraint(this, this, xmlConstraint);
}
protected void syncUniqueConstraints() {
- ContextContainerTools.synchronizeWithResourceModel(this.uniqueConstraintContainerAdapter);
+ this.uniqueConstraintContainer.synchronizeWithResourceModel();
}
-
- protected Iterable<XmlUniqueConstraint> getXmlUniqueConstraints() {
+ protected ListIterable<XmlUniqueConstraint> getXmlUniqueConstraints() {
X xmlTable = this.getXmlTable();
return (xmlTable == null) ?
- EmptyIterable.<XmlUniqueConstraint>instance() :
+ EmptyListIterable.<XmlUniqueConstraint>instance() :
// clone to reduce chance of concurrency problems
- new LiveCloneIterable<XmlUniqueConstraint>(xmlTable.getUniqueConstraints());
- }
-
- protected void moveUniqueConstraint_(int index, OrmUniqueConstraint constraint) {
- this.moveItemInList(index, constraint, this.uniqueConstraints, UNIQUE_CONSTRAINTS_LIST);
- }
-
- protected OrmUniqueConstraint addUniqueConstraint_(int index, XmlUniqueConstraint xmlConstraint) {
- OrmUniqueConstraint constraint = this.buildUniqueConstraint(xmlConstraint);
- this.addItemToList(index, constraint, this.uniqueConstraints, UNIQUE_CONSTRAINTS_LIST);
- return constraint;
- }
-
- protected void removeUniqueConstraint_(OrmUniqueConstraint constraint) {
- this.removeUniqueConstraint_(this.uniqueConstraints.indexOf(constraint));
+ new LiveCloneListIterable<XmlUniqueConstraint>(xmlTable.getUniqueConstraints());
}
/**
- * unique constraint container adapter
+ * unique constraint container
*/
- protected class UniqueConstraintContainerAdapter
- implements ContextContainerTools.Adapter<OrmUniqueConstraint, XmlUniqueConstraint>
+ protected class UniqueConstraintContainer
+ extends ContextListContainer<OrmUniqueConstraint, XmlUniqueConstraint>
{
- public Iterable<OrmUniqueConstraint> getContextElements() {
- return AbstractOrmTable.this.getUniqueConstraints();
+ @Override
+ protected String getContextElementsPropertyName() {
+ return UNIQUE_CONSTRAINTS_LIST;
}
- public Iterable<XmlUniqueConstraint> getResourceElements() {
+ @Override
+ protected OrmUniqueConstraint buildContextElement(XmlUniqueConstraint resourceElement) {
+ return AbstractOrmTable.this.buildUniqueConstraint(resourceElement);
+ }
+ @Override
+ protected ListIterable<XmlUniqueConstraint> getResourceElements() {
return AbstractOrmTable.this.getXmlUniqueConstraints();
}
- public XmlUniqueConstraint getResourceElement(OrmUniqueConstraint contextElement) {
+ @Override
+ protected XmlUniqueConstraint getResourceElement(OrmUniqueConstraint contextElement) {
return contextElement.getXmlUniqueConstraint();
}
- public void moveContextElement(int index, OrmUniqueConstraint element) {
- AbstractOrmTable.this.moveUniqueConstraint_(index, element);
- }
- public void addContextElement(int index, XmlUniqueConstraint resourceElement) {
- AbstractOrmTable.this.addUniqueConstraint_(index, resourceElement);
- }
- public void removeContextElement(OrmUniqueConstraint element) {
- AbstractOrmTable.this.removeUniqueConstraint_(element);
- }
}
@@ -516,7 +479,7 @@ public abstract class AbstractOrmTable<X extends AbstractXmlTable>
this.setSpecifiedName(oldTable.getSpecifiedName());
this.setSpecifiedCatalog(oldTable.getSpecifiedCatalog());
this.setSpecifiedSchema(oldTable.getSpecifiedSchema());
- for (ReadOnlyUniqueConstraint constraint : CollectionTools.iterable(oldTable.uniqueConstraints())) {
+ for (ReadOnlyUniqueConstraint constraint : oldTable.getUniqueConstraints()) {
this.addUniqueConstraint().initializeFrom(constraint);
}
}

Back to the top