Compare commits
1 Commits
release/8.
...
release/8.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5953e48af |
@@ -9,7 +9,4 @@
|
||||
</parent>
|
||||
<artifactId>org.talend.utils.feature</artifactId>
|
||||
<packaging>eclipse-feature</packaging>
|
||||
<properties>
|
||||
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
|
||||
</properties>
|
||||
</project>
|
||||
|
||||
@@ -283,7 +283,6 @@
|
||||
<KEYWORD1>smallint</KEYWORD1>
|
||||
<KEYWORD1>smallmoney</KEYWORD1>
|
||||
<KEYWORD1>text</KEYWORD1>
|
||||
<KEYWORD1>TIME</KEYWORD1>
|
||||
<KEYWORD1>timestamp</KEYWORD1>
|
||||
<KEYWORD1>tinyint</KEYWORD1>
|
||||
<KEYWORD1>uniqueidentifier</KEYWORD1>
|
||||
|
||||
@@ -285,30 +285,6 @@
|
||||
type="INFORMIX">
|
||||
</DBType>
|
||||
</RepositoryComponent>
|
||||
<RepositoryComponent
|
||||
name="INGRES"
|
||||
withSchema="true"
|
||||
input="tIngresInput"
|
||||
output="tIngresOutput">
|
||||
<Item
|
||||
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
|
||||
</Item>
|
||||
<DBType
|
||||
type="INGRES">
|
||||
</DBType>
|
||||
</RepositoryComponent>
|
||||
<RepositoryComponent
|
||||
name="VECTORWISE"
|
||||
withSchema="true"
|
||||
input="tVectorWiseInput"
|
||||
output="tVectorWiseOutput">
|
||||
<Item
|
||||
clazz="org.talend.core.model.properties.DatabaseConnectionItem">
|
||||
</Item>
|
||||
<DBType
|
||||
type="VECTORWISE">
|
||||
</DBType>
|
||||
</RepositoryComponent>
|
||||
<RepositoryComponent
|
||||
name="JAVADB"
|
||||
withSchema="true"
|
||||
|
||||
@@ -153,7 +153,6 @@ import org.talend.core.runtime.services.IMavenUIService;
|
||||
import org.talend.core.runtime.util.ItemDateParser;
|
||||
import org.talend.core.runtime.util.JavaHomeUtil;
|
||||
import org.talend.core.runtime.util.SharedStudioUtils;
|
||||
import org.talend.core.service.IComponentJsonformGeneratorService;
|
||||
import org.talend.core.service.ICoreUIService;
|
||||
import org.talend.core.service.IDetectCVEService;
|
||||
import org.talend.core.utils.CodesJarResourceCache;
|
||||
@@ -2380,15 +2379,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
|
||||
}
|
||||
String str[] = new String[] { getRepositoryContext().getUser() + "", projectManager.getCurrentProject() + "" }; //$NON-NLS-1$ //$NON-NLS-2$
|
||||
log.info(Messages.getString("ProxyRepositoryFactory.log.loggedOn", str)); //$NON-NLS-1$
|
||||
|
||||
// no performance impact for studio or commandline
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IComponentJsonformGeneratorService.class)) {
|
||||
IComponentJsonformGeneratorService jsonformSvc = GlobalServiceRegister.getDefault().getService(IComponentJsonformGeneratorService.class);
|
||||
if (jsonformSvc != null && IComponentJsonformGeneratorService.isEnabled()) {
|
||||
jsonformSvc.generate(null);
|
||||
}
|
||||
}
|
||||
|
||||
} catch (LoginException e) {
|
||||
if (!LoginException.RESTART.equals(e.getKey())) {
|
||||
try {
|
||||
|
||||
@@ -1,216 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<mapping>
|
||||
<dbms product="INGRES" id="ingres_id" label="Mapping Ingres"
|
||||
default="true">
|
||||
<dbTypes>
|
||||
<dbType type="ANSIDATE" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="BOOLEAN" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="BIGINT" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="BYTE" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="BYTE VARYING" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="C" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="CHAR" ignorePre="true" />
|
||||
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" />
|
||||
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="FLOAT" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="FLOAT4" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="INTEGER" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="INGRESDATE" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="INTERVAL" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="LONG NVARCHAR" ignorePre="true" />
|
||||
<dbType type="LONG VARCHAR" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="NCHAR" ignorePre="true" defaultLength="10"/>
|
||||
<dbType type="NVARCHAR" ignorePre="true" defaultLength="10"/>
|
||||
<dbType type="OBJECT_KEY" ignoreLen="true" ignorePre="true"/>
|
||||
<dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/>
|
||||
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="TINYINT" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/>
|
||||
<dbType type="TABLE_KEY" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="VARCHAR" default="true" defaultLength="1200" ignorePre="true"/>
|
||||
</dbTypes>
|
||||
|
||||
<language name="java">
|
||||
<talendToDbTypes><!-- Adviced mappings -->
|
||||
<talendType type="id_List"/>
|
||||
<talendType type="id_Boolean">
|
||||
<dbType type="BOOLEAN" default="true" />
|
||||
</talendType>
|
||||
<talendType type="id_Byte">
|
||||
<dbType type="BYTE" default="true" />
|
||||
<dbType type="BYTE VARYING" />
|
||||
</talendType>
|
||||
<talendType type="id_byte[]">
|
||||
</talendType>
|
||||
<talendType type="id_Character">
|
||||
<dbType type="CHAR" default="true" />
|
||||
<dbType type="VARCHAR"/>
|
||||
<dbType type="C"/>
|
||||
<dbType type="TEXT"/>
|
||||
<dbType type="LONG VARCHAR"/>
|
||||
<dbType type="NCHAR"/>
|
||||
<dbType type="NVARCHAR"/>
|
||||
<dbType type="LONG NVARCHAR"/>
|
||||
</talendType>
|
||||
<talendType type="id_Date">
|
||||
<dbType type="DATE" default="true" />
|
||||
<dbType type="ANSIDATE" />
|
||||
<dbType type="INGRESDATE" />
|
||||
<dbType type="TIME" />
|
||||
<dbType type="TIMESTAMP" />
|
||||
<dbType type="INTERVAL"/>
|
||||
</talendType>
|
||||
<talendType type="id_BigDecimal">
|
||||
<dbType type="DECIMAL" default="true" />
|
||||
<dbType type="FLOAT4" />
|
||||
<dbType type="FLOAT"/>
|
||||
<dbType type="MONEY"/>
|
||||
</talendType>
|
||||
<talendType type="id_Double">
|
||||
<dbType type="FLOAT" default="true" />
|
||||
<dbType type="FLOAT4" />
|
||||
<dbType type="DECIMAL"/>
|
||||
<dbType type="MONEY"/>
|
||||
</talendType>
|
||||
<talendType type="id_Float">
|
||||
<dbType type="FLOAT4" default="true" />
|
||||
<dbType type="FLOAT"/>
|
||||
<dbType type="DECIMAL" />
|
||||
<dbType type="MONEY"/>
|
||||
</talendType>
|
||||
<talendType type="id_Integer">
|
||||
<dbType type="INTEGER" default="true" />
|
||||
<dbType type="BIGINT" />
|
||||
<dbType type="SMALLINT"/>
|
||||
<dbType type="TINYINT"/>
|
||||
</talendType>
|
||||
<talendType type="id_Long">
|
||||
<dbType type="BIGINT" default="true" />
|
||||
<dbType type="INTEGER"/>
|
||||
<dbType type="SMALLINT"/>
|
||||
<dbType type="TINYINT"/>
|
||||
</talendType>
|
||||
<talendType type="id_Object">
|
||||
<dbType type="MONEY" default="true"/>
|
||||
<dbType type="OBJECT_KEY" />
|
||||
<dbType type="TABLE_KEY" />
|
||||
</talendType>
|
||||
<talendType type="id_Short">
|
||||
<dbType type="SMALLINT" default="true" />
|
||||
<dbType type="INTEGER" />
|
||||
<dbType type="BIGINT"/>
|
||||
<dbType type="TINYINT" />
|
||||
</talendType>
|
||||
<talendType type="id_String">
|
||||
<dbType type="VARCHAR" default="true" />
|
||||
<dbType type="LONG VARCHAR" />
|
||||
<dbType type="NCHAR"/>
|
||||
<dbType type="NVARCHAR" />
|
||||
<dbType type="LONG NVARCHAR" />
|
||||
<dbType type="TEXT" />
|
||||
<dbType type="C"/>
|
||||
<dbType type="CHAR"/>
|
||||
</talendType>
|
||||
</talendToDbTypes>
|
||||
<dbToTalendTypes>
|
||||
<dbType type="ANSIDATE">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="BOOLEAN">
|
||||
<talendType type="id_Boolean" default="true" />
|
||||
</dbType>
|
||||
<dbType type="BIGINT">
|
||||
<talendType type="id_Long" default="true" />
|
||||
</dbType>
|
||||
<dbType type="BYTE">
|
||||
<talendType type="id_Byte" default="true" />
|
||||
</dbType>
|
||||
<dbType type="BYTE VARYING">
|
||||
<talendType type="id_Byte" default="true" />
|
||||
</dbType>
|
||||
<dbType type="C">
|
||||
<talendType type="id_String" default="true" />
|
||||
<talendType type="id_Character"/>
|
||||
</dbType>
|
||||
<dbType type="CHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
<talendType type="id_Character"/>
|
||||
</dbType>
|
||||
<dbType type="DECIMAL">
|
||||
<talendType type="id_Float"/>
|
||||
<talendType type="id_BigDecimal" default="true"/>
|
||||
</dbType>
|
||||
<dbType type="DATE">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="FLOAT">
|
||||
<talendType type="id_Double" default="true" />
|
||||
<talendType type="id_BigDecimal"/>
|
||||
</dbType>
|
||||
<dbType type="FLOAT4">
|
||||
<talendType type="id_Float" default="true" />
|
||||
<talendType type="id_BigDecimal"/>
|
||||
</dbType>
|
||||
<dbType type="INTEGER">
|
||||
<talendType type="id_Integer" default="true" />
|
||||
<talendType type="id_Long"/>
|
||||
<talendType type="id_Short"/>
|
||||
</dbType>
|
||||
<dbType type="INGRESDATE">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="INTERVAL">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="LONG NVARCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="LONG VARCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="MONEY">
|
||||
<talendType type="id_Float" default="true" />
|
||||
<talendType type="id_BigDecimal"/>
|
||||
</dbType>
|
||||
<dbType type="NCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="NVARCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="OBJECT_KEY">
|
||||
<talendType type="id_Object" default="true" />
|
||||
</dbType>
|
||||
<dbType type="SMALLINT">
|
||||
<talendType type="id_Short" default="true" />
|
||||
<talendType type="id_Integer" />
|
||||
<talendType type="id_Long"/>
|
||||
</dbType>
|
||||
<dbType type="TEXT">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="TINYINT">
|
||||
<talendType type="id_Byte" default="true" />
|
||||
<talendType type="id_Integer" />
|
||||
<talendType type="id_Short"/>
|
||||
<talendType type="id_Long" />
|
||||
</dbType>
|
||||
<dbType type="TIME">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="TIMESTAMP">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="TABLE_KEY">
|
||||
<talendType type="id_Object" default="true" />
|
||||
</dbType>
|
||||
<dbType type="VARCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
</dbToTalendTypes>
|
||||
</language>
|
||||
</dbms>
|
||||
|
||||
</mapping>
|
||||
@@ -1,211 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<mapping>
|
||||
<dbms product="VECTORWISE" id="vectorwise_id" label="Mapping VectorWise"
|
||||
default="true">
|
||||
<dbTypes>
|
||||
<dbType type="ANSIDATE" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="BIGINT" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="BYTE" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="BYTE VARYING" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="C" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="CHAR" ignorePre="true" />
|
||||
<dbType type="DECIMAL" defaultLength="20" defaultPrecision="10" />
|
||||
<dbType type="DATE" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="FLOAT" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="FLOAT4" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="INTEGER" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="INGRESDATE" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="INTERVAL" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="LONG NVARCHAR" ignorePre="true" />
|
||||
<dbType type="LONG VARCHAR" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="MONEY" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="NCHAR" ignorePre="true" defaultLength="10"/>
|
||||
<dbType type="NVARCHAR" ignorePre="true" defaultLength="10"/>
|
||||
<dbType type="OBJECT_KEY" ignoreLen="true" ignorePre="true"/>
|
||||
<dbType type="SMALLINT" ignoreLen="true" ignorePre="true"/>
|
||||
<dbType type="TEXT" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="TINYINT" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="TIME" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="TIMESTAMP" ignoreLen="true" ignorePre="true"/>
|
||||
<dbType type="TABLE_KEY" ignoreLen="true" ignorePre="true" />
|
||||
<dbType type="VARCHAR" default="true" defaultLength="1200" ignorePre="true"/>
|
||||
</dbTypes>
|
||||
|
||||
<language name="java">
|
||||
<talendToDbTypes><!-- Adviced mappings -->
|
||||
<talendType type="id_List"/>
|
||||
<talendType type="id_Boolean">
|
||||
</talendType>
|
||||
<talendType type="id_Byte">
|
||||
<dbType type="BYTE" default="true" />
|
||||
<dbType type="BYTE VARYING" />
|
||||
</talendType>
|
||||
<talendType type="id_byte[]">
|
||||
</talendType>
|
||||
<talendType type="id_Character">
|
||||
<dbType type="CHAR" default="true" />
|
||||
<dbType type="VARCHAR"/>
|
||||
<dbType type="C"/>
|
||||
<dbType type="TEXT"/>
|
||||
<dbType type="LONG VARCHAR"/>
|
||||
<dbType type="NCHAR"/>
|
||||
<dbType type="NVARCHAR"/>
|
||||
<dbType type="LONG NVARCHAR"/>
|
||||
</talendType>
|
||||
<talendType type="id_Date">
|
||||
<dbType type="ANSIDATE" default="true"/>
|
||||
<dbType type="DATE"/>
|
||||
<dbType type="INGRESDATE" />
|
||||
<dbType type="TIME" />
|
||||
<dbType type="TIMESTAMP" />
|
||||
<dbType type="INTERVAL"/>
|
||||
</talendType>
|
||||
<talendType type="id_BigDecimal">
|
||||
<dbType type="DECIMAL" default="true" />
|
||||
<dbType type="FLOAT4" />
|
||||
<dbType type="FLOAT"/>
|
||||
<dbType type="MONEY"/>
|
||||
</talendType>
|
||||
<talendType type="id_Double">
|
||||
<dbType type="FLOAT" default="true" />
|
||||
<dbType type="FLOAT4" />
|
||||
<dbType type="DECIMAL"/>
|
||||
<dbType type="MONEY"/>
|
||||
</talendType>
|
||||
<talendType type="id_Float">
|
||||
<dbType type="FLOAT4" default="true" />
|
||||
<dbType type="FLOAT"/>
|
||||
<dbType type="DECIMAL" />
|
||||
<dbType type="MONEY"/>
|
||||
</talendType>
|
||||
<talendType type="id_Integer">
|
||||
<dbType type="INTEGER" default="true" />
|
||||
<dbType type="BIGINT" />
|
||||
<dbType type="SMALLINT"/>
|
||||
<dbType type="TINYINT"/>
|
||||
</talendType>
|
||||
<talendType type="id_Long">
|
||||
<dbType type="BIGINT" default="true" />
|
||||
<dbType type="INTEGER"/>
|
||||
<dbType type="SMALLINT"/>
|
||||
<dbType type="TINYINT"/>
|
||||
</talendType>
|
||||
<talendType type="id_Object">
|
||||
<dbType type="MONEY" default="true"/>
|
||||
<dbType type="OBJECT_KEY" />
|
||||
<dbType type="TABLE_KEY" />
|
||||
</talendType>
|
||||
<talendType type="id_Short">
|
||||
<dbType type="SMALLINT" default="true" />
|
||||
<dbType type="INTEGER" />
|
||||
<dbType type="BIGINT"/>
|
||||
<dbType type="TINYINT" />
|
||||
</talendType>
|
||||
<talendType type="id_String">
|
||||
<dbType type="VARCHAR" default="true" />
|
||||
<dbType type="LONG VARCHAR" />
|
||||
<dbType type="NCHAR"/>
|
||||
<dbType type="NVARCHAR" />
|
||||
<dbType type="LONG NVARCHAR" />
|
||||
<dbType type="TEXT" />
|
||||
<dbType type="C"/>
|
||||
<dbType type="CHAR"/>
|
||||
</talendType>
|
||||
</talendToDbTypes>
|
||||
<dbToTalendTypes>
|
||||
<dbType type="ANSIDATE">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="BIGINT">
|
||||
<talendType type="id_Long" default="true" />
|
||||
</dbType>
|
||||
<dbType type="BYTE">
|
||||
<talendType type="id_Byte" default="true" />
|
||||
</dbType>
|
||||
<dbType type="BYTE VARYING">
|
||||
<talendType type="id_Byte" default="true" />
|
||||
</dbType>
|
||||
<dbType type="C">
|
||||
<talendType type="id_String" default="true" />
|
||||
<talendType type="id_Character"/>
|
||||
</dbType>
|
||||
<dbType type="CHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
<talendType type="id_Character"/>
|
||||
</dbType>
|
||||
<dbType type="DECIMAL">
|
||||
<talendType type="id_Float"/>
|
||||
<talendType type="id_BigDecimal" default="true"/>
|
||||
</dbType>
|
||||
<dbType type="DATE">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="FLOAT">
|
||||
<talendType type="id_Double" default="true" />
|
||||
<talendType type="id_BigDecimal"/>
|
||||
</dbType>
|
||||
<dbType type="FLOAT4">
|
||||
<talendType type="id_Float" default="true" />
|
||||
<talendType type="id_BigDecimal"/>
|
||||
</dbType>
|
||||
<dbType type="INTEGER">
|
||||
<talendType type="id_Integer" default="true" />
|
||||
<talendType type="id_Long"/>
|
||||
<talendType type="id_Short"/>
|
||||
</dbType>
|
||||
<dbType type="INGRESDATE">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="INTERVAL">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="LONG NVARCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="LONG VARCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="MONEY">
|
||||
<talendType type="id_Float" default="true" />
|
||||
<talendType type="id_BigDecimal"/>
|
||||
</dbType>
|
||||
<dbType type="NCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="NVARCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="OBJECT_KEY">
|
||||
<talendType type="id_Object" default="true" />
|
||||
</dbType>
|
||||
<dbType type="SMALLINT">
|
||||
<talendType type="id_Short" default="true" />
|
||||
<talendType type="id_Integer" />
|
||||
<talendType type="id_Long"/>
|
||||
</dbType>
|
||||
<dbType type="TEXT">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
<dbType type="TINYINT">
|
||||
<talendType type="id_Byte" default="true" />
|
||||
<talendType type="id_Integer" />
|
||||
<talendType type="id_Short"/>
|
||||
<talendType type="id_Long" />
|
||||
</dbType>
|
||||
<dbType type="TIME">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="TIMESTAMP">
|
||||
<talendType type="id_Date" default="true" />
|
||||
</dbType>
|
||||
<dbType type="TABLE_KEY">
|
||||
<talendType type="id_Object" default="true" />
|
||||
</dbType>
|
||||
<dbType type="VARCHAR">
|
||||
<talendType type="id_String" default="true" />
|
||||
</dbType>
|
||||
</dbToTalendTypes>
|
||||
</language>
|
||||
</dbms>
|
||||
|
||||
</mapping>
|
||||
@@ -34,9 +34,6 @@ public enum EDatabase4DriverClassName {
|
||||
|
||||
INFORMIX(EDatabaseTypeName.INFORMIX, "com.informix.jdbc.IfxDriver"), //$NON-NLS-1$
|
||||
|
||||
INGRES(EDatabaseTypeName.INGRES, "com.ingres.jdbc.IngresDriver"),
|
||||
VECTORWISE(EDatabaseTypeName.VECTORWISE, "com.ingres.jdbc.IngresDriver"),
|
||||
|
||||
JAVADB_DERBYCLIENT(EDatabaseTypeName.JAVADB_DERBYCLIENT, "org.apache.derby.jdbc.ClientDriver"), //$NON-NLS-1$
|
||||
JAVADB_EMBEDED(EDatabaseTypeName.JAVADB_EMBEDED, "org.apache.derby.jdbc.EmbeddedDriver"), //$NON-NLS-1$
|
||||
JAVADB_JCCJDBC(EDatabaseTypeName.JAVADB_JCCJDBC, "com.ibm.db2.jcc.DB2Driver"), //$NON-NLS-1$
|
||||
|
||||
@@ -347,7 +347,8 @@ public enum EDatabaseTypeName {
|
||||
isSupport = isSupportODBC;
|
||||
} else if (EDatabaseTypeName.SAS == this) {
|
||||
isSupport = false;
|
||||
} else if (EDatabaseTypeName.INTERBASE == this || EDatabaseTypeName.PARACCEL == this) {
|
||||
} else if (EDatabaseTypeName.INGRES == this || EDatabaseTypeName.INTERBASE == this || EDatabaseTypeName.VECTORWISE == this
|
||||
|| EDatabaseTypeName.PARACCEL == this) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -112,13 +112,6 @@ public enum EDatabaseConnTemplate {
|
||||
SQLITE(new DbConnStr(EDatabaseTypeName.SQLITE, //
|
||||
"jdbc:sqlite:/<filename>")), //$NON-NLS-1$
|
||||
|
||||
INGRES(new DbConnStr(EDatabaseTypeName.INGRES, //
|
||||
"jdbc:ingres://<host>:<port>/<sid>;<property>", //$NON-NLS-1$
|
||||
"II7")), //$NON-NLS-1$
|
||||
VECTORWISE(new DbConnStr(EDatabaseTypeName.VECTORWISE, //
|
||||
"jdbc:ingres://<host>:<port>/<sid>;<property>", //$NON-NLS-1$
|
||||
"II7")),
|
||||
|
||||
FIREBIRD(new DbConnStr(EDatabaseTypeName.FIREBIRD, //
|
||||
"jdbc:firebirdsql:<host>/<port>:<filename>?<property>", //$NON-NLS-1$
|
||||
"3050")), //$NON-NLS-1$
|
||||
@@ -428,8 +421,6 @@ public enum EDatabaseConnTemplate {
|
||||
case PSQL:
|
||||
case PLUSPSQL:
|
||||
case GREENPLUM:
|
||||
case INGRES:
|
||||
case VECTORWISE:
|
||||
case FIREBIRD:
|
||||
case JAVADB_EMBEDED:
|
||||
case JAVADB_JCCJDBC:
|
||||
@@ -456,8 +447,6 @@ public enum EDatabaseConnTemplate {
|
||||
case SYBASEASE_16_SA:
|
||||
case IBMDB2:
|
||||
case IBMDB2_ZOS:
|
||||
case INGRES:
|
||||
case VECTORWISE:
|
||||
case MSSQL:
|
||||
case INFORMIX:
|
||||
case TERADATA:
|
||||
|
||||
@@ -55,7 +55,7 @@ public enum EDatabaseVersion4Drivers {
|
||||
|
||||
//
|
||||
JAVADB_EMBEDED(new DbVersion4Drivers(EDatabaseTypeName.JAVADB_EMBEDED, "derby.jar")), //$NON-NLS-1$
|
||||
SQLITE(new DbVersion4Drivers(EDatabaseTypeName.SQLITE, "sqlite-jdbc-3.40.0.0.jar")), //$NON-NLS-1$
|
||||
SQLITE(new DbVersion4Drivers(EDatabaseTypeName.SQLITE, "sqlitejdbc-v056.jar")), //$NON-NLS-1$
|
||||
FIREBIRD(new DbVersion4Drivers(EDatabaseTypeName.FIREBIRD, "jaybird-full-2.1.1.jar")), //$NON-NLS-1$
|
||||
TERADATA(new DbVersion4Drivers(EDatabaseTypeName.TERADATA,
|
||||
new String[] { "terajdbc4-17.10.00.27.jar" })), //$NON-NLS-1$
|
||||
@@ -108,8 +108,6 @@ public enum EDatabaseVersion4Drivers {
|
||||
EXASOL(new DbVersion4Drivers(EDatabaseTypeName.EXASOL, "exajdbc-6.0.9302.jar")), //$NON-NLS-1$
|
||||
MAXDB(new DbVersion4Drivers(EDatabaseTypeName.MAXDB, "sapdbc.jar")), //$NON-NLS-1$
|
||||
|
||||
INGRES(new DbVersion4Drivers(EDatabaseTypeName.INGRES, "iijdbc-10.2-4.1.10.jar")),
|
||||
VECTORWISE(new DbVersion4Drivers(EDatabaseTypeName.VECTORWISE, "iijdbc-10.2-4.1.10.jar")),
|
||||
// HIVE(new DbVersion4Drivers(EDatabaseTypeName.HIVE, "STANDALONE", "STANDALONE", new String[] {
|
||||
// "hive-jdbc-0.8.1.jar",
|
||||
// "hive-metastore-0.8.1.jar", "hive-exec-0.8.1.jar", "hive-service-0.8.1.jar", "libfb303_new.jar",
|
||||
|
||||
@@ -293,8 +293,7 @@ public final class MetadataToolHelper {
|
||||
boolean isKeyword = KeywordsValidator.isKeyword(originalColumnName);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
// keep charBit length align with the length of originalColumnName (StringBuilder)
|
||||
int[] charBit = new int[originalColumnName.length()];
|
||||
int[] charBit = new int[columnName.length()];
|
||||
if (!isKeyword) {
|
||||
boolean isAllowSpecific = isAllowSpecificCharacters();
|
||||
|
||||
|
||||
@@ -433,16 +433,6 @@ public class ComponentToRepositoryProperty {
|
||||
connection.setDatabaseType(EDatabaseTypeName.IBMDB2.getDisplayName());
|
||||
connection.setProductId(EDatabaseTypeName.IBMDB2.getProduct());
|
||||
}
|
||||
// Ingres
|
||||
else if (EDatabaseTypeName.INGRES.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
|
||||
connection.setDatabaseType(EDatabaseTypeName.INGRES.getDisplayName());
|
||||
connection.setProductId(EDatabaseTypeName.INGRES.getProduct());
|
||||
}
|
||||
// VECTORWISE
|
||||
else if (EDatabaseTypeName.VECTORWISE.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
|
||||
connection.setDatabaseType(EDatabaseTypeName.VECTORWISE.getDisplayName());
|
||||
connection.setProductId(EDatabaseTypeName.VECTORWISE.getProduct());
|
||||
}
|
||||
// Sqlite
|
||||
else if (EDatabaseTypeName.SQLITE.getProduct().equalsIgnoreCase((String) parameter.getValue())) {
|
||||
connection.setDatabaseType(EDatabaseTypeName.SQLITE.getDisplayName());
|
||||
|
||||
@@ -18,7 +18,6 @@ import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import org.apache.commons.codec.binary.StringUtils;
|
||||
import org.talend.components.api.properties.ComponentProperties;
|
||||
import org.talend.core.model.components.IComponent;
|
||||
import org.talend.core.model.components.IMultipleComponentManager;
|
||||
@@ -510,7 +509,7 @@ public abstract class AbstractNode implements INode {
|
||||
}
|
||||
for (String key : childParameters.keySet()) {
|
||||
IElementParameter param = childParameters.get(key);
|
||||
if (StringUtils.equals(name, param.getName())) {
|
||||
if (param.getName().equals(name)) {
|
||||
return param;
|
||||
}
|
||||
}
|
||||
@@ -677,8 +676,7 @@ public abstract class AbstractNode implements INode {
|
||||
return null;
|
||||
}
|
||||
for (IMetadataTable table : metadataList) {
|
||||
String attachedConnector = table.getAttachedConnector();
|
||||
if (attachedConnector != null && attachedConnector.equals(connector)) {
|
||||
if (table.getAttachedConnector().equals(connector)) {
|
||||
return table;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,7 +38,6 @@ public enum EParameterFieldType {
|
||||
SCHEMA_XPATH_QUERYS,
|
||||
QUERYSTORE_TYPE,
|
||||
GUESS_SCHEMA,
|
||||
DYNAMIC_GUESS_SCHEMA,
|
||||
PROPERTY_TYPE,
|
||||
EXTERNAL,
|
||||
FILE,
|
||||
|
||||
@@ -655,9 +655,4 @@ ItemAnalysisReportManager.Warning.message=Can't run a new analysis now. Wait for
|
||||
AnalysisReportAccessDialog.shellTitle=Project analysis
|
||||
AnalysisReportAccessDialog.generateSuccess=Project analysis completed successfully.
|
||||
AnalysisReportAccessDialog.completeReportAvailable=Check the report
|
||||
AnalysisReportAccessDialog.accessReport=here
|
||||
AbstractPomTemplateProjectSettingPage.defaultTabLabel=Default
|
||||
AbstractPomTemplateProjectSettingPage.customTabLabel=Custom
|
||||
AbstractPomTemplateProjectSettingPage.previewButton=Preview
|
||||
AbstractPomTemplateProjectSettingPage.previewButtonTip=Preview the complete customized project POM settings.
|
||||
AbstractPomTemplateProjectSettingPage.learnMoreLink=Learn more
|
||||
AnalysisReportAccessDialog.accessReport=here
|
||||
@@ -1,183 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.core.runtime.projectsetting;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.custom.CTabFolder;
|
||||
import org.eclipse.swt.custom.CTabItem;
|
||||
import org.eclipse.swt.custom.StyledText;
|
||||
import org.eclipse.swt.events.ModifyEvent;
|
||||
import org.eclipse.swt.events.ModifyListener;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.program.Program;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.ui.forms.events.HyperlinkAdapter;
|
||||
import org.eclipse.ui.forms.events.HyperlinkEvent;
|
||||
import org.eclipse.ui.forms.widgets.Hyperlink;
|
||||
import org.talend.core.runtime.CoreRuntimePlugin;
|
||||
import org.talend.core.runtime.i18n.Messages;
|
||||
import org.talend.repository.model.IProxyRepositoryFactory;
|
||||
|
||||
public abstract class AbstractPomTemplateProjectSettingPage extends AbstractProjectSettingPage {
|
||||
|
||||
private static final Color COLOR_LINK = new Color(null, 0, 0, 255);
|
||||
|
||||
protected StyledText defaultText;
|
||||
|
||||
protected StyledText customText;
|
||||
|
||||
private boolean isDefaultPresentedForScriptTxt = false;
|
||||
|
||||
private boolean readonly;
|
||||
|
||||
public AbstractPomTemplateProjectSettingPage() {
|
||||
super();
|
||||
IProxyRepositoryFactory factory = CoreRuntimePlugin.getInstance().getProxyRepositoryFactory();
|
||||
readonly = factory.isUserReadOnlyOnCurrentProject();
|
||||
}
|
||||
|
||||
protected boolean isReadonly() {
|
||||
return readonly;
|
||||
}
|
||||
|
||||
public void setReadonly(boolean readonly) {
|
||||
this.readonly = readonly;
|
||||
}
|
||||
|
||||
protected abstract String getPreferenceKey();
|
||||
|
||||
protected StyledText getScriptTxt() {
|
||||
return customText;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Control createContents(Composite p) {
|
||||
Composite parent = (Composite) super.createContents(p);
|
||||
|
||||
Composite noteComposite = new Composite(parent, SWT.NONE);
|
||||
noteComposite.setLayout(new GridLayout(2, false));
|
||||
|
||||
Label scriptLabel = new Label(noteComposite, SWT.NONE);
|
||||
String headerMessages = getHeaderMessage();
|
||||
scriptLabel.setText(headerMessages);
|
||||
|
||||
Hyperlink link = new Hyperlink(noteComposite, SWT.NONE);
|
||||
link.setText(Messages.getString("AbstractPomTemplateProjectSettingPage.learnMoreLink")); //$NON-NLS-1$
|
||||
link.setUnderlined(true);
|
||||
link.setForeground(COLOR_LINK);
|
||||
link.addHyperlinkListener(new HyperlinkAdapter() {
|
||||
|
||||
@Override
|
||||
public void linkActivated(HyperlinkEvent e) {
|
||||
Program.launch(getMoreInfoUrl());
|
||||
}
|
||||
});
|
||||
|
||||
CTabFolder tabFolder = new CTabFolder(parent, SWT.BORDER);
|
||||
// tabFolder.setTabPosition(SWT.BOTTOM);
|
||||
tabFolder.setSimple(false);
|
||||
|
||||
GridData data = new GridData(GridData.FILL, GridData.FILL, true, true);
|
||||
tabFolder.setLayoutData(data);
|
||||
data.heightHint = 280;
|
||||
data.minimumHeight = 280;
|
||||
data.widthHint = 500;
|
||||
data.minimumWidth = 500;
|
||||
|
||||
CTabItem defaultTabItem = new CTabItem(tabFolder, SWT.NULL);
|
||||
defaultTabItem.setText(Messages.getString("AbstractPomTemplateProjectSettingPage.defaultTabLabel")); //$NON-NLS-1$
|
||||
CTabItem customTabItem = new CTabItem(tabFolder, SWT.NULL);
|
||||
customTabItem.setText(Messages.getString("AbstractPomTemplateProjectSettingPage.customTabLabel")); //$NON-NLS-1$
|
||||
|
||||
tabFolder.setSelection(defaultTabItem);
|
||||
|
||||
int style = SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL;
|
||||
defaultText = new StyledText(tabFolder, style);
|
||||
defaultText.setText(getDefaultText());
|
||||
defaultText.setBackground(new Color(null, 233, 233, 233));
|
||||
defaultText.setEditable(false);
|
||||
defaultTabItem.setControl(defaultText);
|
||||
|
||||
customText = new StyledText(tabFolder, style);
|
||||
customText.setText(getCustomText());
|
||||
customText.setEditable(!isReadonly());
|
||||
customTabItem.setControl(customText);
|
||||
customText.addModifyListener(new ModifyListener() {
|
||||
|
||||
@Override
|
||||
public void modifyText(ModifyEvent e) {
|
||||
isDefaultPresentedForScriptTxt = false;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
Button preview = new Button(parent, SWT.NONE);
|
||||
preview.setText(Messages.getString("AbstractPomTemplateProjectSettingPage.previewButton")); //$NON-NLS-1$
|
||||
preview.setToolTipText(Messages.getString("AbstractPomTemplateProjectSettingPage.previewButtonTip")); //$NON-NLS-1$
|
||||
preview.addSelectionListener(new SelectionAdapter() {
|
||||
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
checkModel(true);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return parent;
|
||||
}
|
||||
|
||||
protected abstract String getHeaderMessage();
|
||||
|
||||
protected abstract String getDefaultText();
|
||||
|
||||
protected String getCustomText() {
|
||||
return getPreferenceStore().getString(getPreferenceKey());
|
||||
}
|
||||
|
||||
protected abstract boolean checkModel(boolean preview);
|
||||
|
||||
protected abstract String getMoreInfoUrl();
|
||||
|
||||
@Override
|
||||
protected void performDefaults() {
|
||||
super.performDefaults();
|
||||
if (customText != null && !customText.isDisposed()) {
|
||||
isDefaultPresentedForScriptTxt = true;
|
||||
customText.setText(getPreferenceStore().getDefaultString(getPreferenceKey()));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performOk() {
|
||||
boolean ok = super.performOk();
|
||||
if (customText != null && !customText.isDisposed()) {
|
||||
if (isDefaultPresentedForScriptTxt) {
|
||||
getPreferenceStore().setToDefault(getPreferenceKey());
|
||||
return ok;
|
||||
}
|
||||
if (!checkModel(false)) {
|
||||
return false;
|
||||
}
|
||||
getPreferenceStore().setValue(getPreferenceKey(), customText.getText());
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -60,8 +60,6 @@ public interface IProjectSettingTemplateConstants {
|
||||
|
||||
final static String PROJECT_TEMPLATE_FILE_NAME = "pom_project_template.xml";
|
||||
|
||||
final static String PROJECT_CUSTOM_TEMPLATE_FILE_NAME = "pom_project_custom_template.xml";
|
||||
|
||||
final static String MAVEN_USER_SETTING_TEMPLATE_FILE_NAME = "maven_user_settings.xml";
|
||||
|
||||
/*
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2023 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.core.runtime.projectsetting;
|
||||
|
||||
import org.eclipse.jface.dialogs.Dialog;
|
||||
import org.eclipse.jface.dialogs.IDialogConstants;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.custom.StyledText;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
|
||||
public class PomPreviewDialog extends Dialog {
|
||||
|
||||
private String title;
|
||||
|
||||
private String content;
|
||||
|
||||
public PomPreviewDialog(Shell parentShell, String title, String content) {
|
||||
super(parentShell);
|
||||
this.title = title;
|
||||
this.content = content;
|
||||
setShellStyle(getShellStyle() | SWT.RESIZE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configureShell(Shell newShell) {
|
||||
super.configureShell(newShell);
|
||||
newShell.setText(title);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Control createDialogArea(Composite parent) {
|
||||
Composite composite = (Composite) super.createDialogArea(parent);
|
||||
GridData data = new GridData(GridData.FILL, GridData.FILL, true, true);
|
||||
data.heightHint = 280;
|
||||
data.minimumHeight = 1000;
|
||||
data.widthHint = 500;
|
||||
data.minimumWidth = 1100;
|
||||
composite.setLayoutData(data);
|
||||
|
||||
StyledText text = new StyledText(composite, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
|
||||
text.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
|
||||
text.setText(content);
|
||||
text.setEditable(false);
|
||||
|
||||
return composite;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void createButtonsForButtonBar(Composite parent) {
|
||||
createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,64 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2023 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.core.service;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.talend.commons.CommonsPlugin;
|
||||
import org.talend.core.IService;
|
||||
|
||||
/**
|
||||
* @author bhe created on Jan 19, 2023
|
||||
*
|
||||
*/
|
||||
public interface IComponentJsonformGeneratorService extends IService {
|
||||
|
||||
/**
|
||||
* System property to enable whether to generate jsonform or not, not enabled by default
|
||||
*/
|
||||
public static final String JSONFORM_GENERATE_PROP = "jsonform.generate";
|
||||
|
||||
public static final String JSONFORM_GENERATE_FOLDER_PROP = "jsonform.generate.dir";
|
||||
|
||||
public static final String JSONFORM_GENERATE_FOLDER_NAME_PROP = "jsonforms";
|
||||
|
||||
/**
|
||||
* Generate jsonform json files for all of components
|
||||
*
|
||||
* <pre>
|
||||
* Folder structure
|
||||
*
|
||||
* targetFolder
|
||||
* --Category
|
||||
* ----tRowgenerator.json
|
||||
* ----tLogRow.json
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @param targetFolder all of jsonform jsons will be saved into the targetFolder
|
||||
*/
|
||||
void generate(File targetFolder);
|
||||
|
||||
/**
|
||||
* If enabled by -Djsonform.generate or by running junit, then generate jsonform for components, otherwise will not generate.
|
||||
*
|
||||
* @return enabled or not
|
||||
*/
|
||||
public static boolean isEnabled() {
|
||||
return Boolean.getBoolean(JSONFORM_GENERATE_PROP) || CommonsPlugin.isJUnitTest() || CommonsPlugin.isJunitWorking();
|
||||
}
|
||||
|
||||
public static String getDirectoryFromProperty() {
|
||||
return System.getProperty(JSONFORM_GENERATE_FOLDER_PROP);
|
||||
}
|
||||
}
|
||||
@@ -75,6 +75,4 @@ public interface IESBMicroService extends IService {
|
||||
* @return
|
||||
*/
|
||||
IBuildJobHandler createBuildJobHandler(ProcessItem itemToExport, String version, String context, Map exportChoiceMap);
|
||||
|
||||
public List<String> getExternalizedDependencies();
|
||||
}
|
||||
|
||||
@@ -438,8 +438,6 @@ public final class TalendQuoteUtils {
|
||||
return QUOTATION_MARK;
|
||||
case IBMDB2:
|
||||
return QUOTATION_MARK;
|
||||
case INGRES:
|
||||
return QUOTATION_MARK;
|
||||
case MSODBC:
|
||||
return QUOTATION_MARK;
|
||||
case MSSQL:
|
||||
|
||||
@@ -63,7 +63,6 @@ public final class GenerateQueryFactory {
|
||||
case IBMDB2ZOS:
|
||||
case MYSQL:
|
||||
case AMAZON_AURORA:
|
||||
case INGRES:
|
||||
return new NonDatabaseDefaultQueryGenerator(dbType);
|
||||
case ORACLE_OCI:
|
||||
case ORACLEFORSID:
|
||||
|
||||
@@ -26,7 +26,6 @@ import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.commons.exception.SystemException;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.IService;
|
||||
import org.talend.core.model.general.ConnectionBean;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.process.INode;
|
||||
import org.talend.core.model.properties.Property;
|
||||
@@ -109,8 +108,6 @@ public interface ICoreTisService extends IService {
|
||||
void syncProjectUpdateSettingsFromServer(IProgressMonitor monitor, Project proj) throws Exception;
|
||||
|
||||
void refreshPatchesFolderCache();
|
||||
|
||||
boolean hasValidToken(ConnectionBean conn) throws Exception;
|
||||
|
||||
static ICoreTisService get() {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ICoreTisService.class)) {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<tomcat.version>9.0.68</tomcat.version>
|
||||
<xbean.version>4.20</xbean.version>
|
||||
<reload4j.version>1.2.22</reload4j.version>
|
||||
<log4j2.version>2.18.0</log4j2.version>
|
||||
<log4j2.version>2.17.2</log4j2.version>
|
||||
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
|
||||
</properties>
|
||||
<repositories>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<properties>
|
||||
<tcomp.version>1.53.0</tcomp.version>
|
||||
<tcomp.version>1.52.1</tcomp.version>
|
||||
<slf4j.version>1.7.34</slf4j.version>
|
||||
<reload4j.version>1.2.22</reload4j.version>
|
||||
</properties>
|
||||
|
||||
@@ -94,15 +94,6 @@
|
||||
name="RemoveConfigMavenRepository"
|
||||
version="6.0.2">
|
||||
</projecttask>
|
||||
<projecttask
|
||||
beforeLogon="true"
|
||||
breaks="8.0.0"
|
||||
class="org.talend.designer.maven.ui.setting.migration.ProjectPomTemplateMigrationTask"
|
||||
description="Migrate custom project pom template"
|
||||
id="org.talend.designer.maven.ui.setting.migration.ProjectPomTemplateMigrationTask"
|
||||
name="ProjectPomTemplateMigrationTask"
|
||||
version="8.0.1">
|
||||
</projecttask>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
||||
@@ -11,11 +11,6 @@ ProjectPomProjectSettingPage_FilterPomLabel=Filter to use to generate poms:
|
||||
ProjectPomProjectSettingPage_FilterErrorMessage=Filter is invalid.
|
||||
ProjectPomProjectSettingPage.syncAllPomsButtonText=Force full re-synchronize POMs
|
||||
ProjectPomProjectSettingPage.syncBuildTypesButtonText=Force full re-synchronize build types
|
||||
ProjectPomProjectSettingPage.validateTitle=Customization result
|
||||
ProjectPomProjectSettingPage.warningTip=The following default settings will be overwritten.\n
|
||||
ProjectPomProjectSettingPage.errorTip=The following default settings can't be overwritten.\n
|
||||
ProjectPomProjectSettingPage.headerMessage=Customize the project POM settings by adding your custom settings on the Custom tab.
|
||||
ProjectPomProjectSettingPage.preview=Preview
|
||||
AbstractPersistentProjectSettingPage.syncAllPoms=Do you want to update all poms? \n This operation might take long time depends on your project size.
|
||||
MavenProjectSettingPage.filterExampleMessage=Filter examples:\nlabel=myJob \t\t\t\t=> Generate only the job named "myJob"\n!(label=myJob) \t\t\t\t=> Generate any job except the one named "myJob"\n(path=folder1/folder2) \t\t\t=> Generate any job in the folder "folder1/folder2"\n(path=folder1/folder2)or(label=myJob)\t=> Generate any job in the folder "folder1/folder2" or named "myJob"\n(label=myJob)and(version=0.2)\t\t=> Generate only the job named "myJob" with version 0.2\n!((label=myJob)and(version=0.1))\t\t=> Generate every jobs except the "myJob" version 0.1
|
||||
MavenProjectSettingPage.refModuleText=Set reference project modules in profile
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.ui.setting.migration;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.Date;
|
||||
import java.util.GregorianCalendar;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.migration.AbstractProjectMigrationTask;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
|
||||
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.designer.maven.tools.MergeModelTool;
|
||||
import org.talend.designer.maven.ui.DesignerMavenUiPlugin;
|
||||
import org.talend.repository.ProjectManager;
|
||||
|
||||
public class ProjectPomTemplateMigrationTask extends AbstractProjectMigrationTask {
|
||||
|
||||
@Override
|
||||
public Date getOrder() {
|
||||
GregorianCalendar gc = new GregorianCalendar(2023, 1, 9, 12, 0, 0);
|
||||
return gc.getTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExecutionResult execute(Project project) {
|
||||
try {
|
||||
Map<String, Object> parameters = new HashMap<String, Object>();
|
||||
parameters.put(MavenTemplateManager.KEY_PROJECT_NAME,
|
||||
ProjectManager.getInstance().getCurrentProject().getTechnicalLabel());
|
||||
Model defaultModel = MavenTemplateManager.getDefaultProjectModel(parameters);
|
||||
Model customModel = MavenTemplateManager.getCustomProjectModel(parameters);
|
||||
Model model = new MergeModelTool().migrateCustomModel(defaultModel, customModel);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
String content = out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
if (content != null) {
|
||||
ProjectPreferenceManager prefManager = DesignerMavenUiPlugin.getDefault().getProjectPreferenceManager();
|
||||
prefManager.setValue(IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM, content);
|
||||
prefManager.save();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
return ExecutionResult.FAILURE;
|
||||
}
|
||||
return ExecutionResult.SUCCESS_NO_ALERT;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -12,19 +12,25 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.ui.setting.project.initializer;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.InputStream;
|
||||
import java.util.Iterator;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Profile;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.PluginChecker;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingTemplateConstants;
|
||||
import org.talend.designer.maven.DesignerMavenPlugin;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.template.AbstractMavenTemplateManager;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.designer.maven.tools.extension.PomExtensionRegistry;
|
||||
import org.talend.designer.maven.ui.DesignerMavenUiPlugin;
|
||||
import org.talend.designer.maven.utils.PomUtil;
|
||||
|
||||
@@ -45,7 +51,7 @@ public class MavenScriptsProjectSettingInitializer extends AbstractProjectPrefer
|
||||
try {
|
||||
setDefault(preferenceStore, IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM, DesignerMavenPlugin.PLUGIN_ID,
|
||||
IProjectSettingTemplateConstants.PATH_GENERAL + '/'
|
||||
+ IProjectSettingTemplateConstants.PROJECT_CUSTOM_TEMPLATE_FILE_NAME);
|
||||
+ IProjectSettingTemplateConstants.PROJECT_TEMPLATE_FILE_NAME);
|
||||
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
@@ -61,6 +67,7 @@ public class MavenScriptsProjectSettingInitializer extends AbstractProjectPrefer
|
||||
if (templateManager != null) {
|
||||
InputStream stream = templateManager.readBundleStream(bundleTemplatePath);
|
||||
Model model = MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
PomExtensionRegistry.getInstance().updatePomTemplate(model);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
PomUtil.sortModules(model);
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
@@ -69,6 +76,31 @@ public class MavenScriptsProjectSettingInitializer extends AbstractProjectPrefer
|
||||
preferenceStore.setDefault(key, content);
|
||||
}
|
||||
}
|
||||
// if license change to NON-TP, check to remove docker profile
|
||||
if (!PluginChecker.isDockerPluginLoaded()) {
|
||||
String content = preferenceStore.getString(key);
|
||||
if (!StringUtils.isBlank(content)) {
|
||||
InputStream stream = new ByteArrayInputStream(content.getBytes(TalendMavenConstants.DEFAULT_ENCODING));
|
||||
Model model = MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
Iterator<Profile> iterator = model.getProfiles().iterator();
|
||||
boolean isModified = false;
|
||||
while(iterator.hasNext()) {
|
||||
Profile profile = iterator.next();
|
||||
if ("docker".equals(profile.getId())) { //$NON-NLS-1$
|
||||
iterator.remove();
|
||||
isModified = true;
|
||||
}
|
||||
}
|
||||
if (isModified) {
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
content = out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
if (content != null) {
|
||||
preferenceStore.setValue(key, content);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
@@ -12,39 +12,27 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.ui.setting.project.page;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.jface.dialogs.MessageDialog;
|
||||
import org.eclipse.jface.preference.IPreferenceStore;
|
||||
import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.core.runtime.projectsetting.AbstractPomTemplateProjectSettingPage;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.runtime.process.ITalendProcessJavaProject;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
|
||||
import org.talend.core.runtime.projectsetting.PomPreviewDialog;
|
||||
import org.talend.designer.maven.model.MergedModel;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.designer.maven.tools.AggregatorPomsHelper;
|
||||
import org.talend.designer.maven.tools.MergeModelTool;
|
||||
import org.talend.designer.maven.tools.ProjectPomManager;
|
||||
import org.talend.designer.maven.ui.DesignerMavenUiPlugin;
|
||||
import org.talend.designer.maven.ui.i18n.Messages;
|
||||
import org.talend.repository.ProjectManager;
|
||||
import org.talend.designer.runprocess.IRunProcessService;
|
||||
|
||||
/**
|
||||
* DOC ggu class global comment. Detailled comment
|
||||
*/
|
||||
public class ProjectPomProjectSettingPage extends AbstractPomTemplateProjectSettingPage {
|
||||
public class ProjectPomProjectSettingPage extends AbstractPersistentProjectSettingPage {
|
||||
|
||||
private String oldScriptContent;
|
||||
|
||||
public ProjectPomProjectSettingPage() {
|
||||
super();
|
||||
this.oldScriptContent = getCustomText();
|
||||
this.oldScriptContent = this.getScriptContent();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -57,122 +45,42 @@ public class ProjectPomProjectSettingPage extends AbstractPomTemplateProjectSett
|
||||
return IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.talend.repository.preference.AbstractScriptPreferencePage#getHeadTitle()
|
||||
*/
|
||||
@Override
|
||||
protected String getHeaderMessage() {
|
||||
return Messages.getString("ProjectPomProjectSettingPage.headerMessage"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultText() {
|
||||
Map<String, Object> parameters = new HashMap<String, Object>();
|
||||
parameters.put(MavenTemplateManager.KEY_PROJECT_NAME,
|
||||
ProjectManager.getInstance().getCurrentProject().getTechnicalLabel());
|
||||
Model model = MavenTemplateManager.getDefaultProjectModel(parameters);
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
try {
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
return out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return "Error loading default project pom template!"; //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getMoreInfoUrl() {
|
||||
return "https://document-link.us.cloud.talend.com/ts_ug_customize_project_pom_settings?version=80&lang=en&env=prd"; //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean checkModel(boolean preview) {
|
||||
if (customText == null || customText.isDisposed()) {
|
||||
return false;
|
||||
}
|
||||
Model model = null;
|
||||
try {
|
||||
Model defaultModel = MavenPlugin.getMavenModelManager()
|
||||
.readMavenModel(new ByteArrayInputStream(defaultText.getText().getBytes()));
|
||||
Model customModel = MavenPlugin.getMavenModelManager()
|
||||
.readMavenModel(new ByteArrayInputStream(customText.getText().getBytes()));
|
||||
MergedModel mergedModel = new MergeModelTool().mergeModel(defaultModel, customModel);
|
||||
model = mergedModel.getModel();
|
||||
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
if (model != null) {
|
||||
String propertiesInfo = mergedModel.getIllegalPropertiesInfo();
|
||||
if (propertiesInfo != null) {
|
||||
// validated with warning
|
||||
msgBuilder.append(Messages.getString("ProjectPomProjectSettingPage.warningTip")); //$NON-NLS-1$
|
||||
msgBuilder.append(propertiesInfo);
|
||||
MessageDialog.openWarning(getShell(), Messages.getString("ProjectPomProjectSettingPage.validateTitle"), //$NON-NLS-1$
|
||||
msgBuilder.toString());
|
||||
}
|
||||
} else {
|
||||
msgBuilder.append(Messages.getString("ProjectPomProjectSettingPage.errorTip")); //$NON-NLS-1$
|
||||
String pluginManagementInfo = mergedModel.getIllegalPluginManagementInfo();
|
||||
if (pluginManagementInfo != null) {
|
||||
msgBuilder.append(pluginManagementInfo);
|
||||
}
|
||||
String pluginsInfo = mergedModel.getIllegalPluginsInfo();
|
||||
if (pluginsInfo != null) {
|
||||
msgBuilder.append(pluginsInfo);
|
||||
}
|
||||
String profilesInfo = mergedModel.getIllegalProfilesInfo();
|
||||
if (profilesInfo != null) {
|
||||
msgBuilder.append(profilesInfo);
|
||||
}
|
||||
MessageDialog.openError(getShell(), Messages.getString("ProjectPomProjectSettingPage.validateTitle"), //$NON-NLS-1$
|
||||
msgBuilder.toString());
|
||||
}
|
||||
|
||||
if (model == null) {
|
||||
return false;
|
||||
}
|
||||
if (preview) {
|
||||
ByteArrayOutputStream out = new ByteArrayOutputStream();
|
||||
MavenPlugin.getMaven().writeModel(model, out);
|
||||
String content = out.toString(TalendMavenConstants.DEFAULT_ENCODING);
|
||||
new PomPreviewDialog(getShell(), Messages.getString("ProjectPomProjectSettingPage.preview"), content).open(); //$NON-NLS-1$
|
||||
}
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
MessageDialog.openError(getShell(), Messages.getString("ProjectPomProjectSettingPage.validateTitle"), //$NON-NLS-1$
|
||||
e.getCause() == null ? e.getMessage() : e.getCause().getMessage());
|
||||
ExceptionHandler.process(e);
|
||||
return false;
|
||||
}
|
||||
protected String getHeadTitle() {
|
||||
return Messages.getString("ProjectPomProjectSettingPage_Titile"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void performApply() {
|
||||
if (performOk()) {
|
||||
// reset from modification
|
||||
this.oldScriptContent = getCustomText();
|
||||
}
|
||||
super.performApply();
|
||||
// reset from modification
|
||||
this.oldScriptContent = this.getScriptContent();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean performOk() {
|
||||
boolean ok = super.performOk();
|
||||
if (ok && getScriptTxt() != null && !getScriptTxt().isDisposed()) {
|
||||
boolean performOk = super.performOk();
|
||||
|
||||
String newContent = this.getScriptContent();
|
||||
if (!newContent.equals(oldScriptContent)) { // not same
|
||||
MessageDialog.openWarning(this.getShell(), Messages.getString("ProjectPomProjectSettingPage_ConfirmTitle"), //$NON-NLS-1$
|
||||
Messages.getString("ProjectPomProjectSettingPage_ConfirmMessage")); //$NON-NLS-1$
|
||||
|
||||
// Update project pom file.
|
||||
ProjectPomManager projectPomManager = new ProjectPomManager();
|
||||
try {
|
||||
if (MessageDialog.openQuestion(getShell(), "Question", //$NON-NLS-1$
|
||||
Messages.getString("AbstractPersistentProjectSettingPage.syncAllPoms"))) { //$NON-NLS-1$
|
||||
new AggregatorPomsHelper().syncAllPoms();
|
||||
} else {
|
||||
String newContent = getCustomText();
|
||||
if (!newContent.equals(oldScriptContent)) { // not same
|
||||
MessageDialog.openWarning(this.getShell(),
|
||||
Messages.getString("ProjectPomProjectSettingPage_ConfirmTitle"), //$NON-NLS-1$
|
||||
Messages.getString("ProjectPomProjectSettingPage_ConfirmMessage")); //$NON-NLS-1$
|
||||
new AggregatorPomsHelper().createRootPom(new NullProgressMonitor());
|
||||
}
|
||||
}
|
||||
projectPomManager.updateFromTemplate(null);
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
|
||||
return performOk;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
<project
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>@ProjectGroupId@</groupId>
|
||||
<artifactId>@ProjectArtifactId@</artifactId>
|
||||
<version>@ProjectVersion@</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>@ProjectName@ Codes Master</name>
|
||||
<url>http://www.talend.org/</url>
|
||||
</project>
|
||||
@@ -1,98 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.model;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Plugin;
|
||||
import org.apache.maven.model.Profile;
|
||||
|
||||
public class MergedModel {
|
||||
|
||||
private Model model;
|
||||
|
||||
private List<String> illegalProperties = new ArrayList<>();
|
||||
|
||||
private List<Profile> illegalProfiles = new ArrayList<>();
|
||||
|
||||
private List<Plugin> illegalPluginManagement = new ArrayList<>();
|
||||
|
||||
private List<Plugin> illegalPlugins = new ArrayList<>();
|
||||
|
||||
public Model getModel() {
|
||||
return model;
|
||||
}
|
||||
|
||||
public void setModel(Model model) {
|
||||
this.model = model;
|
||||
}
|
||||
|
||||
public List<String> getIllegalProperties() {
|
||||
return illegalProperties;
|
||||
}
|
||||
|
||||
public List<Profile> getIllegalProfiles() {
|
||||
return illegalProfiles;
|
||||
}
|
||||
|
||||
public List<Plugin> getIllegalPluginManagement() {
|
||||
return illegalPluginManagement;
|
||||
}
|
||||
|
||||
public List<Plugin> getIllegalPlugins() {
|
||||
return illegalPlugins;
|
||||
}
|
||||
|
||||
public String getIllegalPropertiesInfo() {
|
||||
if (!illegalProperties.isEmpty()) {
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
msgBuilder.append("Properties:\n");
|
||||
illegalProperties.forEach(property -> msgBuilder.append(" ").append(property).append("\n"));
|
||||
return msgBuilder.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getIllegalPluginManagementInfo() {
|
||||
if (!illegalPluginManagement.isEmpty()) {
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
msgBuilder.append("PluginManagement:\n");
|
||||
illegalPluginManagement.forEach(plugin -> msgBuilder.append(" ").append(plugin.getKey()).append("\n"));
|
||||
return msgBuilder.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getIllegalPluginsInfo() {
|
||||
if (!illegalPlugins.isEmpty()) {
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
msgBuilder.append("Plugins:\n"); //$NON-NLS-1$
|
||||
illegalPlugins.forEach(plugin -> msgBuilder.append(" ").append(plugin.getKey()).append("\n"));
|
||||
return msgBuilder.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getIllegalProfilesInfo() {
|
||||
if (!illegalProfiles.isEmpty()) {
|
||||
StringBuilder msgBuilder = new StringBuilder();
|
||||
msgBuilder.append("Profiles:\n");
|
||||
illegalProfiles.forEach(profile -> msgBuilder.append(" ").append(profile.getId()).append("\n"));
|
||||
return msgBuilder.toString();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -38,10 +38,8 @@ import org.talend.core.model.routines.CodesJarInfo;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
|
||||
import org.talend.core.runtime.projectsetting.IProjectSettingTemplateConstants;
|
||||
import org.talend.designer.maven.DesignerMavenPlugin;
|
||||
import org.talend.designer.maven.model.MergedModel;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.setting.project.IProjectSettingManagerProvider;
|
||||
import org.talend.designer.maven.tools.MergeModelTool;
|
||||
import org.talend.designer.maven.tools.extension.PomExtensionRegistry;
|
||||
import org.talend.designer.maven.utils.PomIdsHelper;
|
||||
import org.talend.designer.maven.utils.PomUtil;
|
||||
@@ -213,67 +211,49 @@ public class MavenTemplateManager {
|
||||
}
|
||||
}
|
||||
|
||||
public static Model getCodeProjectTemplateModel() {
|
||||
return getCodeProjectTemplateModel(null); // by default will be current project.
|
||||
}
|
||||
|
||||
/**
|
||||
* Try to load the project template from bundle, if load failed, use default instead.
|
||||
*/
|
||||
public static Model getCodeProjectTemplateModel(Map<String, Object> parameters) {
|
||||
Model basicModel = getBasicProjectPomTemplateModel(parameters);
|
||||
Model defaultModel = getDefaultProjectModel(parameters);
|
||||
if (defaultModel == null) {
|
||||
defaultModel = basicModel;
|
||||
}
|
||||
Model customModel = getCustomProjectModel(parameters);
|
||||
MergedModel mergedModel = new MergeModelTool().mergeModel(defaultModel, customModel);
|
||||
Model model = mergedModel.getModel();
|
||||
if (model != null) {
|
||||
Map<ETalendMavenVariables, String> variablesValuesMap = new HashMap<>();
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectGroupId, basicModel.getGroupId());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectArtifactId, basicModel.getArtifactId());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectVersion, basicModel.getVersion());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectName, PomUtil.getProjectNameFromTemplateParameter(parameters));
|
||||
|
||||
model.setGroupId(ETalendMavenVariables.replaceVariables(model.getGroupId(), variablesValuesMap));
|
||||
model.setArtifactId(ETalendMavenVariables.replaceVariables(model.getArtifactId(), variablesValuesMap));
|
||||
model.setVersion(ETalendMavenVariables.replaceVariables(model.getVersion(), variablesValuesMap));
|
||||
model.setName(ETalendMavenVariables.replaceVariables(model.getName(), variablesValuesMap));
|
||||
|
||||
setJavaVersionForModel(model, variablesValuesMap);
|
||||
}
|
||||
|
||||
return model;
|
||||
}
|
||||
|
||||
public static Model getDefaultProjectModel(Map<String, Object> parameters) {
|
||||
final String projectTechName = PomUtil.getProjectNameFromTemplateParameter(parameters);
|
||||
Model defaultModel = getDefaultCodeProjectTemplateModel(projectTechName);
|
||||
try {
|
||||
InputStream stream = MavenTemplateManager.getTemplateStream(null, null, DesignerMavenPlugin.PLUGIN_ID,
|
||||
InputStream stream = MavenTemplateManager.getTemplateStream(null,
|
||||
IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM, DesignerMavenPlugin.PLUGIN_ID,
|
||||
IProjectSettingTemplateConstants.PATH_GENERAL + '/'
|
||||
+ IProjectSettingTemplateConstants.PROJECT_TEMPLATE_FILE_NAME,
|
||||
parameters);
|
||||
+ IProjectSettingTemplateConstants.PROJECT_TEMPLATE_FILE_NAME, parameters);
|
||||
if (stream != null) {
|
||||
Model model = MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
|
||||
Map<ETalendMavenVariables, String> variablesValuesMap = new HashMap<ETalendMavenVariables, String>();
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectGroupId, defaultModel.getGroupId());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectArtifactId, defaultModel.getArtifactId());
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectVersion, defaultModel.getVersion());
|
||||
|
||||
variablesValuesMap.put(ETalendMavenVariables.ProjectName, projectTechName);
|
||||
|
||||
model.setGroupId(ETalendMavenVariables.replaceVariables(model.getGroupId(), variablesValuesMap));
|
||||
model.setArtifactId(ETalendMavenVariables.replaceVariables(model.getArtifactId(), variablesValuesMap));
|
||||
model.setVersion(ETalendMavenVariables.replaceVariables(model.getVersion(), variablesValuesMap));
|
||||
model.setName(ETalendMavenVariables.replaceVariables(model.getName(), variablesValuesMap));
|
||||
|
||||
setJavaVersionForModel(model, variablesValuesMap);
|
||||
|
||||
PomExtensionRegistry.getInstance().updateProjectPom(model);
|
||||
PomExtensionRegistry.getInstance().updatePomTemplate(model);
|
||||
|
||||
Properties properties = model.getProperties();
|
||||
properties.put("talend.project.name", PomUtil.getProjectNameFromTemplateParameter(parameters)); //$NON-NLS-1$
|
||||
properties.put("talend.project.name", projectTechName); //$NON-NLS-1$
|
||||
|
||||
return model;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
// ExceptionHandler.process(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Model getCustomProjectModel(Map<String, Object> parameters) {
|
||||
try {
|
||||
InputStream stream = MavenTemplateManager.getTemplateStream(null,
|
||||
IProjectSettingPreferenceConstants.TEMPLATE_PROJECT_POM, null, null, parameters);
|
||||
if (stream != null) {
|
||||
return MavenPlugin.getMavenModelManager().readMavenModel(stream);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
return null;
|
||||
return defaultModel; // if error, try to use default model
|
||||
}
|
||||
|
||||
private static void setJavaVersionForModel(Model model, Map<ETalendMavenVariables, String> variablesValuesMap) {
|
||||
@@ -295,8 +275,7 @@ public class MavenTemplateManager {
|
||||
}
|
||||
}
|
||||
|
||||
private static Model getBasicProjectPomTemplateModel(Map<String, Object> parameters) {
|
||||
String projectTechName = PomUtil.getProjectNameFromTemplateParameter(parameters);
|
||||
private static Model getDefaultCodeProjectTemplateModel(String projectTechName) {
|
||||
Model templateCodeProjectMOdel = new Model();
|
||||
templateCodeProjectMOdel.setGroupId(PomIdsHelper.getProjectGroupId(projectTechName));
|
||||
templateCodeProjectMOdel.setArtifactId(PomIdsHelper.getProjectArtifactId());
|
||||
|
||||
@@ -1,182 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.tools;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Properties;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.maven.model.Build;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Plugin;
|
||||
import org.apache.maven.model.Profile;
|
||||
import org.talend.designer.maven.model.MergedModel;
|
||||
|
||||
public class MergeModelTool {
|
||||
|
||||
public MergedModel mergeModel(Model defaultModel, Model customModel) {
|
||||
MergedModel mergedModel = new MergedModel();
|
||||
mergedModel.setModel(defaultModel);
|
||||
if (customModel == null) {
|
||||
return mergedModel;
|
||||
}
|
||||
// basic info
|
||||
mergeBasicInfo(defaultModel, customModel);
|
||||
|
||||
// Properties
|
||||
if (customModel.getProperties() != null) {
|
||||
Properties defaultProperties = defaultModel.getProperties();
|
||||
customModel.getProperties().keySet().stream().filter(key -> defaultProperties.containsKey(key))
|
||||
.forEach(key -> mergedModel.getIllegalProperties().add((String) key));
|
||||
defaultProperties.putAll(customModel.getProperties());
|
||||
}
|
||||
|
||||
Build build = customModel.getBuild();
|
||||
if (build != null) {
|
||||
// PluginManagement
|
||||
if (build.getPluginManagement() != null) {
|
||||
Map<String, Plugin> customPluginsManageMap = build.getPluginManagement().getPluginsAsMap();
|
||||
Map<String, Plugin> defaultPluginsManageMap = defaultModel.getBuild().getPluginManagement().getPluginsAsMap();
|
||||
customPluginsManageMap.keySet().stream().filter(key -> defaultPluginsManageMap.containsKey(key))
|
||||
.forEach(key -> mergedModel.getIllegalPluginManagement().add(customPluginsManageMap.get(key)));
|
||||
if (mergedModel.getIllegalPluginManagement().isEmpty()) {
|
||||
build.getPluginManagement().getPlugins()
|
||||
.forEach(plugin -> defaultModel.getBuild().getPluginManagement().addPlugin(plugin));
|
||||
}
|
||||
}
|
||||
|
||||
// Plugins
|
||||
Map<String, Plugin> customPluginsMap = build.getPluginsAsMap();
|
||||
Map<String, Plugin> defaultPluginsMap = defaultModel.getBuild().getPluginsAsMap();
|
||||
customPluginsMap.keySet().stream().filter(key -> defaultPluginsMap.containsKey(key))
|
||||
.forEach(key -> mergedModel.getIllegalPlugins().add(customPluginsMap.get(key)));
|
||||
if (mergedModel.getIllegalPlugins().isEmpty()) {
|
||||
defaultModel.getBuild().getPlugins().addAll(build.getPlugins());
|
||||
}
|
||||
}
|
||||
|
||||
// Profiles
|
||||
Map<String, Profile> customProfileMap = customModel.getProfiles().stream()
|
||||
.collect(Collectors.toMap(Profile::getId, Function.identity()));
|
||||
Map<String, Profile> defaultProfileMap = defaultModel.getProfiles().stream()
|
||||
.collect(Collectors.toMap(Profile::getId, Function.identity()));
|
||||
customProfileMap.keySet().stream().filter(key -> defaultProfileMap.containsKey(key))
|
||||
.forEach(key -> mergedModel.getIllegalProfiles().add(customProfileMap.get(key)));
|
||||
if (mergedModel.getIllegalProfiles().isEmpty()) {
|
||||
defaultModel.getProfiles().addAll(customModel.getProfiles());
|
||||
}
|
||||
|
||||
mergeOtherSetup(defaultModel, customModel);
|
||||
|
||||
if (!mergedModel.getIllegalPluginManagement().isEmpty() || !mergedModel.getIllegalPlugins().isEmpty()
|
||||
|| !mergedModel.getIllegalProfiles().isEmpty()) {
|
||||
mergedModel.setModel(null);
|
||||
}
|
||||
|
||||
return mergedModel;
|
||||
}
|
||||
|
||||
public Model migrateCustomModel(Model defaultModel, Model customModel) {
|
||||
// Properties
|
||||
Iterator<Entry<Object, Object>> iterator = customModel.getProperties().entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Entry<Object, Object> entry = iterator.next();
|
||||
Object key = entry.getKey();
|
||||
Object value = entry.getValue();
|
||||
if (defaultModel.getProperties().containsKey(key) && value != null
|
||||
&& value.equals(defaultModel.getProperties().get(key))) {
|
||||
iterator.remove();
|
||||
}
|
||||
}
|
||||
|
||||
Build build = customModel.getBuild();
|
||||
if (build != null) {
|
||||
// PluginManagement
|
||||
if (build.getPluginManagement() != null) {
|
||||
Map<String, Plugin> defaultPluginsManageMap = defaultModel.getBuild().getPluginManagement().getPluginsAsMap();
|
||||
build.getPluginManagement().getPlugins().removeIf(p -> defaultPluginsManageMap.containsKey(p.getKey()));
|
||||
if (build.getPluginManagement().getPlugins().isEmpty()) {
|
||||
build.setPluginManagement(null);
|
||||
}
|
||||
}
|
||||
// Plugins
|
||||
Map<String, Plugin> defaultPluginsMap = defaultModel.getBuild().getPluginsAsMap();
|
||||
customModel.getBuild().getPlugins().removeIf(p -> defaultPluginsMap.containsKey(p.getKey()));
|
||||
}
|
||||
|
||||
// Profiles
|
||||
Map<String, Profile> defaultProfileMap = defaultModel.getProfiles().stream()
|
||||
.collect(Collectors.toMap(Profile::getId, Function.identity()));
|
||||
customModel.getProfiles().removeIf(profile -> defaultProfileMap.containsKey(profile.getId()));
|
||||
|
||||
return customModel;
|
||||
}
|
||||
|
||||
private void mergeBasicInfo(Model defaultModel, Model customModel) {
|
||||
if (customModel.getModelVersion() != null && !customModel.getModelVersion().equals(defaultModel.getModelVersion())) {
|
||||
defaultModel.setModelVersion(customModel.getModelVersion());
|
||||
}
|
||||
if (customModel.getGroupId() != null && !customModel.getGroupId().equals(defaultModel.getGroupId())) {
|
||||
defaultModel.setGroupId(customModel.getGroupId());
|
||||
}
|
||||
if (customModel.getArtifactId() != null && !customModel.getArtifactId().equals(defaultModel.getArtifactId())) {
|
||||
defaultModel.setArtifactId(customModel.getArtifactId());
|
||||
}
|
||||
if (customModel.getVersion() != null && !customModel.getVersion().equals(defaultModel.getVersion())) {
|
||||
defaultModel.setVersion(customModel.getVersion());
|
||||
}
|
||||
if (customModel.getPackaging() != null && !customModel.getPackaging().equals(defaultModel.getPackaging())) {
|
||||
defaultModel.setPackaging(customModel.getPackaging());
|
||||
}
|
||||
if (customModel.getName() != null && !customModel.getName().equals(defaultModel.getName())) {
|
||||
defaultModel.setName(customModel.getName());
|
||||
}
|
||||
if (customModel.getUrl() != null && !customModel.getUrl().equals(defaultModel.getUrl())) {
|
||||
defaultModel.setUrl(customModel.getUrl());
|
||||
}
|
||||
}
|
||||
|
||||
private void mergeOtherSetup(Model defaultModel, Model customModel) {
|
||||
// default model doesn't have those setup so can merge directly if exists
|
||||
// FIXME add more if needed: https://maven.apache.org/ref/3.8.6/maven-model/maven.html
|
||||
|
||||
// DependencyManagement
|
||||
if (customModel.getDependencyManagement() != null) {
|
||||
defaultModel.setDependencyManagement(customModel.getDependencyManagement());
|
||||
}
|
||||
// Dependencies
|
||||
if (!customModel.getDependencies().isEmpty()) {
|
||||
defaultModel.setDependencies(customModel.getDependencies());
|
||||
}
|
||||
// Repositories
|
||||
if (!customModel.getRepositories().isEmpty()) {
|
||||
defaultModel.setRepositories(customModel.getRepositories());
|
||||
}
|
||||
// PluginRepositories
|
||||
if (!customModel.getPluginRepositories().isEmpty()) {
|
||||
defaultModel.setPluginRepositories(customModel.getPluginRepositories());
|
||||
}
|
||||
// DistributionManagement
|
||||
if (customModel.getDistributionManagement() != null) {
|
||||
defaultModel.setDistributionManagement(customModel.getDistributionManagement());
|
||||
}
|
||||
// SCM
|
||||
if (customModel.getScm() != null) {
|
||||
defaultModel.setScm(customModel.getScm());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.tools;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.resources.IFolder;
|
||||
import org.eclipse.core.resources.IWorkspace;
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.eclipse.m2e.core.MavenPlugin;
|
||||
import org.eclipse.m2e.core.embedder.MavenModelManager;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.designer.maven.model.TalendJavaProjectConstants;
|
||||
import org.talend.designer.maven.model.TalendMavenConstants;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.designer.maven.utils.PomUtil;
|
||||
import org.talend.designer.runprocess.IProcessor;
|
||||
import org.talend.repository.ProjectManager;
|
||||
|
||||
/**
|
||||
* DOC ggu class global comment. Detailled comment
|
||||
*/
|
||||
public class ProjectPomManager {
|
||||
|
||||
protected static final MavenModelManager MODEL_MANAGER = MavenPlugin.getMavenModelManager();
|
||||
|
||||
private IFile projectPomFile;
|
||||
|
||||
/**
|
||||
* true by default, update all
|
||||
*/
|
||||
|
||||
public ProjectPomManager() {
|
||||
projectPomFile = getTalendProjectPom();
|
||||
}
|
||||
|
||||
public void update(IProgressMonitor monitor, IProcessor processor) throws Exception {
|
||||
if (monitor == null) {
|
||||
monitor = new NullProgressMonitor();
|
||||
}
|
||||
if (!projectPomFile.exists()) {// delete by user manually?
|
||||
// create it or nothing to do?
|
||||
return;
|
||||
}
|
||||
Model projectModel = MODEL_MANAGER.readMavenModel(projectPomFile);
|
||||
|
||||
// attributes
|
||||
updateAttributes(monitor, processor, projectModel);
|
||||
|
||||
PomUtil.savePom(monitor, projectModel, projectPomFile);
|
||||
}
|
||||
|
||||
public void updateFromTemplate(IProgressMonitor monitor) throws Exception {
|
||||
if (monitor == null) {
|
||||
monitor = new NullProgressMonitor();
|
||||
}
|
||||
new AggregatorPomsHelper().createRootPom(monitor);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* update the main attributes for project pom.
|
||||
*
|
||||
*/
|
||||
protected void updateAttributes(IProgressMonitor monitor, IProcessor processor, Model projectModel) throws Exception {
|
||||
final Map<String, Object> templateParameters = PomUtil.getTemplateParameters(processor);
|
||||
Model templateModel = MavenTemplateManager.getCodeProjectTemplateModel(templateParameters);
|
||||
projectModel.setGroupId(templateModel.getGroupId());
|
||||
projectModel.setArtifactId(templateModel.getArtifactId());
|
||||
projectModel.setVersion(templateModel.getVersion());
|
||||
projectModel.setName(templateModel.getName());
|
||||
projectModel.setPackaging(templateModel.getPackaging());
|
||||
}
|
||||
|
||||
public IFile getTalendProjectPom() {
|
||||
Project project = ProjectManager.getInstance().getCurrentProject();
|
||||
IWorkspace workspace = ResourcesPlugin.getWorkspace();
|
||||
IFolder pomsFolder = workspace.getRoot()
|
||||
.getFolder(new Path(project.getTechnicalLabel() + "/" + TalendJavaProjectConstants.DIR_POMS)); //$NON-NLS-1$
|
||||
IFile pomFile = pomsFolder.getFile(TalendMavenConstants.POM_FILE_NAME);
|
||||
return pomFile;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -54,7 +54,7 @@ ContextWizard.step0Description=\u5FC5\u8981\u306A\u60C5\u5831\u3092\u8FFD\u52A0
|
||||
ContextWizard.step0Title=\u30B9\u30C6\u30C3\u30D71/2
|
||||
ContextModeWizard.Title=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u3092\u4F5C\u6210/\u518D\u4F7F\u7528
|
||||
CreateTableAction.action.createTitle=\u30B9\u30AD\u30FC\u30DE\u3092\u53D6\u5F97
|
||||
DatabaseForm.AddParams=\u8FFD\u52A0\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC
|
||||
DatabaseForm.AddParams=\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306E\u8FFD\u52A0
|
||||
DatabaseForm.alert=DB\u30BF\u30A4\u30D7\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
DatabaseForm.StandardSQL=\u6A19\u6E96SQL\u30B9\u30C6\u30FC\u30C8\u30E1\u30F3\u30C8
|
||||
DatabaseForm.SystemSQL=\u30B7\u30B9\u30C6\u30E0SQL\u30B9\u30C6\u30FC\u30C8\u30E1\u30F3\u30C8
|
||||
|
||||
@@ -220,21 +220,6 @@
|
||||
required="true"
|
||||
uripath="platform:/plugin/org.talend.libraries.jdbc.hsql/lib/hsqldb.jar">
|
||||
</libraryNeeded>
|
||||
<libraryNeeded
|
||||
context="plugin:org.talend.metadata.managment"
|
||||
language="java"
|
||||
message="Needed for Ingres jdbc plugin"
|
||||
name="iijdbc-10.2-4.1.10.jar" mvn_uri="mvn:com.ingres.jdbc/iijdbc/10.2-4.1.10"
|
||||
required="true">
|
||||
</libraryNeeded>
|
||||
<libraryNeeded
|
||||
context="plugin:org.talend.metadata.managment"
|
||||
language="java"
|
||||
message="Needed for create sqlite connection"
|
||||
mvn_uri="mvn:org.xerial/sqlite-jdbc/3.40.0.0"
|
||||
name="sqlite-jdbc-3.40.0.0.jar"
|
||||
required="true">
|
||||
</libraryNeeded>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.talend.core.migrationTask">
|
||||
|
||||
@@ -86,7 +86,6 @@ public final class SupportDBUrlStore {
|
||||
supportDBUrlMap.put(SupportDBUrlType.SYBASEDEFAULTURL.getDBKey(), SupportDBUrlType.SYBASEDEFAULTURL);
|
||||
// supportDBUrlMap.put(SupportDBUrlType.INFORMIXDEFAULTURL.getDBKey(), SupportDBUrlType.INFORMIXDEFAULTURL);
|
||||
// supportDBUrlMap.put(SupportDBUrlType.FIREBIRDDEFAULTURL.getDBKey(), SupportDBUrlType.FIREBIRDDEFAULTURL);
|
||||
supportDBUrlMap.put(SupportDBUrlType.INGRESDEFAULTURL.getDBKey(), SupportDBUrlType.INGRESDEFAULTURL);
|
||||
supportDBUrlMap.put(SupportDBUrlType.INFORMIXDEFAULTURL.getDBKey(), SupportDBUrlType.INFORMIXDEFAULTURL);
|
||||
supportDBUrlMap.put(SupportDBUrlType.SQLITE3DEFAULTURL.getDBKey(), SupportDBUrlType.SQLITE3DEFAULTURL);
|
||||
supportDBUrlMap.put(SupportDBUrlType.GENERICJDBCDEFAULTURL.getDBKey(), SupportDBUrlType.GENERICJDBCDEFAULTURL);
|
||||
@@ -129,8 +128,6 @@ public final class SupportDBUrlStore {
|
||||
// SupportDBUrlType.INFORMIXDEFAULTURL);
|
||||
// supportDiverNameDBUrlMap.put(SupportDBUrlType.FIREBIRDDEFAULTURL.getDbDriver(),
|
||||
// SupportDBUrlType.FIREBIRDDEFAULTURL);
|
||||
supportDiverNameDBUrlMap
|
||||
.put(SupportDBUrlType.INGRESDEFAULTURL.getDbDriver(), SupportDBUrlType.INGRESDEFAULTURL);
|
||||
supportDiverNameDBUrlMap.put(SupportDBUrlType.INFORMIXDEFAULTURL.getDbDriver(),
|
||||
SupportDBUrlType.INFORMIXDEFAULTURL);
|
||||
supportDiverNameDBUrlMap.put(SupportDBUrlType.SQLITE3DEFAULTURL.getDbDriver(),
|
||||
|
||||
@@ -142,7 +142,6 @@ public enum SupportDBUrlType {
|
||||
"org.firebirdsql.jdbc.FBDriver", //$NON-NLS-1$
|
||||
null,
|
||||
"FireBird"), //$NON-NLS-1$
|
||||
INGRESDEFAULTURL("Ingres", "localhost", "II7", "dbname", null, "com.ingres.jdbc.IngresDriver", null, "Ingres"),
|
||||
SQLITE3DEFAULTURL("SQLite", "localhost", "", "dbname", null, "org.sqlite.JDBC", null, "SQLite"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
|
||||
GENERICJDBCDEFAULTURL("General JDBC", "", "", "", null, "", null, "General JDBC"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
|
||||
// MOD klliu 2010-06-04 bug 12819: upgrade jdbc driver class used in sql explorer
|
||||
@@ -398,6 +397,6 @@ public enum SupportDBUrlType {
|
||||
public static boolean justHaveSchema(String dbKey) {
|
||||
SupportDBUrlType dbTypeByKey = getDBTypeByKey(dbKey);
|
||||
return dbTypeByKey != null
|
||||
&& (isOracle(dbKey) || dbTypeByKey == TERADATADEFAULTURL || dbTypeByKey == DB2DEFAULTURL || dbTypeByKey == DB2ZOSDEFAULTURL|| dbTypeByKey == INGRESDEFAULTURL);
|
||||
&& (isOracle(dbKey) || dbTypeByKey == TERADATADEFAULTURL || dbTypeByKey == DB2DEFAULTURL || dbTypeByKey == DB2ZOSDEFAULTURL);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ IBM\ DB2\ ZOS=jdbc\:db2\://{0}\:{1}/{2}
|
||||
FireBird=jdbc\:firebirdsql\:{0}\:{2}
|
||||
Generic\ ODBC=jdbc\:odbc\:{3}
|
||||
Informix=jdbc\:informix-sqli\://{0}\:{1}/{2}\:informixserver\={3}
|
||||
Ingres=jdbc\:ingres\://{0}\:{1}/{2}
|
||||
Microsoft\ SQL\ Server=jdbc\:jtds\:sqlserver\://{0}\:{1}/{2}
|
||||
Microsoft\ SQL\ Server\ 2005/2008=jdbc\:sqlserver\://{0}\:{1};DatabaseName\={2}
|
||||
MySQL=jdbc\:mysql\://{0}\:{1}/{2}
|
||||
|
||||
@@ -83,7 +83,6 @@ import org.talend.metadata.managment.connection.manager.HiveConnectionManager;
|
||||
import org.talend.metadata.managment.hive.EmbeddedHiveDataBaseMetadata;
|
||||
import org.talend.metadata.managment.repository.ManagerConnection;
|
||||
import org.talend.metadata.managment.utils.DatabaseConstant;
|
||||
import org.talend.metadata.managment.utils.EDataBaseType;
|
||||
import org.talend.metadata.managment.utils.ManagementTextUtils;
|
||||
import org.talend.metadata.managment.utils.MetadataConnectionUtils;
|
||||
import org.talend.utils.sql.ConnectionUtils;
|
||||
@@ -1043,12 +1042,8 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
// for CDH4 HIVE2 , the table type are MANAGED_TABLE and EXTERNAL_TABLE ......
|
||||
// tableType = null;
|
||||
}
|
||||
Map<String,String> tableComments = null;
|
||||
if (!isOracle8i) {
|
||||
tableComments = this.getTableComments(dbJDBCMetadata, catalogName, schemaPattern);
|
||||
}
|
||||
ResultSet tables = dbJDBCMetadata.getTables(catalogName, schemaPattern, tablePattern, tableType);
|
||||
boolean hasRemarksCol = hasRemarksColumn(tables);
|
||||
|
||||
while (tables.next()) {
|
||||
String coloumnName = GetTable.TABLE_SCHEM.name();
|
||||
if (schemaPattern != null) {
|
||||
@@ -1073,13 +1068,8 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
// if (!isOracle && !isOracle8i && !isOracleJdbc && tableName.startsWith("/")) { //$NON-NLS-1$
|
||||
// continue;
|
||||
// }
|
||||
if (hasRemarksCol) {
|
||||
tableComment = getRemarksFromResultSet(tables);
|
||||
}
|
||||
if (tableComments != null) {
|
||||
if (StringUtils.isEmpty(tableComment)) {
|
||||
tableComment = tableComments.get(tableName);
|
||||
}
|
||||
if (!isOracle8i) {
|
||||
tableComment = getTableComment(dbJDBCMetadata, tables, tableName, catalogName, schemaPattern);
|
||||
}
|
||||
MetadataTable metadatatable = null;
|
||||
if (TableType.VIEW.toString().equals(temptableType) || ETableTypes.VIRTUAL_VIEW.getName().equals(temptableType)) {
|
||||
@@ -1223,69 +1213,6 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
}
|
||||
return tableComment;
|
||||
}
|
||||
|
||||
private Map<String, String> getTableComments(DatabaseMetaData dbJDBCMetadata, String catalogName, String schemaPattern) {
|
||||
Map<String, String> ret = new HashMap<String, String>();
|
||||
PreparedStatement ps = null;
|
||||
ResultSet rs = null;
|
||||
try {
|
||||
String productName = dbJDBCMetadata.getDatabaseProductName();
|
||||
if (StringUtils.isEmpty(productName)) {
|
||||
return ret;
|
||||
}
|
||||
productName = productName.replaceAll(" ", "_"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
EDataBaseType eDataBaseType = null;
|
||||
try {
|
||||
eDataBaseType = EDataBaseType.valueOf(productName);
|
||||
} catch (Exception e) {
|
||||
eDataBaseType = EDataBaseType.Microsoft_SQL_Server;
|
||||
}
|
||||
|
||||
String sqlStr = ""; //$NON-NLS-1$
|
||||
switch (eDataBaseType) {
|
||||
case Oracle:
|
||||
sqlStr = "SELECT TABLE_NAME,COMMENTS FROM ALL_TAB_COMMENTS WHERE OWNER=?";
|
||||
ps = dbJDBCMetadata.getConnection().prepareStatement(sqlStr);
|
||||
ps.setString(1, schemaPattern.toUpperCase());
|
||||
break;
|
||||
case MySQL:
|
||||
sqlStr = "SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA=?";
|
||||
ps = dbJDBCMetadata.getConnection().prepareStatement(sqlStr);
|
||||
ps.setString(1, catalogName);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (ps != null) {
|
||||
rs = ps.executeQuery();
|
||||
while (rs != null && rs.next()) {
|
||||
String comment = rs.getString(2);
|
||||
if (!StringUtils.isEmpty(comment)) {
|
||||
ret.put(rs.getString(1), comment);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
log.error(e, e);
|
||||
} finally {
|
||||
if (ps != null) {
|
||||
try {
|
||||
ps.close();
|
||||
} catch (SQLException e) {
|
||||
CommonExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
if (rs != null) {
|
||||
try {
|
||||
rs.close();
|
||||
} catch (SQLException e) {
|
||||
CommonExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* get the Column Comment especially for oracle type.
|
||||
@@ -1372,12 +1299,9 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
}
|
||||
}
|
||||
}
|
||||
Map<String, String> tableComments = null;
|
||||
if (!flag) {
|
||||
tableComments = this.getTableComments(dbJDBCMetadata, catalogName, schemaPattern);
|
||||
}
|
||||
|
||||
ResultSet tables = dbJDBCMetadata.getTables(catalogName, schemaPattern, tablePattern, tableType);
|
||||
boolean hasRemarksCol = hasRemarksColumn(tables);
|
||||
|
||||
while (tables.next()) {
|
||||
String tableName = getStringFromResultSet(tables, GetTable.TABLE_NAME.name());
|
||||
String temptableType = getStringFromResultSet(tables, GetTable.TABLE_TYPE.name());
|
||||
@@ -1396,13 +1320,8 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
if (tableName == null || tablesToFilter.contains(tableName) || tableName.startsWith("/")) { //$NON-NLS-1$
|
||||
continue;
|
||||
}
|
||||
if (hasRemarksCol) {
|
||||
tableComment = getRemarksFromResultSet(tables);
|
||||
}
|
||||
if (tableComments != null) {
|
||||
if (StringUtils.isEmpty(tableComment)) {
|
||||
tableComment = tableComments.get(tableName);
|
||||
}
|
||||
if (!flag) {
|
||||
tableComment = getTableComment(dbJDBCMetadata, tables, tableName, catalogName, schemaPattern);
|
||||
}
|
||||
// create table
|
||||
TdTable table = RelationalFactory.eINSTANCE.createTdTable();
|
||||
@@ -1452,17 +1371,8 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
}
|
||||
}
|
||||
try {
|
||||
boolean flag = true;
|
||||
if (pack != null) {
|
||||
Connection c = ConnectionHelper.getConnection(pack);
|
||||
flag = MetadataConnectionUtils.isOracle8i(c);
|
||||
}
|
||||
Map<String, String> tableComments = null;
|
||||
if (!flag) {
|
||||
tableComments = this.getTableComments(dbJDBCMetadata, catalogName, schemaPattern);
|
||||
}
|
||||
|
||||
ResultSet tables = dbJDBCMetadata.getTables(catalogName, schemaPattern, viewPattern, tableType);
|
||||
boolean hasRemarksCol = hasRemarksColumn(tables);
|
||||
while (tables.next()) {
|
||||
|
||||
String tableName = getStringFromResultSet(tables, GetTable.TABLE_NAME.name());
|
||||
@@ -1473,14 +1383,14 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
continue;
|
||||
}
|
||||
// common
|
||||
boolean flag = true;
|
||||
String tableComment = null;
|
||||
if (hasRemarksCol) {
|
||||
tableComment = getRemarksFromResultSet(tables);
|
||||
if (pack != null) {
|
||||
Connection c = ConnectionHelper.getConnection(pack);
|
||||
flag = MetadataConnectionUtils.isOracle8i(c);
|
||||
}
|
||||
if (tableComments != null) {
|
||||
if (StringUtils.isEmpty(tableComment)) {
|
||||
tableComment = tableComments.get(tableName);
|
||||
}
|
||||
if (!flag) {
|
||||
tableComment = getTableComment(dbJDBCMetadata, tables, tableName, catalogName, schemaPattern);
|
||||
}
|
||||
// create table
|
||||
TdView table = RelationalFactory.eINSTANCE.createTdView();
|
||||
@@ -1519,24 +1429,6 @@ public class DBConnectionFillerImpl extends MetadataFillerImpl<DatabaseConnectio
|
||||
return valueOfString;
|
||||
}
|
||||
|
||||
private boolean hasRemarksColumn(ResultSet resultSet) {
|
||||
try {
|
||||
if (resultSet == null || resultSet.getMetaData() == null) {
|
||||
return false;
|
||||
}
|
||||
int numOfCols = resultSet.getMetaData().getColumnCount();
|
||||
for (int i = 1; i < numOfCols + 1; i++) {
|
||||
String colName = resultSet.getMetaData().getColumnLabel(i);
|
||||
if (StringUtils.equals(colName, GetColumn.REMARKS.name())) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
CommonExceptionHandler.process(e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private String getRemarksFromResultSet(ResultSet resultSet) {
|
||||
String valueOfString = null;
|
||||
try {
|
||||
|
||||
@@ -38,10 +38,6 @@ public final class DatabaseConstant {
|
||||
|
||||
public static final String ODBC_DRIVER_NAME = "jdbc-odbc";
|
||||
|
||||
public static final String INGRES_PRODUCT_NAME = "ingres";
|
||||
|
||||
public static final String JDBC_INGRES_DEIVER_NAME = "Ingres Corporation - JDBC Driver";
|
||||
|
||||
// feature 0010630 zshen: Tables are not found when using Excel with ODBC connection
|
||||
public static final String ODBC_EXCEL_PRODUCT_NAME = "EXCEL";
|
||||
|
||||
|
||||
@@ -811,21 +811,6 @@ public class ConnectionHelper {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* DOC xqliu Comment method "isIngress".
|
||||
*
|
||||
* @param connection
|
||||
* @return
|
||||
*/
|
||||
public static boolean isIngress(Connection connection) {
|
||||
DatabaseConnection dbConn = SwitchHelpers.DATABASECONNECTION_SWITCH.doSwitch(connection);
|
||||
if (dbConn != null) {
|
||||
String databaseType = dbConn.getDatabaseType() == null ? "" : dbConn.getDatabaseType(); //$NON-NLS-1$
|
||||
return databaseType.toLowerCase().contains("ingres"); //$NON-NLS-1$
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* DOC xqliu Comment method "isDb2".
|
||||
*
|
||||
|
||||
@@ -95,8 +95,6 @@ public class Application implements IApplication {
|
||||
private static final String TALEND_FORCE_INITIAL_WORKSPACE_PROMPT_SYS_PROP =
|
||||
"talend.force.initial.workspace.prompt"; //$NON-NLS-1$
|
||||
|
||||
private static final String OPS4J_USEFALLBACKREPOSITORIES_ARG = "org.ops4j.pax.url.mvn.useFallbackRepositories"; //$NON-NLS-1$
|
||||
|
||||
private static final Logger LOGGER = Logger.getLogger(Application.class);
|
||||
|
||||
/**
|
||||
@@ -107,9 +105,6 @@ public class Application implements IApplication {
|
||||
@SuppressWarnings("restriction")
|
||||
@Override
|
||||
public Object start(IApplicationContext context) throws Exception {
|
||||
if (System.getProperty(OPS4J_USEFALLBACKREPOSITORIES_ARG) == null) {
|
||||
System.setProperty(OPS4J_USEFALLBACKREPOSITORIES_ARG, Boolean.FALSE.toString());
|
||||
}
|
||||
if (Boolean.getBoolean(EclipseCommandLine.PROP_TALEND_BUNDLES_DO_CLEAN)) {
|
||||
System.setProperty(EclipseCommandLine.PROP_TALEND_BUNDLES_DO_CLEAN, Boolean.FALSE.toString());
|
||||
EclipseCommandLine.updateOrCreateExitDataPropertyWithCommand(EclipseCommandLine.CLEAN, null, false);
|
||||
|
||||
@@ -845,7 +845,7 @@ DatabaseForm.maprdb.MaprTUsernameTxt.label=\u30E6\u30FC\u30B6\u30FC\u540D
|
||||
DatabaseForm.maprdb.MaprTPasswordTxt.label=\u30D1\u30B9\u30EF\u30FC\u30C9
|
||||
DatabaseForm.maprdb.MaprTClusterTxt.label=\u30AF\u30E9\u30B9\u30BF\u30FC\u540D
|
||||
DatabaseForm.maprdb.MaprTDurationTxt.label=\u30C1\u30B1\u30C3\u30C8\u306E\u6709\u52B9\u671F\u9593(\u79D2)
|
||||
DatabaseForm.AddParams=\u8FFD\u52A0\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC
|
||||
DatabaseForm.AddParams=\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u306E\u8FFD\u52A0
|
||||
DatabaseForm.alert=DB\u30BF\u30A4\u30D7\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
DatabaseForm.portAlert=DB\u30DD\u30FC\u30C8\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
DatabaseForm.serverAlert=DB\u30B5\u30FC\u30D0\u30FC\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044
|
||||
|
||||
@@ -829,143 +829,183 @@ public abstract class AbstractCreateTableAction extends AbstractCreateAction {
|
||||
}
|
||||
}
|
||||
|
||||
private void openDatabaseTableWizard(final DatabaseConnectionItem item, final MetadataTable metadataTable, final boolean forceReadOnly, final RepositoryNode node, final boolean creation) {
|
||||
|
||||
String name = "User action : " + getText(); //$NON-NLS-1$
|
||||
RepositoryWorkUnit<Object> repositoryWorkUnit = new RepositoryWorkUnit<Object>(name, this) {
|
||||
private void openDatabaseTableWizard(final DatabaseConnectionItem item, final MetadataTable metadataTable,
|
||||
final boolean forceReadOnly, final RepositoryNode node, final boolean creation) {
|
||||
UIJob job = new UIJob(Messages.getString("CreateTableAction.action.createTitle")) { //$NON-NLS-1$
|
||||
|
||||
@Override
|
||||
protected void run() throws LoginException, PersistenceException {
|
||||
final ManagerConnection managerConnection = new ManagerConnection();
|
||||
public IStatus runInUIThread(final IProgressMonitor monitor) {
|
||||
String name = "User action : " + getText(); //$NON-NLS-1$
|
||||
RepositoryWorkUnit<Object> repositoryWorkUnit = new RepositoryWorkUnit<Object>(name, this) {
|
||||
|
||||
DatabaseConnection connection = (DatabaseConnection) item.getConnection();
|
||||
boolean useKrb = Boolean.valueOf(connection.getParameters().get(ConnParameterKeys.CONN_PARA_KEY_USE_KRB));
|
||||
// TUP-596 : Update the context name in connection when the user does a context switch in DI
|
||||
String oldContextName = connection.getContextName();
|
||||
Connection copyConnection = MetadataConnectionUtils.prepareConection(connection);
|
||||
if (copyConnection == null) {
|
||||
return;
|
||||
}
|
||||
IMetadataConnection metadataConnection = ConvertionHelper.convert(copyConnection, false, copyConnection.getContextName());
|
||||
String newContextName = connection.getContextName();
|
||||
if (oldContextName != null && newContextName != null && !oldContextName.equals(newContextName)) {
|
||||
if (node != null && node.getObject() != null && node.getObject().getProperty() != null) {
|
||||
Item itemTemp = node.getObject().getProperty().getItem();
|
||||
if (itemTemp != null && itemTemp instanceof ConnectionItem) {
|
||||
ConnectionItem connItem = (ConnectionItem) itemTemp;
|
||||
SwitchContextGroupNameImpl.getInstance().updateContextGroup(connItem, newContextName);
|
||||
}
|
||||
}
|
||||
}
|
||||
boolean isTcomDB = false;
|
||||
IGenericDBService dbService = null;
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericDBService.class)) {
|
||||
dbService = GlobalServiceRegister.getDefault().getService(IGenericDBService.class);
|
||||
}
|
||||
if (dbService != null) {
|
||||
for (ERepositoryObjectType type : dbService.getExtraTypes()) {
|
||||
if (type.getLabel().equals(metadataConnection.getDbType())) {
|
||||
isTcomDB = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!metadataConnection.getDbType().equals(EDatabaseConnTemplate.GODBC.getDBDisplayName()) && !metadataConnection.getDbType().equals(EDatabaseConnTemplate.ACCESS.getDBDisplayName())
|
||||
&& !metadataConnection.getDbType().equals(EDatabaseConnTemplate.GENERAL_JDBC.getDBDisplayName()) && !isTcomDB) {
|
||||
// TODO 1. To identify if it is hive connection.
|
||||
String hiveMode = (String) metadataConnection.getParameter(ConnParameterKeys.CONN_PARA_KEY_HIVE_MODE);
|
||||
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataConnection.getDbType())) {
|
||||
// metadataConnection.setDriverJarPath((String)metadataConnection
|
||||
// .getParameter(ConnParameterKeys.CONN_PARA_KEY_METASTORE_CONN_DRIVER_JAR));
|
||||
if (HiveModeInfo.get(hiveMode) == HiveModeInfo.EMBEDDED) {
|
||||
JavaSqlFactory.doHivePreSetup((DatabaseConnection) metadataConnection.getCurrentConnection());
|
||||
}
|
||||
} else if (EDatabaseTypeName.IMPALA.getDisplayName().equals(metadataConnection.getDbType())) {
|
||||
DatabaseConnection originalValueConnection = null;
|
||||
IRepositoryContextService repositoryContextService = CoreRuntimePlugin.getInstance().getRepositoryContextService();
|
||||
if (repositoryContextService != null) {
|
||||
originalValueConnection = repositoryContextService.cloneOriginalValueConnection(connection, false, null);
|
||||
}
|
||||
if (originalValueConnection != null) {
|
||||
metadataConnection.setUrl(originalValueConnection.getURL());
|
||||
}
|
||||
} else {
|
||||
String genUrl = DatabaseConnStrUtil
|
||||
.getURLString(metadataConnection.getDbType(), metadataConnection.getDbVersionString(), metadataConnection.getServerName(), metadataConnection.getUsername(),
|
||||
metadataConnection.getPassword(), metadataConnection.getPort(), metadataConnection.getDatabase(), metadataConnection.getFileFieldName(),
|
||||
metadataConnection.getDataSourceName(), metadataConnection.getDbRootPath(), metadataConnection.getAdditionalParams());
|
||||
if (!(metadataConnection.getDbType().equals(EDatabaseConnTemplate.IMPALA.getDBDisplayName()) && useKrb)) {
|
||||
metadataConnection.setUrl(genUrl);
|
||||
}
|
||||
}
|
||||
@Override
|
||||
protected void run() throws LoginException, PersistenceException {
|
||||
|
||||
}
|
||||
// bug 23508:even open type is metaTable,not connection,we always need the connection's
|
||||
// datapackage to find the table schema when click the retrieve schema button
|
||||
if (connection != null) {
|
||||
EList<orgomg.cwm.objectmodel.core.Package> dp = connection.getDataPackage();
|
||||
Collection<Package> newDataPackage = EcoreUtil.copyAll(dp);
|
||||
ConnectionHelper.addPackages(newDataPackage, (DatabaseConnection) metadataConnection.getCurrentConnection());
|
||||
}
|
||||
if (creation) {
|
||||
String hiveMode = (String) metadataConnection.getParameter(ConnParameterKeys.CONN_PARA_KEY_HIVE_MODE);
|
||||
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataConnection.getDbType())) {
|
||||
try {
|
||||
HiveConnectionManager.getInstance().checkConnection(metadataConnection);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
managerConnection.check(metadataConnection);
|
||||
}
|
||||
monitor.beginTask(Messages.getString("CreateTableAction.action.createTitle"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
|
||||
|
||||
// ExtractMetaDataUtils.metadataCon = metadataConnection;
|
||||
// when open,set use synonyms false.
|
||||
ExtractMetaDataUtils.getInstance().setUseAllSynonyms(false);
|
||||
if (!monitor.isCanceled()) {
|
||||
final ManagerConnection managerConnection = new ManagerConnection();
|
||||
|
||||
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
|
||||
boolean repositoryObjectEditable = factory.isEditableAndLockIfPossible(node.getObject());
|
||||
if (!repositoryObjectEditable) {
|
||||
boolean flag = MessageDialog
|
||||
.openConfirm(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), Messages.getString("CreateTableAction.action.Warning"),
|
||||
Messages.getString("CreateTableAction.action.NotLockMessage"));
|
||||
if (flag) {
|
||||
DatabaseTableWizard databaseTableWizard = new DatabaseTableWizard(PlatformUI.getWorkbench(), creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly,
|
||||
managerConnection, metadataConnection);
|
||||
DatabaseConnection connection = (DatabaseConnection) item.getConnection();
|
||||
boolean useKrb = Boolean.valueOf(connection.getParameters().get(
|
||||
ConnParameterKeys.CONN_PARA_KEY_USE_KRB));
|
||||
// TUP-596 : Update the context name in connection when the user does a context switch in DI
|
||||
String oldContextName = connection.getContextName();
|
||||
Connection copyConnection = MetadataConnectionUtils.prepareConection(connection);
|
||||
if (copyConnection == null) {
|
||||
return;
|
||||
}
|
||||
IMetadataConnection metadataConnection = ConvertionHelper.convert(copyConnection, false,
|
||||
copyConnection.getContextName());
|
||||
String newContextName = connection.getContextName();
|
||||
if (oldContextName != null && newContextName != null && !oldContextName.equals(newContextName)) {
|
||||
if (node != null && node.getObject() != null && node.getObject().getProperty() != null) {
|
||||
Item itemTemp = node.getObject().getProperty().getItem();
|
||||
if (itemTemp != null && itemTemp instanceof ConnectionItem) {
|
||||
ConnectionItem connItem = (ConnectionItem) itemTemp;
|
||||
SwitchContextGroupNameImpl.getInstance().updateContextGroup(connItem, newContextName);
|
||||
}
|
||||
}
|
||||
}
|
||||
boolean isTcomDB = false;
|
||||
IGenericDBService dbService = null;
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IGenericDBService.class)) {
|
||||
dbService = GlobalServiceRegister.getDefault().getService(
|
||||
IGenericDBService.class);
|
||||
}
|
||||
if(dbService != null){
|
||||
for(ERepositoryObjectType type : dbService.getExtraTypes()){
|
||||
if(type.getLabel().equals(metadataConnection.getDbType())){
|
||||
isTcomDB = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!metadataConnection.getDbType().equals(EDatabaseConnTemplate.GODBC.getDBDisplayName())
|
||||
&& !metadataConnection.getDbType().equals(EDatabaseConnTemplate.ACCESS.getDBDisplayName())
|
||||
&& !metadataConnection.getDbType().equals(
|
||||
EDatabaseConnTemplate.GENERAL_JDBC.getDBDisplayName())
|
||||
&& !isTcomDB) {
|
||||
// TODO 1. To identify if it is hive connection.
|
||||
String hiveMode = (String) metadataConnection
|
||||
.getParameter(ConnParameterKeys.CONN_PARA_KEY_HIVE_MODE);
|
||||
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataConnection.getDbType())) {
|
||||
// metadataConnection.setDriverJarPath((String)metadataConnection
|
||||
// .getParameter(ConnParameterKeys.CONN_PARA_KEY_METASTORE_CONN_DRIVER_JAR));
|
||||
if (HiveModeInfo.get(hiveMode) == HiveModeInfo.EMBEDDED) {
|
||||
JavaSqlFactory.doHivePreSetup((DatabaseConnection) metadataConnection
|
||||
.getCurrentConnection());
|
||||
}
|
||||
} else if (EDatabaseTypeName.IMPALA.getDisplayName().equals(metadataConnection.getDbType())) {
|
||||
DatabaseConnection originalValueConnection = null;
|
||||
IRepositoryContextService repositoryContextService = CoreRuntimePlugin.getInstance()
|
||||
.getRepositoryContextService();
|
||||
if (repositoryContextService != null) {
|
||||
originalValueConnection = repositoryContextService
|
||||
.cloneOriginalValueConnection(connection, false, null);
|
||||
}
|
||||
if (originalValueConnection != null) {
|
||||
metadataConnection.setUrl(originalValueConnection.getURL());
|
||||
}
|
||||
} else {
|
||||
String genUrl = DatabaseConnStrUtil.getURLString(metadataConnection.getDbType(),
|
||||
metadataConnection.getDbVersionString(), metadataConnection.getServerName(),
|
||||
metadataConnection.getUsername(), metadataConnection.getPassword(),
|
||||
metadataConnection.getPort(), metadataConnection.getDatabase(),
|
||||
metadataConnection.getFileFieldName(), metadataConnection.getDataSourceName(),
|
||||
metadataConnection.getDbRootPath(), metadataConnection.getAdditionalParams());
|
||||
if (!(metadataConnection.getDbType().equals(EDatabaseConnTemplate.IMPALA.getDBDisplayName()) && useKrb)) {
|
||||
metadataConnection.setUrl(genUrl);
|
||||
}
|
||||
}
|
||||
|
||||
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), databaseTableWizard);
|
||||
wizardDialog.setBlockOnOpen(true);
|
||||
Display.getDefault().asyncExec(() -> {
|
||||
}
|
||||
// bug 23508:even open type is metaTable,not connection,we always need the connection's
|
||||
// datapackage to find the table schema when click the retrieve schema button
|
||||
if (connection != null) {
|
||||
EList<orgomg.cwm.objectmodel.core.Package> dp = connection.getDataPackage();
|
||||
Collection<Package> newDataPackage = EcoreUtil.copyAll(dp);
|
||||
ConnectionHelper.addPackages(newDataPackage,
|
||||
(DatabaseConnection) metadataConnection.getCurrentConnection());
|
||||
}
|
||||
if (creation) {
|
||||
String hiveMode = (String) metadataConnection
|
||||
.getParameter(ConnParameterKeys.CONN_PARA_KEY_HIVE_MODE);
|
||||
if (EDatabaseTypeName.HIVE.getDisplayName().equals(metadataConnection.getDbType())) {
|
||||
try {
|
||||
HiveConnectionManager.getInstance().checkConnection(metadataConnection);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} else {
|
||||
managerConnection.check(metadataConnection);
|
||||
}
|
||||
|
||||
// ExtractMetaDataUtils.metadataCon = metadataConnection;
|
||||
// when open,set use synonyms false.
|
||||
ExtractMetaDataUtils.getInstance().setUseAllSynonyms(false);
|
||||
|
||||
IProxyRepositoryFactory factory = ProxyRepositoryFactory.getInstance();
|
||||
boolean repositoryObjectEditable = factory.isEditableAndLockIfPossible(node.getObject());
|
||||
if (!repositoryObjectEditable) {
|
||||
boolean flag = MessageDialog.openConfirm(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||
.getShell(), Messages.getString("CreateTableAction.action.Warning"),
|
||||
Messages.getString("CreateTableAction.action.NotLockMessage"));
|
||||
if (flag) {
|
||||
DatabaseTableWizard databaseTableWizard = new DatabaseTableWizard(
|
||||
PlatformUI.getWorkbench(), creation, node.getObject(), metadataTable,
|
||||
getExistingNames(), forceReadOnly, managerConnection, metadataConnection);
|
||||
|
||||
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench()
|
||||
.getActiveWorkbenchWindow().getShell(), databaseTableWizard);
|
||||
wizardDialog.setBlockOnOpen(true);
|
||||
handleWizard(node, wizardDialog);
|
||||
}
|
||||
} else {
|
||||
DatabaseTableWizard databaseTableWizard = new DatabaseTableWizard(PlatformUI.getWorkbench(),
|
||||
creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly,
|
||||
managerConnection, metadataConnection);
|
||||
|
||||
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench()
|
||||
.getActiveWorkbenchWindow().getShell(), databaseTableWizard);
|
||||
wizardDialog.setBlockOnOpen(true);
|
||||
handleWizard(node, wizardDialog);
|
||||
}
|
||||
} else {
|
||||
// added for bug 16595
|
||||
// no need connect to database when double click one schema.
|
||||
final boolean skipStep = true;
|
||||
|
||||
DatabaseTableWizard databaseTableWizard = new DatabaseTableWizard(PlatformUI.getWorkbench(),
|
||||
creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly,
|
||||
managerConnection, metadataConnection);
|
||||
databaseTableWizard.setSkipStep(skipStep);
|
||||
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||
.getShell(), databaseTableWizard);
|
||||
handleWizard(node, wizardDialog);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
DatabaseTableWizard databaseTableWizard =
|
||||
new DatabaseTableWizard(PlatformUI.getWorkbench(), creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly, managerConnection, metadataConnection);
|
||||
|
||||
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), databaseTableWizard);
|
||||
wizardDialog.setBlockOnOpen(true);
|
||||
Display.getDefault().asyncExec(() -> {
|
||||
handleWizard(node, wizardDialog);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
// added for bug 16595
|
||||
// no need connect to database when double click one schema.
|
||||
final boolean skipStep = true;
|
||||
|
||||
DatabaseTableWizard databaseTableWizard =
|
||||
new DatabaseTableWizard(PlatformUI.getWorkbench(), creation, node.getObject(), metadataTable, getExistingNames(), forceReadOnly, managerConnection, metadataConnection);
|
||||
databaseTableWizard.setSkipStep(skipStep);
|
||||
WizardDialog wizardDialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), databaseTableWizard);
|
||||
Display.getDefault().asyncExec(() -> {
|
||||
handleWizard(node, wizardDialog);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
repositoryWorkUnit.setAvoidUnloadResources(isAvoidUnloadResources());
|
||||
IRepositoryService repositoryService = GlobalServiceRegister.getDefault().getService(
|
||||
IRepositoryService.class);
|
||||
repositoryService.getProxyRepositoryFactory().executeRepositoryWorkUnit(repositoryWorkUnit);
|
||||
monitor.done();
|
||||
return Status.OK_STATUS;
|
||||
};
|
||||
};
|
||||
repositoryWorkUnit.setAvoidUnloadResources(isAvoidUnloadResources());
|
||||
IRepositoryService repositoryService = GlobalServiceRegister.getDefault().getService(IRepositoryService.class);
|
||||
repositoryService.getProxyRepositoryFactory().executeRepositoryWorkUnit(repositoryWorkUnit);
|
||||
job.setUser(true);
|
||||
job.addJobChangeListener(new JobChangeAdapter() {
|
||||
|
||||
@Override
|
||||
public void done(IJobChangeEvent event) {
|
||||
if (!event.getResult().isOK()) {
|
||||
log.error(event.getResult().getMessage(), event.getResult().getException());
|
||||
} // else eveything is fine so do not log anything
|
||||
}
|
||||
});
|
||||
job.schedule();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -5188,11 +5188,7 @@ public class DatabaseForm extends AbstractForm {
|
||||
boolean b = true;
|
||||
String databaseType = getConnection().getDatabaseType();
|
||||
if (databaseType != null) {
|
||||
if (databaseType.equals("Ingres")) { //$NON-NLS-1$
|
||||
b = Pattern.matches(Messages.getString("DatabaseForm.ingresDBRegex"), portText.getText()); //$NON-NLS-1$
|
||||
} else {
|
||||
b = Pattern.matches(Messages.getString("DatabaseForm.otherDBRegex"), portText.getText()); //$NON-NLS-1$
|
||||
}
|
||||
b = Pattern.matches(Messages.getString("DatabaseForm.otherDBRegex"), portText.getText()); //$NON-NLS-1$
|
||||
}
|
||||
if (b) {
|
||||
b = portText.getText().length() <= 5;
|
||||
|
||||
@@ -28,8 +28,6 @@ public abstract class AbstractTreePopulator {
|
||||
|
||||
private String encoding;
|
||||
|
||||
protected String originfilePath;
|
||||
|
||||
protected String filePath;
|
||||
|
||||
protected static int limit;
|
||||
@@ -84,22 +82,6 @@ public abstract class AbstractTreePopulator {
|
||||
public static int getLimit() {
|
||||
return limit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for originfilePath.
|
||||
* @return the originfilePath
|
||||
*/
|
||||
public String getOriginfilePath() {
|
||||
return originfilePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the originfilePath.
|
||||
* @param originfilePath the originfilePath to set
|
||||
*/
|
||||
public void setOriginfilePath(String originfilePath) {
|
||||
this.originfilePath = originfilePath;
|
||||
}
|
||||
|
||||
public void setFilePath(String filePath) {
|
||||
this.filePath = filePath;
|
||||
|
||||
@@ -13,9 +13,6 @@
|
||||
package org.talend.repository.ui.wizards.metadata.connection.files.xml;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URISyntaxException;
|
||||
import java.net.URL;
|
||||
@@ -23,7 +20,6 @@ import java.util.List;
|
||||
|
||||
import org.apache.commons.collections.BidiMap;
|
||||
import org.apache.commons.collections.bidimap.DualHashBidiMap;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.xerces.xs.XSModel;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.DocumentException;
|
||||
@@ -165,28 +161,6 @@ public class TreePopulator extends AbstractTreePopulator {
|
||||
treeViewer.setInput(new Object[] { selected });
|
||||
treeViewer.expandToLevel(3);
|
||||
} else {
|
||||
String originalJsonFilePath = getOriginfilePath();
|
||||
if(null != originalJsonFilePath && !"".equals(originalJsonFilePath.trim())) {
|
||||
File file = new File(originalJsonFilePath);
|
||||
if (file.exists()) {
|
||||
if (!file.isDirectory()) {
|
||||
try(InputStream input = new FileInputStream(file);) {
|
||||
String jsonStr = IOUtils.toString(input, getEncoding());
|
||||
if(barceType(jsonStr) == 0 && childs.length == 1) {
|
||||
if(isNeedAddRoot(jsonStr)) {
|
||||
childs = ((ATreeNode)childs[0]).getChildren();
|
||||
}
|
||||
} else if(barceType(jsonStr) == 1 && childs.length == 1) {
|
||||
ATreeNode objectNode = (ATreeNode) ((ATreeNode)childs[0]).getChildren()[0];
|
||||
childs = objectNode.getChildren();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
treeViewer.setInput(childs);
|
||||
treeViewer.expandToLevel(3);
|
||||
}
|
||||
@@ -196,35 +170,7 @@ public class TreePopulator extends AbstractTreePopulator {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private int barceType(String originalJsonString) {
|
||||
for (int c = 0; c < originalJsonString.length(); ++c) {
|
||||
if (originalJsonString.charAt(c) == '{') {
|
||||
return 0; //brace
|
||||
} else if (originalJsonString.charAt(c) == '[') {
|
||||
return 1; //bracket
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
private boolean isNeedAddRoot(String originalJsonString) {
|
||||
boolean isNeedAddRoot = false;
|
||||
net.sf.json.JSONObject jso = net.sf.json.JSONObject.fromObject(originalJsonString);
|
||||
String jsonKey = "";
|
||||
Object firstObject = null;
|
||||
if (jso.names().size() == 1) {
|
||||
jsonKey = jso.names().get(0).toString();
|
||||
firstObject = jso.get(jsonKey);
|
||||
}
|
||||
if (jso.size() > 1
|
||||
|| (firstObject != null && firstObject instanceof net.sf.json.JSONArray && ((net.sf.json.JSONArray) firstObject)
|
||||
.size() > 1)) {
|
||||
isNeedAddRoot = true;
|
||||
}
|
||||
return isNeedAddRoot;
|
||||
}
|
||||
|
||||
|
||||
public boolean populateTree(XSModel xsModel, ATreeNode selectedNode, List<ATreeNode> treeNodes) {
|
||||
xPathToTreeItem.clear();
|
||||
ATreeNode treeNode = null;
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.repository.ui.wizards.metadata.table.database;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.talend.core.model.metadata.builder.database.TableNode;
|
||||
|
||||
/**
|
||||
* wzhang class global comment. Detailled comment
|
||||
*/
|
||||
public class DefaultSelectorTreeViewerProvider extends SelectorTreeViewerProvider {
|
||||
|
||||
public DefaultSelectorTreeViewerProvider() {
|
||||
super();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object[] getChildren(Object parentElement) {
|
||||
TableNode tableNode = (TableNode) parentElement;
|
||||
List<TableNode> child = tableNode.getChildren();
|
||||
return child.toArray();
|
||||
}
|
||||
|
||||
}
|
||||
@@ -16,8 +16,6 @@ import java.lang.reflect.InvocationTargetException;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DatabaseMetaData;
|
||||
import java.sql.Driver;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.text.Collator;
|
||||
import java.util.ArrayList;
|
||||
@@ -82,7 +80,6 @@ import org.talend.commons.ui.swt.formtools.Form;
|
||||
import org.talend.commons.ui.swt.formtools.UtilsButton;
|
||||
import org.talend.commons.utils.data.text.IndiceHelper;
|
||||
import org.talend.commons.utils.threading.TalendCustomThreadPoolExecutor;
|
||||
import org.talend.core.database.EDatabase4DriverClassName;
|
||||
import org.talend.core.database.EDatabaseTypeName;
|
||||
import org.talend.core.database.conn.ConnParameterKeys;
|
||||
import org.talend.core.model.metadata.IMetadataConnection;
|
||||
@@ -92,7 +89,6 @@ import org.talend.core.model.metadata.MetadataToolHelper;
|
||||
import org.talend.core.model.metadata.builder.connection.DatabaseConnection;
|
||||
import org.talend.core.model.metadata.builder.connection.MetadataColumn;
|
||||
import org.talend.core.model.metadata.builder.connection.MetadataTable;
|
||||
import org.talend.core.model.metadata.builder.database.DriverShim;
|
||||
import org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase;
|
||||
import org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.ETableTypes;
|
||||
import org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils;
|
||||
@@ -392,7 +388,6 @@ public class SelectorTableForm extends AbstractForm {
|
||||
// TDI-28768 after add checkStateProvider, the catalog and schema checked status become true , then
|
||||
// force them to false
|
||||
if (parentNode.getType() == TableNode.CATALOG || parentNode.getType() == TableNode.SCHEMA) {
|
||||
retrieveSchema(parentNode);
|
||||
needUpdate = false;
|
||||
}
|
||||
boolean firstExpand = false;
|
||||
@@ -401,9 +396,6 @@ public class SelectorTableForm extends AbstractForm {
|
||||
} else {
|
||||
firstExpand = true;
|
||||
}
|
||||
if (treeItem.isDisposed()) {
|
||||
return;
|
||||
}
|
||||
for (TreeItem item : treeItem.getItems()) {
|
||||
if (item.getData() != null) {
|
||||
TableNode node = (TableNode) item.getData();
|
||||
@@ -474,7 +466,7 @@ public class SelectorTableForm extends AbstractForm {
|
||||
viewProvider = provider.getMetadataViewProvider();
|
||||
|
||||
} else {
|
||||
viewProvider = new DefaultSelectorTreeViewerProvider();
|
||||
viewProvider = new SelectorTreeViewerProvider();
|
||||
}
|
||||
|
||||
viewer.setLabelProvider(viewProvider);
|
||||
@@ -484,237 +476,7 @@ public class SelectorTableForm extends AbstractForm {
|
||||
scrolledCompositeFileViewer.setContent(tree);
|
||||
scrolledCompositeFileViewer.setMinSize(tree.computeSize(SWT.DEFAULT, SWT.DEFAULT));
|
||||
}
|
||||
|
||||
private void retrieveSchema(TableNode tableNode) {
|
||||
|
||||
IRunnableWithProgress runnable = new IRunnableWithProgress() {
|
||||
|
||||
@Override
|
||||
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
|
||||
monitor.beginTask(Messages.getString("CreateTableAction.action.createTitle"), IProgressMonitor.UNKNOWN); //$NON-NLS-1$
|
||||
|
||||
List<TableNode> child = tableNode.getChildren();
|
||||
boolean extended = false;
|
||||
if (!child.isEmpty()) {
|
||||
for (TableNode node : child) {
|
||||
if (node.getType() == TableNode.TABLE) {
|
||||
extended = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// if extended is true, means table already got,no need to get again.
|
||||
if (extended) {
|
||||
return;
|
||||
}
|
||||
|
||||
List<MetadataTable> tableList = new ArrayList<MetadataTable>();
|
||||
retrieveAllSubNodes(tableNode, tableList);
|
||||
|
||||
Display.getDefault().syncExec(() -> {
|
||||
viewer.setInput(tableNodeList);
|
||||
viewer.expandToLevel(tableNode, viewer.ALL_LEVELS);
|
||||
});
|
||||
monitor.done();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
try {
|
||||
this.parentWizardPage.getWizard().getContainer().run(true, true, runnable);
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
|
||||
private void retrieveAllSubNodes(TableNode tableNode, List<MetadataTable> tableList) {
|
||||
tableList.clear();
|
||||
List<TableNode> child = tableNode.getChildren();
|
||||
boolean extended = false;
|
||||
if (!child.isEmpty()) {
|
||||
for (TableNode node : child) {
|
||||
if (node.getType() == TableNode.TABLE) {
|
||||
extended = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
// if extended is true, means table already got,no need to get again.
|
||||
if (extended) {
|
||||
return;
|
||||
}
|
||||
|
||||
IMetadataConnection metadataConn = tableNode.getMetadataConn();
|
||||
|
||||
Connection conn = null;
|
||||
Driver driver = null;
|
||||
|
||||
DatabaseMetaData dbMetaData = null;
|
||||
ExtractMetaDataUtils extractMeta = ExtractMetaDataUtils.getInstance();
|
||||
// Added by Marvin Wang on Mar. 13, 2013 for loading hive jars dynamically, refer to TDI-25072.
|
||||
if (EDatabaseTypeName.HIVE.getXmlName().equalsIgnoreCase(metadataConn.getDbType())) {
|
||||
try {
|
||||
dbMetaData = HiveConnectionManager.getInstance().extractDatabaseMetaData(metadataConn);
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
} else if (EDatabaseTypeName.IMPALA.getDisplayName().equalsIgnoreCase(metadataConn.getDbType())) {
|
||||
try {
|
||||
dbMetaData = ImpalaConnectionManager.getInstance().createConnection(metadataConn).getMetaData();
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
} else {
|
||||
List list = extractMeta.getConnectionList(metadataConn);
|
||||
if (list != null && !list.isEmpty()) {
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
if (list.get(i) instanceof Connection) {
|
||||
conn = (Connection) list.get(i);
|
||||
}
|
||||
if (list.get(i) instanceof DriverShim) {
|
||||
driver = (DriverShim) list.get(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
dbMetaData = extractMeta.getDatabaseMetaData(conn, metadataConn.getDbType(), metadataConn.isSqlMode(),
|
||||
metadataConn.getDatabase());
|
||||
}
|
||||
|
||||
int type = tableNode.getType();
|
||||
orgomg.cwm.objectmodel.core.Package pack = null;
|
||||
|
||||
if (type == tableNode.CATALOG) {
|
||||
if (tableNode.getChildren().isEmpty()) {
|
||||
pack = tableNode.getCatalog();
|
||||
} else {
|
||||
for (TableNode n : tableNode.getChildren()) {
|
||||
retrieveAllSubNodes(n, tableList);
|
||||
}
|
||||
}
|
||||
} else if (type == tableNode.SCHEMA) {
|
||||
pack = tableNode.getSchema();
|
||||
}
|
||||
try {
|
||||
if (pack != null) {
|
||||
TableInfoParameters paras = tableNode.getParas();
|
||||
List<ETableTypes> paraType = paras.getTypes();
|
||||
Set<String> availableTableTypes = new HashSet<String>();
|
||||
for (ETableTypes tableType : paraType) {
|
||||
availableTableTypes.add(tableType.getName());
|
||||
}
|
||||
// get all tables/views depending the filter selected
|
||||
|
||||
Set<String> tableNameFilter = null;
|
||||
|
||||
if (!paras.isUsedName()) {
|
||||
tableNameFilter = new HashSet<String>();
|
||||
if (paras.getSqlFiter() != null && !"".equals(paras.getSqlFiter())) { //$NON-NLS-1$
|
||||
PreparedStatement stmt = extractMeta.getConn().prepareStatement(paras.getSqlFiter());
|
||||
extractMeta.setQueryStatementTimeout(stmt);
|
||||
ResultSet rsTables = stmt.executeQuery();
|
||||
while (rsTables.next()) {
|
||||
String nameKey = rsTables.getString(1).trim();
|
||||
tableNameFilter.add(nameKey);
|
||||
}
|
||||
rsTables.close();
|
||||
stmt.close();
|
||||
}
|
||||
} else {
|
||||
tableNameFilter = paras.getNameFilters();
|
||||
}
|
||||
|
||||
List<MetadataTable> tempListTables = new ArrayList<MetadataTable>();
|
||||
MetadataFillFactory dbInstance = MetadataFillFactory.getDBInstance(metadataConn);
|
||||
for (String filter : tableNameFilter) {
|
||||
tempListTables = dbInstance.fillAll(pack, dbMetaData, metadataConn, null, filter,
|
||||
availableTableTypes.toArray(new String[] {}));
|
||||
for (MetadataTable table : tempListTables) {
|
||||
boolean contains = false;
|
||||
for (MetadataTable inListTable : tableList) {
|
||||
if (inListTable.getName().equals(table.getName())) {
|
||||
contains = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!contains) {
|
||||
tableList.add(table);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (tableNameFilter.isEmpty()) {
|
||||
tempListTables = dbInstance.fillAll(pack, dbMetaData, metadataConn, null, null,
|
||||
availableTableTypes.toArray(new String[] {}));
|
||||
for (MetadataTable table : tempListTables) {
|
||||
boolean contains = false;
|
||||
for (MetadataTable inListTable : tableList) {
|
||||
if (inListTable.getName().equals(table.getName())) {
|
||||
contains = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!contains) {
|
||||
tableList.add(table);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
} finally {
|
||||
String dbType = metadataConn.getDbType();
|
||||
// bug 22619
|
||||
String driverClass = metadataConn.getDriverClass();
|
||||
if (conn != null) {
|
||||
ConnectionUtils.closeConnection(conn);
|
||||
}
|
||||
// for specific db such as derby
|
||||
if (driver != null) {
|
||||
if ((driverClass != null && driverClass.equals(EDatabase4DriverClassName.JAVADB_EMBEDED.getDriverClass()))
|
||||
|| (dbType != null && (dbType.equals(EDatabaseTypeName.JAVADB_EMBEDED.getDisplayName())
|
||||
|| dbType.equals(EDatabaseTypeName.JAVADB_DERBYCLIENT.getDisplayName())
|
||||
|| dbType.equals(EDatabaseTypeName.JAVADB_JCCJDBC.getDisplayName())
|
||||
|| dbType.equals(EDatabaseTypeName.HSQLDB_IN_PROGRESS.getDisplayName())))) {
|
||||
try {
|
||||
driver.connect("jdbc:derby:;shutdown=true", null); //$NON-NLS-1$
|
||||
} catch (SQLException e) {
|
||||
// exception of shutdown success. no need to catch.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!(tableNode.getType() == TableNode.CATALOG && pack == null)) {
|
||||
transferToTableNode(tableList, tableNode);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
protected void transferToTableNode(List<MetadataTable> list, TableNode parentNode) {
|
||||
if (list != null && !list.isEmpty()) {
|
||||
for (MetadataTable table : list) {
|
||||
if (table instanceof TdTable) {
|
||||
TdTable td = (TdTable) table;
|
||||
TableNode tableNode = new TableNode();
|
||||
tableNode.setType(TableNode.TABLE);
|
||||
tableNode.setValue(td.getLabel());
|
||||
tableNode.setItemType(td.getTableType());
|
||||
tableNode.setTable(td);
|
||||
tableNode.setParent(parentNode);
|
||||
parentNode.addChild(tableNode);
|
||||
} else if (table instanceof TdView) {
|
||||
TdView tv = (TdView) table;
|
||||
TableNode tableNode = new TableNode();
|
||||
tableNode.setType(TableNode.TABLE);
|
||||
tableNode.setValue(tv.getLabel());
|
||||
tableNode.setItemType(tv.getTableType());
|
||||
tableNode.setView(tv);
|
||||
tableNode.setParent(parentNode);
|
||||
parentNode.addChild(tableNode);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private final Collator col = Collator.getInstance(Locale.getDefault());
|
||||
|
||||
/**
|
||||
@@ -1181,10 +943,6 @@ public class SelectorTableForm extends AbstractForm {
|
||||
}
|
||||
if (canAdd) {
|
||||
tableNodes.add(schemaNode);
|
||||
if (schemaNode.getValue() != null && StringUtils.isEmpty(schemaNode.getValue().trim())) {
|
||||
List<MetadataTable> tableList = new ArrayList<MetadataTable>();
|
||||
retrieveAllSubNodes(schemaNode, tableList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,20 +293,6 @@ public class MetadataToolHelperTest {
|
||||
columnName = MetadataToolHelper.validateColumnName("_test_______________________t", 0);
|
||||
assertEquals("_test_______________________t", columnName);
|
||||
|
||||
char c = 230;
|
||||
columnName = MetadataToolHelper.validateColumnName(String.valueOf(c), 0);
|
||||
assertEquals("ae", columnName);
|
||||
|
||||
char c1 = 229;
|
||||
columnName = MetadataToolHelper.validateColumnName(String.valueOf(c1), 0);
|
||||
assertEquals("a", columnName);
|
||||
|
||||
columnName = MetadataToolHelper.validateColumnName(String.valueOf(c) + String.valueOf(c1), 0);
|
||||
assertEquals("aea", columnName);
|
||||
|
||||
columnName = MetadataToolHelper.validateColumnName("----" + String.valueOf(c) + String.valueOf(c1) + "-----", 0);
|
||||
assertEquals("_aea", columnName);
|
||||
|
||||
CoreRuntimePlugin.getInstance().getProjectPreferenceManager().setAllowSpecificCharacters(true);
|
||||
|
||||
columnName = MetadataToolHelper.validateColumnName("你好", 0);
|
||||
|
||||
@@ -183,10 +183,6 @@ public class RepositoryToComponentPropertyTest {
|
||||
dbConnection.setDatabaseType(EDatabaseTypeName.ORACLE_OCI.getDbType());
|
||||
Object result1 = RepositoryToComponentProperty.getValue(dbConnection, "DBTYPE", null); //$NON-NLS-1$
|
||||
assertEquals(EDatabaseTypeName.ORACLE_OCI.getXMLType(), result1);
|
||||
|
||||
dbConnection.setDatabaseType(EDatabaseTypeName.INGRES.getDbType());
|
||||
Object result2 = RepositoryToComponentProperty.getValue(dbConnection, "DBTYPE", null); //$NON-NLS-1$
|
||||
assertEquals(EDatabaseTypeName.INGRES.getXMLType(), result2);
|
||||
}
|
||||
|
||||
private void checkIfWithoutQuotes(DatabaseConnection connection, String value) {
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.template;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Plugin;
|
||||
@@ -43,11 +43,11 @@ public class MavenTemplateManagerTest {
|
||||
@Test
|
||||
public void testSetJavaVersionForModel() {
|
||||
manager.setValue(JavaUtils.PROJECT_JAVA_VERSION_KEY, JavaCore.VERSION_1_7);
|
||||
Model model = MavenTemplateManager.getCodeProjectTemplateModel(null);
|
||||
Model model = MavenTemplateManager.getCodeProjectTemplateModel();
|
||||
validateResult(model, JavaCore.VERSION_1_7);
|
||||
|
||||
manager.setValue(JavaUtils.PROJECT_JAVA_VERSION_KEY, "");
|
||||
model = MavenTemplateManager.getCodeProjectTemplateModel(null);
|
||||
model = MavenTemplateManager.getCodeProjectTemplateModel();
|
||||
validateResult(model, JavaCore.VERSION_1_8);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,177 +0,0 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2023 Talend Inc. - www.talend.com
|
||||
//
|
||||
// This source code is available under agreement available at
|
||||
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
|
||||
//
|
||||
// You should have received a copy of the agreement
|
||||
// along with this program; if not, write to Talend SA
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.designer.maven.tools;
|
||||
|
||||
import static org.junit.Assert.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.maven.model.Build;
|
||||
import org.apache.maven.model.Dependency;
|
||||
import org.apache.maven.model.DependencyManagement;
|
||||
import org.apache.maven.model.DistributionManagement;
|
||||
import org.apache.maven.model.Model;
|
||||
import org.apache.maven.model.Plugin;
|
||||
import org.apache.maven.model.PluginManagement;
|
||||
import org.apache.maven.model.Profile;
|
||||
import org.apache.maven.model.Repository;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.talend.designer.maven.model.MergedModel;
|
||||
import org.talend.designer.maven.template.MavenTemplateManager;
|
||||
import org.talend.repository.ProjectManager;
|
||||
|
||||
public class MergeModelToolTest {
|
||||
|
||||
private Model defaultModel;
|
||||
|
||||
private Map<String, Object> parameters;
|
||||
|
||||
private MergeModelTool mergeTool;
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
mergeTool = new MergeModelTool();
|
||||
parameters = new HashMap<String, Object>();
|
||||
parameters.put(MavenTemplateManager.KEY_PROJECT_NAME,
|
||||
ProjectManager.getInstance().getCurrentProject().getTechnicalLabel());
|
||||
defaultModel = MavenTemplateManager.getDefaultProjectModel(parameters);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMergeModelWithWarning() throws Exception {
|
||||
Model customModel = MavenTemplateManager.getCustomProjectModel(parameters);
|
||||
customModel.getProperties().setProperty("signer.version", "9.9.9");
|
||||
MergedModel mergedModel = mergeTool.mergeModel(defaultModel.clone(), customModel);
|
||||
assertNotNull(mergedModel.getModel());
|
||||
assertFalse(mergedModel.getIllegalProperties().isEmpty());
|
||||
assertTrue(mergedModel.getIllegalPluginManagement().isEmpty());
|
||||
assertTrue(mergedModel.getIllegalPlugins().isEmpty());
|
||||
assertTrue(mergedModel.getIllegalProfiles().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMergeModelWithError() throws Exception {
|
||||
Model customModel = MavenTemplateManager.getCustomProjectModel(parameters);
|
||||
|
||||
customModel.getProperties().setProperty("signer.version", "9.9.9");
|
||||
|
||||
customModel.setBuild(new Build());
|
||||
customModel.getBuild().setPluginManagement(new PluginManagement());
|
||||
Plugin plugin = new Plugin();
|
||||
plugin.setGroupId("org.apache.maven.plugins");
|
||||
plugin.setArtifactId("maven-compiler-plugin");
|
||||
customModel.getBuild().getPluginManagement().getPlugins().add(plugin);
|
||||
|
||||
Plugin plugin2 = new Plugin();
|
||||
plugin2.setGroupId("org.talend.ci");
|
||||
plugin2.setArtifactId("builder-maven-plugin");
|
||||
customModel.getBuild().getPlugins().add(plugin2);
|
||||
|
||||
Profile profile = new Profile();
|
||||
profile.setId("nexus");
|
||||
customModel.getProfiles().add(profile);
|
||||
|
||||
MergedModel mergedModel = mergeTool.mergeModel(defaultModel.clone(), customModel);
|
||||
assertNull(mergedModel.getModel());
|
||||
assertFalse(mergedModel.getIllegalProperties().isEmpty());
|
||||
assertFalse(mergedModel.getIllegalPluginManagement().isEmpty());
|
||||
assertFalse(mergedModel.getIllegalPlugins().isEmpty());
|
||||
assertFalse(mergedModel.getIllegalProfiles().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMergeModelWithOtherSetup() throws Exception {
|
||||
Model customModel = MavenTemplateManager.getCustomProjectModel(parameters);
|
||||
customModel.setDependencyManagement(new DependencyManagement());
|
||||
customModel.getDependencies().add(new Dependency());
|
||||
customModel.getRepositories().add(new Repository());
|
||||
customModel.getPluginRepositories().add(new Repository());
|
||||
customModel.setDistributionManagement(new DistributionManagement());
|
||||
|
||||
Model model = mergeTool.migrateCustomModel(defaultModel.clone(), customModel);
|
||||
assertNotNull(model);
|
||||
assertNotNull(model.getDependencyManagement());
|
||||
assertNotNull(model.getDistributionManagement());
|
||||
assertFalse(customModel.getDependencies().isEmpty());
|
||||
assertFalse(customModel.getRepositories().isEmpty());
|
||||
assertFalse(customModel.getPluginRepositories().isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMigrateCustomModel() throws Exception {
|
||||
Model customModel = MavenTemplateManager.getCustomProjectModel(parameters);
|
||||
|
||||
customModel.getProperties().setProperty("encoding", "UTF-8");
|
||||
customModel.getProperties().setProperty("signer.version", "9.9.9");
|
||||
customModel.getProperties().setProperty("test", "test");
|
||||
|
||||
customModel.setBuild(new Build());
|
||||
customModel.getBuild().setPluginManagement(new PluginManagement());
|
||||
Plugin plugin1 = new Plugin();
|
||||
plugin1.setGroupId("org.apache.maven.plugins");
|
||||
plugin1.setArtifactId("maven-compiler-plugin");
|
||||
Plugin plugin2 = new Plugin();
|
||||
plugin2.setGroupId("a.b.c");
|
||||
plugin2.setArtifactId("test-plugin");
|
||||
customModel.getBuild().getPluginManagement().getPlugins().add(plugin1);
|
||||
customModel.getBuild().getPluginManagement().getPlugins().add(plugin2);
|
||||
|
||||
Plugin plugin3 = new Plugin();
|
||||
plugin3.setGroupId("org.talend.ci");
|
||||
plugin3.setArtifactId("builder-maven-plugin");
|
||||
Plugin plugin4 = new Plugin();
|
||||
plugin4.setGroupId("d.e.f");
|
||||
plugin4.setArtifactId("test2-plugin");
|
||||
customModel.getBuild().getPlugins().add(plugin3);
|
||||
customModel.getBuild().getPlugins().add(plugin4);
|
||||
|
||||
Profile profile1 = new Profile();
|
||||
profile1.setId("nexus");
|
||||
Profile profile2 = new Profile();
|
||||
profile2.setId("custom_profile");
|
||||
customModel.getProfiles().add(profile1);
|
||||
customModel.getProfiles().add(profile2);
|
||||
|
||||
Model model = mergeTool.migrateCustomModel(defaultModel.clone(), customModel);
|
||||
assertNotNull(model);
|
||||
assertEquals("9.9.9", model.getProperties().getProperty("signer.version"));
|
||||
assertEquals("test", model.getProperties().getProperty("test"));
|
||||
assertFalse(model.getProperties().containsKey("encoding"));
|
||||
|
||||
assertFalse(model.getBuild().getPluginManagement().getPluginsAsMap().containsKey(plugin1.getKey()));
|
||||
assertTrue(model.getBuild().getPluginManagement().getPluginsAsMap().containsKey(plugin2.getKey()));
|
||||
|
||||
assertFalse(model.getBuild().getPluginsAsMap().containsKey(plugin3.getKey()));
|
||||
assertTrue(model.getBuild().getPluginsAsMap().containsKey(plugin4.getKey()));
|
||||
|
||||
assertFalse(model.getProfiles().stream().anyMatch(p -> "nexus".equals(p.getId())));
|
||||
assertTrue(model.getProfiles().stream().anyMatch(p -> "custom_profile".equals(p.getId())));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMigrateCustomModelWithEmptyPluginManagement() throws Exception {
|
||||
Model customModel = MavenTemplateManager.getCustomProjectModel(parameters);
|
||||
customModel.setBuild(new Build());
|
||||
customModel.getBuild().setPluginManagement(new PluginManagement());
|
||||
Plugin plugin = new Plugin();
|
||||
plugin.setGroupId("org.apache.maven.plugins");
|
||||
plugin.setArtifactId("maven-compiler-plugin");
|
||||
customModel.getBuild().getPluginManagement().getPlugins().add(plugin);
|
||||
Model model = mergeTool.migrateCustomModel(defaultModel.clone(), customModel);
|
||||
assertNotNull(model);
|
||||
assertNull(model.getBuild().getPluginManagement());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -22,12 +22,12 @@
|
||||
<version>1.0.0</version>
|
||||
<type>dll</type>
|
||||
</dependency>
|
||||
<!--dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.studio.test</groupId>
|
||||
<artifactId>nexus.upload.test.new</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<type>exe</type>
|
||||
</dependency-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.studio.test</groupId>
|
||||
<artifactId>nexus.upload.test.new</artifactId>
|
||||
@@ -45,12 +45,12 @@
|
||||
<version>1.0.0</version>
|
||||
<type>dll</type>
|
||||
</dependency>
|
||||
<!--dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.studio.test</groupId>
|
||||
<artifactId>nexus.upload.test.old</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<type>exe</type>
|
||||
</dependency-->
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.talend.studio.test</groupId>
|
||||
<artifactId>nexus.upload.test.old</artifactId>
|
||||
|
||||
@@ -66,7 +66,7 @@ public class Nexus3RepositoryHandlerTest {
|
||||
private static Properties nexusprops = new Properties();
|
||||
private static ArtifactRepositoryBean customNexusServer;
|
||||
private static IRepositoryArtifactHandler repHandler;
|
||||
private static String[] types = new String[] {"jar", "pom", "zip", "dll"};
|
||||
private static String[] types = new String[] {"jar", "pom", "exe", "zip", "dll"};
|
||||
|
||||
@BeforeClass
|
||||
public static void init() throws FileNotFoundException, IOException {
|
||||
|
||||
Reference in New Issue
Block a user