Search in sources :

Example 6 with ConnectorManagerException

use of org.teiid.dqp.internal.datamgr.ConnectorManagerRepository.ConnectorManagerException in project teiid by teiid.

the class FakeServer method deployVDB.

public void deployVDB(String vdbName, MetadataStore metadata, DeployVDBParameter parameterObject) {
    VDBMetaData vdbMetaData = null;
    try {
        if (parameterObject.vdbResources != null && parameterObject.useVdbXml) {
            VDBResource resource = parameterObject.vdbResources.get("/META-INF/vdb.xml");
            if (resource != null) {
                vdbMetaData = VDBMetadataParser.unmarshell(resource.openStream());
            }
        }
        if (vdbMetaData == null) {
            vdbMetaData = new VDBMetaData();
            vdbMetaData.setName(vdbName);
            for (Schema schema : metadata.getSchemas().values()) {
                ModelMetaData model = addModel(vdbMetaData, schema);
                if (parameterObject.metadataRepo != null) {
                    model.addAttchment(MetadataRepository.class, parameterObject.metadataRepo);
                    // fakeserver does not load through the repository framework, so call load after the fact here.
                    MetadataFactory mf = createMetadataFactory(vdbMetaData, metadata, model, parameterObject.vdbResources);
                    mf.setSchema(schema);
                    try {
                        parameterObject.metadataRepo.loadMetadata(mf, null, null);
                    } catch (TranslatorException e) {
                        throw new TeiidRuntimeException(e);
                    }
                }
            }
        } else {
            if (!parameterObject.useDataRoles) {
                vdbMetaData.setDataPolicies(Collections.EMPTY_LIST);
            }
            cmr.createConnectorManagers(vdbMetaData, this);
        }
        UDFMetaData udfMetaData = null;
        if (parameterObject.udfs != null) {
            udfMetaData = new UDFMetaData();
            for (Map.Entry<String, Collection<FunctionMethod>> entry : parameterObject.udfs.entrySet()) {
                udfMetaData.addFunctions(entry.getKey(), entry.getValue());
            }
        }
        if (parameterObject.vdbImports != null) {
            for (VDBImportMetadata vdbImport : parameterObject.vdbImports) {
                vdbMetaData.getVDBImports().add(vdbImport);
            }
        }
        vdbMetaData.setStatus(VDB.Status.ACTIVE);
        this.repo.addVDB(vdbMetaData, metadata, parameterObject.vdbResources, udfMetaData, cmr);
        this.repo.finishDeployment(vdbMetaData.getName(), vdbMetaData.getVersion());
        this.repo.getLiveVDB(vdbMetaData.getName(), vdbMetaData.getVersion()).setStatus(VDB.Status.ACTIVE);
    } catch (VirtualDatabaseException e) {
        throw new RuntimeException(e);
    } catch (ConnectorManagerException e) {
        throw new RuntimeException(e);
    } catch (XMLStreamException e) {
        throw new RuntimeException(e);
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
Also used : VDBImportMetadata(org.teiid.adminapi.impl.VDBImportMetadata) VDBResource(org.teiid.metadata.VDBResource) Schema(org.teiid.metadata.Schema) UDFMetaData(org.teiid.deployers.UDFMetaData) TeiidRuntimeException(org.teiid.core.TeiidRuntimeException) IOException(java.io.IOException) ModelMetaData(org.teiid.adminapi.impl.ModelMetaData) ConnectorManagerException(org.teiid.dqp.internal.datamgr.ConnectorManagerRepository.ConnectorManagerException) TeiidRuntimeException(org.teiid.core.TeiidRuntimeException) MetadataFactory(org.teiid.metadata.MetadataFactory) VDBMetadataFactory(org.teiid.metadata.index.VDBMetadataFactory) XMLStreamException(javax.xml.stream.XMLStreamException) VDBMetaData(org.teiid.adminapi.impl.VDBMetaData) Collection(java.util.Collection) TranslatorException(org.teiid.translator.TranslatorException) VirtualDatabaseException(org.teiid.deployers.VirtualDatabaseException) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Aggregations

ConnectorManagerException (org.teiid.dqp.internal.datamgr.ConnectorManagerRepository.ConnectorManagerException)6 VDBTranslatorMetaData (org.teiid.adminapi.impl.VDBTranslatorMetaData)3 ConnectorManagerRepository (org.teiid.dqp.internal.datamgr.ConnectorManagerRepository)3 ExecutionFactory (org.teiid.translator.ExecutionFactory)3 VDBMetaData (org.teiid.adminapi.impl.VDBMetaData)2 TeiidException (org.teiid.core.TeiidException)2 DelegatingExecutionFactory (org.teiid.translator.DelegatingExecutionFactory)2 IOException (java.io.IOException)1 Collection (java.util.Collection)1 HashMap (java.util.HashMap)1 IdentityHashMap (java.util.IdentityHashMap)1 LinkedHashMap (java.util.LinkedHashMap)1 Map (java.util.Map)1 XMLStreamException (javax.xml.stream.XMLStreamException)1 StartException (org.jboss.msc.service.StartException)1 Test (org.junit.Test)1 Translator (org.teiid.adminapi.Translator)1 ModelMetaData (org.teiid.adminapi.impl.ModelMetaData)1 VDBImportMetadata (org.teiid.adminapi.impl.VDBImportMetadata)1 TeiidRuntimeException (org.teiid.core.TeiidRuntimeException)1