Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPSchemaContainerWrapper.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPSchemaContainerWrapper.java159
1 files changed, 0 insertions, 159 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPSchemaContainerWrapper.java b/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPSchemaContainerWrapper.java
deleted file mode 100644
index 21a13551ad..0000000000
--- a/jpa/plugins/org.eclipse.jpt.db/src/org/eclipse/jpt/db/internal/DTPSchemaContainerWrapper.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006, 2008 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.db.internal;
-
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.jpt.db.Schema;
-import org.eclipse.jpt.db.SchemaContainer;
-import org.eclipse.jpt.utility.internal.StringTools;
-import org.eclipse.jpt.utility.internal.iterators.ArrayIterator;
-import org.eclipse.jpt.utility.internal.iterators.TransformationIterator;
-
-/**
- * Coalesce behavior for a schema container (i.e. database or catalog).
- */
-abstract class DTPSchemaContainerWrapper
- extends DTPWrapper
- implements SchemaContainer
-{
- // lazy-initialized
- private DTPSchemaWrapper[] schemata;
-
-
- // ********** constructor **********
-
- DTPSchemaContainerWrapper(ConnectionProfileHolder connectionProfileHolder, Object dtpObject) {
- super(connectionProfileHolder, dtpObject);
- }
-
-
- // ********** DTPWrapper implementation **********
-
- @Override
- synchronized void catalogObjectChanged(int eventType) {
- // clear stuff so it will be rebuilt
- this.dispose_();
- }
-
-
- // ********** abstract methods **********
-
- abstract DTPDatabaseWrapper database();
-
- abstract boolean isCaseSensitive();
-
- abstract List<org.eclipse.datatools.modelbase.sql.schema.Schema> dtpSchemata();
-
-
- // ********** schemata **********
-
- public Iterator<Schema> schemata() {
- return new ArrayIterator<Schema>(this.schemata_());
- }
-
- private Iterator<DTPSchemaWrapper> schemaWrappers() {
- return new ArrayIterator<DTPSchemaWrapper>(this.schemata_());
- }
-
- synchronized DTPSchemaWrapper[] schemata_() {
- if (this.schemata == null) {
- this.schemata = this.buildSchemata();
- }
- return this.schemata;
- }
-
- private DTPSchemaWrapper[] buildSchemata() {
- List<org.eclipse.datatools.modelbase.sql.schema.Schema> dtpSchemata = this.dtpSchemata();
- DTPSchemaWrapper[] result = new DTPSchemaWrapper[dtpSchemata.size()];
- for (int i = result.length; i-- > 0;) {
- result[i] = new DTPSchemaWrapper(this, dtpSchemata.get(i));
- }
- return result;
- }
-
- public int schemataSize() {
- return this.schemata_().length;
- }
-
- public Iterator<String> schemaNames() {
- return new TransformationIterator<DTPSchemaWrapper, String>(this.schemaWrappers()) {
- @Override
- protected String transform(DTPSchemaWrapper schema) {
- return schema.getName();
- }
- };
- }
-
- public boolean containsSchemaNamed(String name) {
- return this.schemaNamed(name) != null;
- }
-
- public DTPSchemaWrapper schemaNamed(String name) {
- return this.isCaseSensitive() ? this.schemaNamedCaseSensitive(name) : this.schemaNamedIgnoreCase(name);
- }
-
- private DTPSchemaWrapper schemaNamedCaseSensitive(String name) {
- for (Iterator<DTPSchemaWrapper> stream = this.schemaWrappers(); stream.hasNext(); ) {
- DTPSchemaWrapper schema = stream.next();
- if (schema.getName().equals(name)) {
- return schema;
- }
- }
- return null;
- }
-
- private DTPSchemaWrapper schemaNamedIgnoreCase(String name) {
- for (Iterator<DTPSchemaWrapper> stream = this.schemaWrappers(); stream.hasNext(); ) {
- DTPSchemaWrapper schema = stream.next();
- if (StringTools.stringsAreEqualIgnoreCase(schema.getName(), name)) {
- return schema;
- }
- }
- return null;
- }
-
- /**
- * return the schema for the specified DTP schema
- */
- DTPSchemaWrapper schema(org.eclipse.datatools.modelbase.sql.schema.Schema dtpSchema) {
- for (Iterator<DTPSchemaWrapper> stream = this.schemaWrappers(); stream.hasNext(); ) {
- DTPSchemaWrapper schema = stream.next();
- if (schema.wraps(dtpSchema)) {
- return schema;
- }
- }
- throw new IllegalArgumentException("invalid DTP schema: " + dtpSchema); //$NON-NLS-1$
- }
-
-
- // ********** disposal **********
-
- @Override
- synchronized void dispose() {
- this.dispose_();
- super.dispose();
- }
-
- void dispose_() {
- this.disposeSchemata();
- }
-
- private void disposeSchemata() {
- if (this.schemata != null) {
- for (DTPSchemaWrapper schema : this.schemata) {
- schema.dispose();
- }
- this.schemata = null;
- }
- }
-
-}

Back to the top