Skip to content

Commit

Permalink
TEIIDDES-1518: Move data source type names to spi interface requests
Browse files Browse the repository at this point in the history
* Since the data source type names are specific to the version of teiid
  server, move their getters to the DataTypeManagerService and return
  the specific strings from the DataTypeManagerService implementations.
  • Loading branch information
Paul Richardson committed Dec 14, 2012
1 parent d14d195 commit f3b410c
Show file tree
Hide file tree
Showing 16 changed files with 114 additions and 45 deletions.
3 changes: 2 additions & 1 deletion plugins/org.teiid.designer.datatools/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ Require-Bundle: org.teiid.core.designer;bundle-version="[8.0.0,9.0.0)",
org.eclipse.datatools.connectivity;bundle-version="[1.2.5,2.0.0)",
org.eclipse.core.resources;bundle-version="[3.8.0,4.0.0)",
org.eclipse.datatools.connectivity.oda.flatfile;bundle-version="[3.1.2,4.0.0)",
org.teiid.designer.ui.common;bundle-version="[8.0.0,9.0.0)"
org.teiid.designer.ui.common;bundle-version="[8.0.0,9.0.0)",
org.teiid.designer.spi;bundle-version="8.0.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Export-Package: org.teiid.designer.datatools,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import org.teiid.designer.core.workspace.ResourceAnnotationHelper;
import org.teiid.designer.datatools.DatatoolsPlugin;
import org.teiid.designer.datatools.profiles.ws.IWSProfileConstants;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;

/**
* @since 8.0
Expand Down Expand Up @@ -388,7 +389,8 @@ public String findMatchingDataSourceTypeName( Properties properties ) {
}

}
return DataSourceConnectionConstants.DataSource.UNKNOWN;

return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.UNKNOWN);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,24 +38,4 @@ interface Translators {
JDBC_ANSI, JDBC_SIMPLE, SQLSERVER, DB2, H2, DERBY, METAMATRIX, SALESFORCE, TERADATA, LOOPBACK, LDAP, FILE, WS};

}

/**
* @since 8.0
*/
public interface DataSource {
/*
* [connector-jdbc-xa, connector-file, connector-ldap, connector-salesforce, connector-jdbc]
*/

String JDBC = "connector-jdbc"; //$NON-NLS-1$
String SALESFORCE = "teiid-connector-salesforce.rar"; //$NON-NLS-1$
String LDAP = "teiid-connector-ldap.rar"; //$NON-NLS-1$
String FILE = "teiid-connector-file.rar"; //$NON-NLS-1$
String JDBC_XA = "connector-jdbc-xa"; //$NON-NLS-1$
String WS = "teiid-connector-ws.rar"; //$NON-NLS-1$
String UNKNOWN = "connector-unknown"; //$NON-NLS-1$


public final static String[] DATA_SOURCES = {JDBC, JDBC_XA, SALESFORCE, LDAP, FILE};
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.teiid.designer.datatools.profiles.flatfile;

import java.util.Properties;

import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.datatools.DatatoolsPlugin;
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.DataSourceConnectionConstants;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;


/**
Expand All @@ -27,7 +27,7 @@ public String getDataSourcePasswordPropertyKey() {

@Override
public String getDataSourceType() {
return DataSourceConnectionConstants.DataSource.FILE;
return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.FILE);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
package org.teiid.designer.datatools.profiles.ldap;

import java.util.Properties;

import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.DataSourceConnectionConstants;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;


/**
Expand Down Expand Up @@ -79,7 +79,7 @@ public String getDataSourcePasswordPropertyKey() {

@Override
public String getDataSourceType() {
return DataSourceConnectionConstants.DataSource.LDAP;
return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.LDAP);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@

import java.util.Properties;
import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.DataSourceConnectionConstants;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;
import org.teiid.designer.ui.common.ICredentialsCommon;
import org.teiid.designer.ui.common.ICredentialsCommon.SecurityType;

Expand Down Expand Up @@ -66,7 +67,7 @@ public String getDataSourcePasswordPropertyKey() {

@Override
public String getDataSourceType() {
return DataSourceConnectionConstants.DataSource.WS;
return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.WS);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
package org.teiid.designer.datatools.profiles.xml;

import java.util.Properties;

import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.datatools.DatatoolsPlugin;
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.DataSourceConnectionConstants;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;


/**
Expand All @@ -36,7 +36,7 @@ public String getDataSourcePasswordPropertyKey() {

@Override
public String getDataSourceType() {
return DataSourceConnectionConstants.DataSource.FILE;
return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.FILE);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@
package org.teiid.designer.datatools.profiles.xml;

import java.util.Properties;

import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.datatools.DatatoolsPlugin;
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.DataSourceConnectionConstants;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;


/**
Expand All @@ -35,7 +35,7 @@ public String getDataSourcePasswordPropertyKey() {

@Override
public String getDataSourceType() {
return DataSourceConnectionConstants.DataSource.WS;
return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.WS);
}

@Override
Expand Down
3 changes: 2 additions & 1 deletion plugins/org.teiid.designer.jdbc.ui/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.8.0,4.0.0)",
org.teiid.designer.datatools;bundle-version="[8.0.0,9.0.0)",
org.teiid.designer.datatools.ui;bundle-version="[8.0.0,9.0.0)",
org.eclipse.emf.edit.ui;bundle-version="[2.8.0,3.0.0)",
org.teiid.designer.extension;bundle-version="[8.0.0,9.0.0)"
org.teiid.designer.extension;bundle-version="[8.0.0,9.0.0)",
org.teiid.designer.spi;bundle-version="8.0.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,24 @@
import java.util.Collection;
import java.util.Iterator;
import java.util.Properties;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.eclipse.datatools.connectivity.drivers.jdbc.IJDBCDriverDefinitionConstants;
import org.eclipse.emf.ecore.EObject;
import org.teiid.core.designer.util.CoreArgCheck;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelUtil;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.datatools.DatatoolsPlugin;
import org.teiid.designer.datatools.JdbcTranslatorHelper;
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.DataSourceConnectionConstants;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.jdbc.JdbcSource;
import org.teiid.designer.jdbc.ui.InternalModelerJdbcUiPluginConstants;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;

/**
*
Expand Down Expand Up @@ -273,7 +273,7 @@ public String getDataSourcePasswordPropertyKey() {
*/
@Override
public String getDataSourceType() {
return DataSourceConnectionConstants.DataSource.JDBC;
return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.JDBC);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@
package org.teiid.designer.modelgenerator.salesforce.util;

import java.util.Properties;

import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.DataSourceConnectionConstants;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.modelgenerator.salesforce.datatools.ISalesForceProfileConstants;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;


/**
Expand Down Expand Up @@ -121,7 +121,7 @@ public String getDataSourcePasswordPropertyKey() {
*/
@Override
public String getDataSourceType() {
return DataSourceConnectionConstants.DataSource.SALESFORCE;
return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.SALESFORCE);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.8.0,4.0.0)",
org.teiid.designer.transformation;bundle-version="[8.0.0,9.0.0)",
org.teiid.designer.metamodels.transformation;bundle-version="[8.0.0,9.0.0)",
org.eclipse.emf.mapping;bundle-version="[2.7.0,3.0.0)",
org.teiid.designer.legacy;bundle-version="[8.0.0,9.0.0)"
org.teiid.designer.legacy;bundle-version="[8.0.0,9.0.0)",
org.teiid.designer.spi;bundle-version="8.0.0"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@

import java.util.Properties;
import org.eclipse.datatools.connectivity.IConnectionProfile;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.datatools.connection.ConnectionInfoHelper;
import org.teiid.designer.datatools.connection.DataSourceConnectionConstants;
import org.teiid.designer.datatools.connection.IConnectionInfoProvider;
import org.teiid.designer.datatools.profiles.ws.IWSProfileConstants;
import org.teiid.designer.type.IDataTypeManagerService.DataSourceTypes;
import org.teiid.designer.ui.common.ICredentialsCommon;


Expand Down Expand Up @@ -195,7 +197,7 @@ public String getDataSourcePasswordPropertyKey() {
*/
@Override
public String getDataSourceType() {
return DataSourceConnectionConstants.DataSource.WS;
return ModelerCore.getTeiidDataTypeManagerService().getDataSourceType(DataSourceTypes.WS);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,19 @@ enum DataTypeName {
VARBINARY
}

/**
* Types of data source supported by teiid servers
*/
enum DataSourceTypes {
JDBC,
SALESFORCE,
LDAP,
FILE,
JDBC_XA,
WS,
UNKNOWN
}

/**
* Get the data type class with the given name.
*
Expand Down Expand Up @@ -145,4 +158,14 @@ enum DataTypeName {
* @return true if a transform is possible between the types
*/
boolean canTransform(String sourceTypeName, String targetTypeName);

/**
* Get the teiid server specific name of the data source type
*
* @param dataSourceType
*
* @return data source type name
*/
String getDataSourceType(DataSourceTypes dataSourceType);

}
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,15 @@ public class DataTypeManagerService implements IDataTypeManagerService {
private static final Map<String, Integer> TEXT_LIMITS;

private static final Map<String, String> VALID_CHARS;

// Data Source Type names supported by the server
private static final String JDBC = "connector-jdbc"; //$NON-NLS-1$
private static final String SALESFORCE = "connector-salesforce"; //$NON-NLS-1$
private static final String LDAP = "connector-ldap"; //$NON-NLS-1$
private static final String FILE = "connector-file"; //$NON-NLS-1$
private static final String JDBC_XA = "connector-jdbc-xa"; //$NON-NLS-1$
private static final String WS = "connector-ws"; //$NON-NLS-1$
private static final String UNKNOWN = "connector-unknown"; //$NON-NLS-1$

static {
TEXT_LIMITS = new HashMap<String, Integer>();
Expand Down Expand Up @@ -138,4 +147,24 @@ public String getCanonicalString(String name) {
public boolean canTransform(String sourceTypeName, String targetTypeName) {
return DataTypeManager.getTransform(sourceTypeName, targetTypeName) != null;
}

@Override
public String getDataSourceType(DataSourceTypes dataSourceType) {
switch (dataSourceType) {
case FILE:
return FILE;
case JDBC:
return JDBC;
case JDBC_XA:
return JDBC_XA;
case LDAP:
return LDAP;
case SALESFORCE:
return SALESFORCE;
case WS:
return WS;
default:
return UNKNOWN;
}
}
}

0 comments on commit f3b410c

Please sign in to comment.