/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.modelgenerator.util; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.teiid.designer.modelgenerator.processor.DatatypeFinder; /** * FakeDatatypeFinder */ public class FakeDatatypeFinder implements DatatypeFinder { public Map dataTypeToSimpleDatatype; /** * Construct an instance of FakeDatatypeFinder. */ public FakeDatatypeFinder() { dataTypeToSimpleDatatype = new HashMap(); } /* * (non-Javadoc) * * @See org.teiid.designer.modelgenerator.processor.DatatypeFinder#findDatatype(java.lang.String) */ @Override public EObject findDatatype( String name ) { return getDatatypeForString(name); } /* * (non-Javadoc) * * @See org.teiid.designer.modelgenerator.processor.DatatypeFinder#findDatatype(org.eclipse.emf.common.util.URI) */ @Override public EObject findDatatype( URI uri ) { return getDatatypeForString(uri.toString()); } /* * (non-Javadoc) * * @See org.teiid.designer.modelgenerator.processor.DatatypeFinder#findAllDatatypes(java.lang.String) */ @Override public List findAllDatatypes( String name ) { return getDatatypesForString(name); } /* * (non-Javadoc) * * @See org.teiid.designer.modelgenerator.processor.DatatypeFinder#findAllDatatypes(org.eclipse.emf.common.util.URI) */ @Override public List findAllDatatypes( URI uri ) { return getDatatypesForString(uri.toString()); } public void addMapping( String dataTypeName, EObject simpleDatatype ) { List simpleDatatypes = (List)dataTypeToSimpleDatatype.get(dataTypeName); if (null == simpleDatatypes) { simpleDatatypes = new LinkedList(); simpleDatatypes.add(simpleDatatype); dataTypeToSimpleDatatype.put(dataTypeName, simpleDatatypes); } else { simpleDatatypes.add(simpleDatatype); } } private EObject getDatatypeForString( String string ) { List simpleDatatypes = (List)dataTypeToSimpleDatatype.get(string); if (null == simpleDatatypes || simpleDatatypes.size() == 0) { return null; } return (EObject)simpleDatatypes.get(0); } private List getDatatypesForString( String string ) { List simpleDatatypes = (List)dataTypeToSimpleDatatype.get(string); if (null == simpleDatatypes || simpleDatatypes.size() == 0) { return null; } return simpleDatatypes; } }