Search in sources :

Example 41 with ComponentException

use of org.talend.components.api.exception.ComponentException in project components by Talend.

the class NetSuiteDatasetRuntimeImpl method getSchema.

@Override
public Schema getSchema(String typeName) {
    try {
        final RecordTypeInfo recordTypeInfo = metaDataSource.getRecordType(typeName);
        final TypeDesc typeDesc = metaDataSource.getTypeInfo(typeName);
        List<FieldDesc> fieldDescList = new ArrayList<>(typeDesc.getFields());
        // Sort in alphabetical order
        Collections.sort(fieldDescList, FieldDescComparator.INSTANCE);
        Schema schema = inferSchemaForType(typeDesc.getTypeName(), fieldDescList);
        augmentSchemaWithCustomMetaData(metaDataSource, schema, recordTypeInfo, fieldDescList);
        return schema;
    } catch (NetSuiteException e) {
        throw new ComponentException(e);
    }
}
Also used : RecordTypeInfo(org.talend.components.netsuite.client.model.RecordTypeInfo) CustomRecordTypeInfo(org.talend.components.netsuite.client.model.CustomRecordTypeInfo) Schema(org.apache.avro.Schema) SearchRecordTypeDesc(org.talend.components.netsuite.client.model.SearchRecordTypeDesc) RecordTypeDesc(org.talend.components.netsuite.client.model.RecordTypeDesc) TypeDesc(org.talend.components.netsuite.client.model.TypeDesc) ArrayList(java.util.ArrayList) ComponentException(org.talend.components.api.exception.ComponentException) NetSuiteException(org.talend.components.netsuite.client.NetSuiteException) CustomFieldDesc(org.talend.components.netsuite.client.model.CustomFieldDesc) FieldDesc(org.talend.components.netsuite.client.model.FieldDesc)

Example 42 with ComponentException

use of org.talend.components.api.exception.ComponentException in project components by Talend.

the class NetSuiteDatasetRuntimeImpl method getSearchableTypes.

@Override
public List<NamedThing> getSearchableTypes() {
    try {
        List<NamedThing> searchableTypes = new ArrayList<>(metaDataSource.getSearchableTypes());
        // Sort by display name in alphabetical order
        Collections.sort(searchableTypes, new Comparator<NamedThing>() {

            @Override
            public int compare(NamedThing o1, NamedThing o2) {
                return o1.getDisplayName().compareTo(o2.getDisplayName());
            }
        });
        return searchableTypes;
    } catch (NetSuiteException e) {
        throw new ComponentException(e);
    }
}
Also used : ArrayList(java.util.ArrayList) ComponentException(org.talend.components.api.exception.ComponentException) NetSuiteException(org.talend.components.netsuite.client.NetSuiteException) NamedThing(org.talend.daikon.NamedThing) SimpleNamedThing(org.talend.daikon.SimpleNamedThing)

Example 43 with ComponentException

use of org.talend.components.api.exception.ComponentException in project components by Talend.

the class MarkLogicDatastoreRuntime method doHealthChecks.

@Override
public Iterable<ValidationResult> doHealthChecks(RuntimeContainer container) {
    TMarkLogicConnectionStandalone standalone = new TMarkLogicConnectionStandalone();
    ValidationResult validationResult;
    try {
        standalone.initialize(container, properties);
        standalone.connect(container);
        validationResult = ValidationResult.OK;
    } catch (ComponentException ce) {
        validationResult = new ValidationResult(ce);
    }
    return Collections.singletonList(validationResult);
}
Also used : TMarkLogicConnectionStandalone(org.talend.components.marklogic.runtime.TMarkLogicConnectionStandalone) ComponentException(org.talend.components.api.exception.ComponentException) ValidationResult(org.talend.daikon.properties.ValidationResult)

Example 44 with ComponentException

use of org.talend.components.api.exception.ComponentException in project components by Talend.

the class AbstractComponentTest method assertComponentIsRegistered.

protected void assertComponentIsRegistered(String componentName) {
    try {
        ComponentDefinition componentDefinition = getComponentService().getComponentDefinition(componentName);
        assertNotNull(componentDefinition);
    } catch (ComponentException ce) {
        if (ce.getCode() == ComponentsApiErrorCode.WRONG_COMPONENT_NAME) {
            fail("Could not find component [], please check the registered component familly is in package org.talend.components");
        } else {
            throw ce;
        }
    }
}
Also used : ComponentException(org.talend.components.api.exception.ComponentException) ComponentDefinition(org.talend.components.api.component.ComponentDefinition)

Example 45 with ComponentException

use of org.talend.components.api.exception.ComponentException in project components by Talend.

the class ServiceSpiFactory method readAllComponentDependencies.

/**
 * this will gather all components dependencies jar urls.
 */
private static URL[] readAllComponentDependencies(URL[] componentUrls) {
    // assuming at least 3 deps
    Set<URL> dependenciesUrl = new HashSet<>(componentUrls.length * 3);
    for (URL compURL : componentUrls) {
        try {
            List<URL> componentDepsURLs = DependenciesReader.extractDependencies(compURL);
            // resolve all url, this means they can be downloaded from a remote maven repo too.
            LOG.info("resolving dependencies for [" + compURL + "]");
            try {
                for (URL depsURL : componentDepsURLs) {
                    depsURL.openConnection();
                }
            } catch (IOException e) {
                LOG.error("Error when resolving dependencies for [" + compURL + "]:" + e);
            }
            dependenciesUrl.addAll(componentDepsURLs);
        } catch (ComponentException ce) {
            LOG.error("Failed to load component from URL[" + compURL + "] because :" + ce.getMessage());
        }
    }
    return dependenciesUrl.toArray(new URL[dependenciesUrl.size()]);
}
Also used : ComponentException(org.talend.components.api.exception.ComponentException) IOException(java.io.IOException) URL(java.net.URL) HashSet(java.util.HashSet)

Aggregations

ComponentException (org.talend.components.api.exception.ComponentException)101 URL (java.net.URL)32 MalformedURLException (java.net.MalformedURLException)30 JarRuntimeInfo (org.talend.components.api.component.runtime.JarRuntimeInfo)27 IOException (java.io.IOException)18 ArrayList (java.util.ArrayList)17 InvalidKeyException (java.security.InvalidKeyException)14 Schema (org.apache.avro.Schema)14 URISyntaxException (java.net.URISyntaxException)12 StorageException (com.microsoft.azure.storage.StorageException)11 NamedThing (org.talend.daikon.NamedThing)11 ValidationResult (org.talend.daikon.properties.ValidationResult)10 SandboxedInstance (org.talend.daikon.sandbox.SandboxedInstance)10 IndexedRecord (org.apache.avro.generic.IndexedRecord)8 Test (org.junit.Test)8 SimpleNamedThing (org.talend.daikon.SimpleNamedThing)8 NetSuiteException (org.talend.components.netsuite.client.NetSuiteException)6 GeneralSecurityException (java.security.GeneralSecurityException)5 JDBCSource (org.talend.components.jdbc.runtime.JDBCSource)5 TJDBCInputDefinition (org.talend.components.jdbc.tjdbcinput.TJDBCInputDefinition)5