All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dk.eobjects.metamodel.schema.CompositeSchema Maven / Gradle / Ivy

The newest version!
package dk.eobjects.metamodel.schema;

import java.util.Collection;
import java.util.HashSet;
import java.util.Set;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class CompositeSchema extends Schema {

	private static final long serialVersionUID = -4018186004438335133L;

	private final Log _log = LogFactory.getLog(getClass());

	public CompositeSchema(String name, Collection delegates) {
		super(name);
		for (Schema delegate : delegates) {
			Table[] tables = delegate.getTables();
			for (Table table : tables) {
				if (_log.isInfoEnabled()) {
					_log.info("Adding to composite schema: " + table);
				}
				_tables.add(table);
			}
		}
		if (_log.isWarnEnabled()) {
			Set names = new HashSet();
			for (Table table : _tables) {
				if (names.contains(table.getName())) {
					_log.warn("Name-clash detected for Table "
							+ table.getName() + ".");
					_log.warn("getTableByName(\"" + table.getName()
							+ "\") will return just the first table.");
				} else {
					names.add(table.getName());
				}
			}
		}
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy