Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.gen/src/org/eclipse/jpt/gen/internal/old/GenScope.java')
-rw-r--r--jpa/plugins/org.eclipse.jpt.gen/src/org/eclipse/jpt/gen/internal/old/GenScope.java186
1 files changed, 0 insertions, 186 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.gen/src/org/eclipse/jpt/gen/internal/old/GenScope.java b/jpa/plugins/org.eclipse.jpt.gen/src/org/eclipse/jpt/gen/internal/old/GenScope.java
deleted file mode 100644
index 126345f8ea..0000000000
--- a/jpa/plugins/org.eclipse.jpt.gen/src/org/eclipse/jpt/gen/internal/old/GenScope.java
+++ /dev/null
@@ -1,186 +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.gen.internal.old;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.OperationCanceledException;
-import org.eclipse.core.runtime.SubMonitor;
-import org.eclipse.jpt.db.Table;
-import org.eclipse.jpt.utility.internal.CollectionTools;
-import org.eclipse.jpt.utility.internal.StringTools;
-import org.eclipse.jpt.utility.internal.iterators.FilteringIterator;
-
-/**
- * Build a GenTable for each db.Table passed in.
- * Determine all the relations among the tables in the scope:
- * many-to-many
- * many-to-one
- * one-to-many
- * Make a first pass to determine each entity table's Java attribute names,
- * because we will need them on subsequent passes.
- */
-class GenScope {
- private final EntityGenerator.Config entityConfig;
- private final HashMap<Table, GenTable> genTables;
-
-
- // ********** construction/initialization **********
-
- GenScope(EntityGenerator.Config entityConfig, IProgressMonitor progressMonitor) {
- super();
- this.entityConfig = entityConfig;
- this.genTables = new HashMap<Table, GenTable>(entityConfig.tablesSize());
- SubMonitor sm = SubMonitor.convert(progressMonitor, JptGenMessages.GenScope_taskName, 4);
-
- this.buildGenTables();
- sm.worked(1);
- this.checkCanceled(sm);
-
- this.buildManyToManyRelations();
- sm.worked(1);
- this.checkCanceled(sm);
-
- this.buildManyToOneRelations(); // this will also build the corresponding one-to-many relations
- sm.worked(1);
- this.checkCanceled(sm);
-
- this.buildAttributeNames();
- sm.worked(1);
- this.checkCanceled(sm);
- }
-
- private void buildGenTables() {
- for (Iterator<Table> stream = entityConfig.tables(); stream.hasNext(); ) {
- Table table = stream.next();
- this.genTables.put(table, new GenTable(this, table));
- }
- }
-
- /**
- * find all the "join" tables
- */
- private void buildManyToManyRelations() {
- for (Iterator<GenTable> stream = this.genTables(); stream.hasNext(); ) {
- stream.next().buildJoinTableRelation();
- }
-
- // revert any "join" table that is referenced by another table back to an "entity" table
- HashSet<GenTable> referencedGenTables = this.buildReferencedGenTables();
- for (Iterator<GenTable> stream = this.joinGenTables(); stream.hasNext(); ) {
- GenTable joinGenTable = stream.next();
- if (referencedGenTables.contains(joinGenTable)) {
- joinGenTable.clearJoinTableRelation();
- }
- }
- }
-
- /**
- * find all the many-to-one and corresponding one-to-many relations
- */
- private void buildManyToOneRelations() {
- for (Iterator<GenTable> stream = this.entityGenTables(); stream.hasNext(); ) {
- stream.next().buildManyToOneRelations();
- }
- }
-
- /**
- * determine all the Java attribute names up-front because we will
- * need them for things like 'mappedBy' annotation elements
- */
- private void buildAttributeNames() {
- for (Iterator<GenTable> stream = this.entityGenTables(); stream.hasNext(); ) {
- stream.next().buildAttributeNames();
- }
- }
-
-
- // ********** package API **********
-
- EntityGenerator.Config getEntityConfig() {
- return this.entityConfig;
- }
-
- /**
- * return only the gen tables that are suitable for generating
- * entities (i.e. exclude the "join" tables)
- */
- Iterator<GenTable> entityGenTables() {
- return new FilteringIterator<GenTable, GenTable>(this.genTables()) {
- @Override
- protected boolean accept(GenTable genTable) {
- return ! genTable.isJoinTable();
- }
- };
- }
-
- int entityTablesSize() {
- return CollectionTools.size(this.entityGenTables());
- }
-
- /**
- * return the gen table corresponding to the specified db table;
- * return null if the gen table is not "in-scope" (e.g. a db foreign key
- * might have a reference to a db table that was not included in the
- * scope, so we won't have a corresponding gen table)
- */
- GenTable getGenTable(Table table) {
- return this.genTables.get(table);
- }
-
-
- // ********** internal methods **********
-
- private Iterator<GenTable> genTables() {
- return this.genTables.values().iterator();
- }
-
- private int genTablesSize() {
- return this.genTables.size();
- }
-
- /**
- * return only the "join" gen tables
- */
- private Iterator<GenTable> joinGenTables() {
- return new FilteringIterator<GenTable, GenTable>(this.genTables()) {
- @Override
- protected boolean accept(GenTable genTable) {
- return genTable.isJoinTable();
- }
- };
- }
-
- /**
- * build a set of the gen tables that are referenced by other gen tables
- * in the scope
- */
- private HashSet<GenTable> buildReferencedGenTables() {
- HashSet<GenTable> referencedGenTables = new HashSet<GenTable>(this.genTablesSize());
- for (Iterator<GenTable> stream = this.genTables(); stream.hasNext(); ) {
- stream.next().addReferencedGenTablesTo(referencedGenTables);
- }
- return referencedGenTables;
- }
-
- private void checkCanceled(IProgressMonitor progressMonitor) {
- if (progressMonitor.isCanceled()) {
- throw new OperationCanceledException();
- }
- }
-
- @Override
- public String toString() {
- return StringTools.buildToStringFor(this, this.genTables);
- }
-
-}

Back to the top