Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/PersistenceUnitDefaultsImpl.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/PersistenceUnitDefaultsImpl.java207
1 files changed, 207 insertions, 0 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/PersistenceUnitDefaultsImpl.java b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/PersistenceUnitDefaultsImpl.java
new file mode 100644
index 0000000000..cd8a3c32db
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.core/src/org/eclipse/jpt/core/internal/context/orm/PersistenceUnitDefaultsImpl.java
@@ -0,0 +1,207 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2007 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.
+ *
+ * Contributors:
+ * Oracle - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.jpt.core.internal.context.orm;
+
+import org.eclipse.jpt.core.internal.context.base.AccessType;
+import org.eclipse.jpt.core.internal.context.base.JpaContextNode;
+import org.eclipse.jpt.core.internal.resource.orm.OrmFactory;
+
+public class PersistenceUnitDefaultsImpl extends JpaContextNode
+ implements PersistenceUnitDefaults
+{
+ protected String schema;
+
+ protected String catalog;
+
+ protected AccessType access;
+
+ protected boolean cascadePersist;
+
+ protected org.eclipse.jpt.core.internal.resource.orm.EntityMappings entityMappings;
+
+ public PersistenceUnitDefaultsImpl(PersistenceUnitMetadata parent) {
+ super(parent);
+ }
+
+ public AccessType getAccess() {
+ return this.access;
+ }
+
+ public void setAccess(AccessType newAccess) {
+ AccessType oldAccess = this.access;
+ this.access = newAccess;
+ if (oldAccess != newAccess) {
+ if (this.persistenceUnitDefaults() != null) {
+ this.persistenceUnitDefaults().setAccess(AccessType.toXmlResourceModel(newAccess));
+ if (this.persistenceUnitDefaults().isAllFeaturesUnset()) {
+ this.persistenceUnitMetadata().setPersistenceUnitDefaults(null);
+ if (this.persistenceUnitMetadata().isAllFeaturesUnset()) {
+ this.entityMappings.setPersistenceUnitMetadata(null);
+ }
+ }
+ }
+ else {
+ if (persistenceUnitMetadata() == null) {
+ this.entityMappings.setPersistenceUnitMetadata(OrmFactory.eINSTANCE.createPersistenceUnitMetadata());
+ }
+ persistenceUnitMetadata().setPersistenceUnitDefaults(OrmFactory.eINSTANCE.createPersistenceUnitDefaults());
+ persistenceUnitDefaults().setAccess(AccessType.toXmlResourceModel(newAccess));
+ }
+ }
+ firePropertyChanged(PersistenceUnitDefaults.ACCESS_PROPERTY, oldAccess, newAccess);
+ }
+
+ protected void setAccess_(AccessType newAccess) {
+ AccessType oldAccess = this.access;
+ this.access = newAccess;
+ firePropertyChanged(PersistenceUnitDefaults.ACCESS_PROPERTY, oldAccess, newAccess);
+ }
+
+ public String getCatalog() {
+ return this.catalog;
+ }
+
+ public void setCatalog(String newCatalog) {
+ String oldCatalog = this.catalog;
+ this.catalog = newCatalog;
+ if (oldCatalog != newCatalog) {
+ if (this.persistenceUnitDefaults() != null) {
+ this.persistenceUnitDefaults().setCatalog(newCatalog);
+ if (this.persistenceUnitDefaults().isAllFeaturesUnset()) {
+ this.persistenceUnitMetadata().setPersistenceUnitDefaults(null);
+ if (this.persistenceUnitMetadata().isAllFeaturesUnset()) {
+ this.entityMappings.setPersistenceUnitMetadata(null);
+ }
+ }
+ }
+ else {
+ if (persistenceUnitMetadata() == null) {
+ this.entityMappings.setPersistenceUnitMetadata(OrmFactory.eINSTANCE.createPersistenceUnitMetadata());
+ }
+ persistenceUnitMetadata().setPersistenceUnitDefaults(OrmFactory.eINSTANCE.createPersistenceUnitDefaults());
+ persistenceUnitDefaults().setCatalog(newCatalog);
+ }
+ }
+ firePropertyChanged(PersistenceUnitDefaults.CATALOG_PROPERTY, oldCatalog, newCatalog);
+ }
+
+ protected void setCatalog_(String newCatalog) {
+ String oldCatalog = this.catalog;
+ this.catalog = newCatalog;
+ firePropertyChanged(PersistenceUnitDefaults.CATALOG_PROPERTY, oldCatalog, newCatalog);
+ }
+
+ public String getSchema() {
+ return this.schema;
+ }
+
+ public void setSchema(String newSchema) {
+ String oldSchema = this.schema;
+ this.schema = newSchema;
+ if (oldSchema != newSchema) {
+ if (this.persistenceUnitDefaults() != null) {
+ this.persistenceUnitDefaults().setSchema(newSchema);
+ if (this.persistenceUnitDefaults().isAllFeaturesUnset()) {
+ this.persistenceUnitMetadata().setPersistenceUnitDefaults(null);
+ if (this.persistenceUnitMetadata().isAllFeaturesUnset()) {
+ this.entityMappings.setPersistenceUnitMetadata(null);
+ }
+ }
+ }
+ else {
+ if (persistenceUnitMetadata() == null) {
+ this.entityMappings.setPersistenceUnitMetadata(OrmFactory.eINSTANCE.createPersistenceUnitMetadata());
+ }
+ persistenceUnitMetadata().setPersistenceUnitDefaults(OrmFactory.eINSTANCE.createPersistenceUnitDefaults());
+ persistenceUnitDefaults().setSchema(newSchema);
+ }
+ }
+ firePropertyChanged(PersistenceUnitDefaults.SCHEMA_PROPERTY, oldSchema, newSchema);
+ }
+
+ protected void setSchema_(String newSchema) {
+ String oldSchema = this.schema;
+ this.schema = newSchema;
+ firePropertyChanged(PersistenceUnitDefaults.SCHEMA_PROPERTY, oldSchema, newSchema);
+ }
+
+ public boolean isCascadePersist() {
+ return this.cascadePersist;
+ }
+
+ public void setCascadePersist(boolean newCascadePersist) {
+ boolean oldCascadePersist = this.cascadePersist;
+ this.cascadePersist = newCascadePersist;
+ if (oldCascadePersist != newCascadePersist) {
+ if (this.persistenceUnitDefaults() != null) {
+ this.persistenceUnitDefaults().setCascadePersist(newCascadePersist);
+ if (this.persistenceUnitDefaults().isAllFeaturesUnset()) {
+ this.persistenceUnitMetadata().setPersistenceUnitDefaults(null);
+ if (this.persistenceUnitMetadata().isAllFeaturesUnset()) {
+ this.entityMappings.setPersistenceUnitMetadata(null);
+ }
+ }
+ }
+ else if (newCascadePersist) {
+ if (persistenceUnitMetadata() == null) {
+ this.entityMappings.setPersistenceUnitMetadata(OrmFactory.eINSTANCE.createPersistenceUnitMetadata());
+ }
+ persistenceUnitMetadata().setPersistenceUnitDefaults(OrmFactory.eINSTANCE.createPersistenceUnitDefaults());
+ persistenceUnitDefaults().setCascadePersist(newCascadePersist);
+ }
+ }
+ firePropertyChanged(PersistenceUnitDefaults.CASCADE_PERSIST_PROPERTY, oldCascadePersist, newCascadePersist);
+ }
+
+ protected void setCascadePersist_(boolean newCascadePersist) {
+ boolean oldCascadePersist = this.cascadePersist;
+ this.cascadePersist = newCascadePersist;
+ firePropertyChanged(PersistenceUnitDefaults.CASCADE_PERSIST_PROPERTY, oldCascadePersist, newCascadePersist);
+ }
+
+ public void initialize(org.eclipse.jpt.core.internal.resource.orm.EntityMappings entityMappings) {
+ this.entityMappings = entityMappings;
+ if (this.persistenceUnitDefaults() != null) {
+ this.access = AccessType.fromXmlResourceModel(this.persistenceUnitDefaults().getAccess());
+ this.cascadePersist = this.persistenceUnitDefaults().isCascadePersist();
+ this.catalog = this.persistenceUnitDefaults().getCatalog();
+ this.schema = this.persistenceUnitDefaults().getSchema();
+ }
+ }
+
+
+ public void update(org.eclipse.jpt.core.internal.resource.orm.EntityMappings entityMappings) {
+ this.entityMappings = entityMappings;
+ if (this.persistenceUnitDefaults() != null) {
+ this.setAccess_(AccessType.fromXmlResourceModel(this.persistenceUnitDefaults().getAccess()));
+ this.setCascadePersist_(this.persistenceUnitDefaults().isCascadePersist());
+ this.setCatalog_(this.persistenceUnitDefaults().getCatalog());
+ this.setSchema_(this.persistenceUnitDefaults().getSchema());
+ }
+ else {
+ this.setAccess_(null);
+ this.setCascadePersist_(false);
+ this.setCatalog_(null);
+ this.setSchema_(null);
+ }
+ }
+
+ protected org.eclipse.jpt.core.internal.resource.orm.PersistenceUnitDefaults persistenceUnitDefaults() {
+ if (persistenceUnitMetadata() != null) {
+ return persistenceUnitMetadata().getPersistenceUnitDefaults();
+ }
+ return null;
+ }
+
+ protected org.eclipse.jpt.core.internal.resource.orm.PersistenceUnitMetadata persistenceUnitMetadata() {
+ return this.entityMappings.getPersistenceUnitMetadata();
+ }
+
+}

Back to the top