Compare commits
2 Commits
fix/missin
...
cmeng/stig
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
163e0d70ec | ||
|
|
6800625fe9 |
@@ -7,5 +7,4 @@ Huge thanks to these people who contributed in making Talend product better:
|
||||
- [overpackaging](https://github.com/overpackaging) (Steeve Dreux)
|
||||
- [brazabr](https://github.com/brazabr) (Thiago Benvenuto)
|
||||
- [phoflack](https://jira.talendforge.org/secure/ViewProfile.jspa?name=phoflack) (Philip Hoflack)
|
||||
- [bgunics-talend](https://github.com/bgunics-talend) (Balasz Gunics)
|
||||
- [cflamain](https://github.com/cflamain) (Christophe Flamain)
|
||||
- [bgunics-talend](https://github.com/bgunics-talend) (Balasz Gunics)
|
||||
14
SECURITY.md
@@ -1,14 +0,0 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 8.0.x | :white_check_mark: |
|
||||
| 7.3.x | :white_check_mark: |
|
||||
| < 7.3.x | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
For information on how to report a new security problem please see [here](https://www.talend.com/security/vulnerability-disclosure/).
|
||||
Our existing security advisories are published [here](https://www.talend.com/security/incident-response/).
|
||||
@@ -33,5 +33,4 @@
|
||||
<plugin id="org.talend.libraries.mozilla" download-size="0" install-size="0" version="0.0.0"/>
|
||||
<plugin id="org.talend.libraries.sqlbuilder" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
<plugin id="org.talend.sqlbuilder" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
<plugin id="org.talend.designer.core.swt" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
</feature>
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
<import plugin="org.talend.repository" version="0.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="org.talend.utils" version="0.0.0" match="greaterOrEqual"/>
|
||||
</requires>
|
||||
<plugin id="org.talend.common.ui.runtime.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.commons.runtime.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.commons.ui.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.core.repository.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
@@ -51,7 +50,6 @@
|
||||
<plugin id="org.talend.repository.metadata.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.repository.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.sqlbuilder.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.presentation.onboarding.resource.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.repository.view.di.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.repository.view.test" download-size="0" install-size="0" version="0.0.0" fragment="true" unpack="false"/>
|
||||
<plugin id="org.talend.testutils" download-size="0" install-size="0" version="0.0.0" unpack="false"/>
|
||||
|
||||
@@ -139,6 +139,12 @@
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.talend.designer.components.exchange"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.talend.designer.components.localprovider"
|
||||
download-size="0"
|
||||
@@ -158,7 +164,7 @@
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
|
||||
<plugin
|
||||
id="org.talend.designer.filemultischemas"
|
||||
download-size="0"
|
||||
@@ -187,14 +193,6 @@
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.talend.designer.mapper.swt"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
fragment="true"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.talend.designer.rowgenerator"
|
||||
download-size="0"
|
||||
|
||||
@@ -46,6 +46,4 @@
|
||||
<plugin id="org.talend.libraries.slf4j" download-size="0" install-size="0" version="0.0.0"/>
|
||||
<plugin id="org.talend.libraries.xml" download-size="0" install-size="0" version="0.0.0"/>
|
||||
<plugin id="org.talend.libraries.zmq" download-size="0" install-size="0" version="0.0.0"/>
|
||||
<plugin id="org.talend.libraries.bigquery" download-size="0" install-size="0" version="0.0.0"/>
|
||||
<plugin id="org.talend.repository.bigquery" download-size="0" install-size="0" version="0.0.0"/>
|
||||
</feature>
|
||||
|
||||
@@ -13,9 +13,7 @@ Require-Bundle: org.eclipse.core.runtime,
|
||||
org.eclipse.jface,
|
||||
org.apache.log4j,
|
||||
org.talend.libraries.apache,
|
||||
org.talend.components.api,
|
||||
org.talend.common.ui.runtime,
|
||||
org.talend.commons.runtime
|
||||
org.talend.components.api
|
||||
Eclipse-LazyStart: true
|
||||
Export-Package: org.talend.designer.abstractmap,
|
||||
org.talend.designer.abstractmap.managers,
|
||||
|
||||
@@ -2,7 +2,7 @@ prefs.configuration.title=\u30DE\u30C3\u30D7\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3
|
||||
prefs.configuration.LINK_STYLE=\u30C7\u30D5\u30A9\u30EB\u30C8\u30DE\u30C3\u30D4\u30F3\u30B0\u30EA\u30F3\u30AF\u306E\u8868\u793A:
|
||||
prefs.configuration.LINK_STYLE.AUTO=\u81EA\u52D5
|
||||
prefs.configuration.LINK_STYLE.BEZIER_CURVE=\u66F2\u7DDA
|
||||
prefs.configuration.LINK_STYLE.LINE=\u76F4\u7DDA(\u9AD8\u901F)
|
||||
prefs.configuration.LINK_STYLE.LINE=\u76F4\u7DDA\uFF08\u9AD8\u901F\uFF09
|
||||
DraggingInfosPopup.draggingEntry={0}\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u3044\u307E\u3059\u3002
|
||||
DraggingInfosPopup.dropInvalid=\n<< \u7121\u52B9\u306A\u30C9\u30ED\u30C3\u30D7 >>\n
|
||||
DraggingInfosPopup.draggingEntries={0}\u30A8\u30F3\u30C8\u30EA\u30FC\u3092\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u3044\u307E\u3059\u3002
|
||||
|
||||
@@ -13,10 +13,6 @@
|
||||
package org.talend.designer.abstractmap.managers;
|
||||
|
||||
import org.apache.log4j.Level;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.graphics.Color;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
import org.talend.commons.ui.runtime.ITalendThemeService;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.designer.abstractmap.ui.dnd.DraggingInfosPopup;
|
||||
import org.talend.designer.abstractmap.ui.properties.LINK_STYLE;
|
||||
|
||||
@@ -13,7 +13,5 @@ Require-Bundle: org.eclipse.core.runtime,
|
||||
org.talend.core.runtime,
|
||||
org.talend.model,
|
||||
org.eclipse.jface,
|
||||
org.talend.components.api,
|
||||
org.talend.common.ui.runtime,
|
||||
org.talend.commons.runtime
|
||||
org.talend.components.api
|
||||
Eclipse-LazyStart: true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
AlfrescoOutputManager.failedLoadModel=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30E1\u30BF\u30C7\u30FC\u30BF\u304B\u3089\u30E2\u30C7\u30EB\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u521D\u671F\u5316\u4E2D
|
||||
AlfrescoOutputManager.failedLoadModel=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30E1\u30BF\u30C7\u30FC\u30BF\u304B\u3089\u30E2\u30C7\u30EB\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u518D\u521D\u671F\u5316\u4E2D,
|
||||
AlfrescoOutputManager.schemaError.title=\u30B9\u30AD\u30FC\u30DE\u306E\u30A8\u30E9\u30FC
|
||||
AlfrescoOutputManager.schemaError.msg=\u6700\u521D\u306B\u30B9\u30AD\u30FC\u30DE\u3092\u540C\u671F\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
AlfrescoOutputModelManager.alreadyAdded=\u3053\u306E\u30E2\u30C7\u30EB\u306F\u65E2\u306B\u8FFD\u52A0\u6E08\u307F\u3067\u3059\u3002
|
||||
|
||||
@@ -24,14 +24,7 @@ Require-Bundle: org.talend.core.repository,
|
||||
org.talend.daikon,
|
||||
org.talend.daikon.crypto.utils,
|
||||
org.talend.designer.core.generic,
|
||||
org.talend.updates.runtime,
|
||||
org.talend.commons.runtime,
|
||||
org.eclipse.equinox.common,
|
||||
org.eclipse.core.runtime,
|
||||
org.eclipse.core.resources,
|
||||
org.talend.common.ui.runtime,
|
||||
org.eclipse.jface,
|
||||
org.talend.core.runtime
|
||||
org.talend.updates.runtime
|
||||
Eclipse-LazyStart: true
|
||||
Bundle-ClassPath: .
|
||||
Export-Package: org.talend.designer.codegen,
|
||||
|
||||
@@ -324,9 +324,6 @@
|
||||
<%}%>
|
||||
|
||||
private final static java.util.Properties jobInfo = new java.util.Properties();
|
||||
private final static java.util.Map<String,String> mdcInfo = new java.util.HashMap<>();
|
||||
private final static java.util.concurrent.atomic.AtomicLong subJobPidCounter = new java.util.concurrent.atomic.AtomicLong();
|
||||
|
||||
|
||||
public static void main(String[] args){
|
||||
final <%=className %> <%=className %>Class = new <%=className %>();
|
||||
@@ -362,8 +359,8 @@
|
||||
private void readJobInfo(java.io.File jobInfoFile){
|
||||
|
||||
if(jobInfoFile.exists()) {
|
||||
try (java.io.InputStream is = new java.io.FileInputStream(jobInfoFile)) {
|
||||
jobInfo.load(is);
|
||||
try {
|
||||
jobInfo.load(new java.io.FileInputStream(jobInfoFile));
|
||||
} catch (IOException e) {
|
||||
<%if(isLog4jEnabled){%>
|
||||
log.debug("Read jobInfo.properties file fail: " + e.getMessage());
|
||||
@@ -562,7 +559,7 @@
|
||||
log.info("TalendJob: '<%=codeGenArgument.getJobName()%>' - Start.");
|
||||
<%}%>
|
||||
|
||||
<%if(isLog4jEnabled && isLog4j2Enabled) {%>
|
||||
<%if(isLog4j2Enabled) {%>
|
||||
java.util.Set<Object> jobInfoKeys = jobInfo.keySet();
|
||||
for(Object jobInfoKey: jobInfoKeys) {
|
||||
<%=MDC_CLASS%>.put("_" + jobInfoKey.toString(), jobInfo.get(jobInfoKey).toString());
|
||||
@@ -710,7 +707,7 @@
|
||||
pid = TalendString.getAsciiRandomString(6);
|
||||
}
|
||||
|
||||
<%if(isLog4jEnabled && isLog4j2Enabled) {%>
|
||||
<%if(isLog4j2Enabled) {%>
|
||||
<%=MDC_CLASS%>.put("_pid", pid);
|
||||
<%}%>
|
||||
|
||||
@@ -718,7 +715,7 @@
|
||||
rootPid = pid;
|
||||
}
|
||||
|
||||
<%if(isLog4jEnabled && isLog4j2Enabled) {%>
|
||||
<%if(isLog4j2Enabled) {%>
|
||||
<%=MDC_CLASS%>.put("_rootPid", rootPid);
|
||||
<%}%>
|
||||
|
||||
@@ -727,7 +724,7 @@
|
||||
}else{
|
||||
isChildJob = true;
|
||||
}
|
||||
<%if(isLog4jEnabled && isLog4j2Enabled) {%>
|
||||
<%if(isLog4j2Enabled) {%>
|
||||
<%=MDC_CLASS%>.put("_fatherPid", fatherPid);
|
||||
<%}%>
|
||||
|
||||
@@ -965,10 +962,9 @@
|
||||
//Resume: jobStart
|
||||
resumeUtil.addLog("JOB_STARTED", "JOB:" + jobName, parent_part_launcher, Thread.currentThread().getId() + "", "","","","",resumeUtil.convertToJsonText(context,ContextProperties.class,parametersToEncrypt));
|
||||
|
||||
<%if(isLog4jEnabled && isLog4j2Enabled) {%>
|
||||
<%if(isLog4j2Enabled) {%>
|
||||
<%=MDC_CLASS%>.put("_context", contextStr);
|
||||
log.info("TalendJob: '<%=codeGenArgument.getJobName()%>' - Started.");
|
||||
java.util.Optional.ofNullable(<%=MDC_CLASS%>.getCopyOfContextMap()).ifPresent(mdcInfo::putAll);
|
||||
<%}%>
|
||||
|
||||
<%
|
||||
@@ -1180,10 +1176,6 @@ this.globalResumeTicket = false;//to run others jobs
|
||||
runningThreadCount.add(1);
|
||||
new Thread(){
|
||||
public void run() {
|
||||
<%if(isLog4jEnabled && isLog4j2Enabled) {%>
|
||||
mdcInfo.forEach(<%=MDC_CLASS%>::put);
|
||||
<% } %>
|
||||
|
||||
java.util.Map threadRunResultMap = new java.util.HashMap();
|
||||
threadRunResultMap.put("errorCode", null);
|
||||
threadRunResultMap.put("status", "");
|
||||
@@ -1390,7 +1382,7 @@ if (execStat) {
|
||||
resumeUtil.addLog("JOB_ENDED", "JOB:" + jobName, parent_part_launcher, Thread.currentThread().getId() + "", "","" + returnCode,"","","");
|
||||
resumeUtil.flush();
|
||||
|
||||
<%if(isLog4jEnabled && isLog4j2Enabled) {%>
|
||||
<%if(isLog4j2Enabled) {%>
|
||||
|
||||
<%=MDC_CLASS%>.remove("_subJobName");
|
||||
<%=MDC_CLASS%>.remove("_subJobPid");
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
SchemaSettingTool_<%=cid%>_<%=schemaIndex%>_<%=classNameTail%> sst_<%=cid%>_<%=schemaIndex%>_<%=classNameTail%> = new SchemaSettingTool_<%=cid%>_<%=schemaIndex%>_<%=classNameTail%>();
|
||||
|
||||
props_<%=cid %><%=propInfo.fieldName%>.setValue("<%=property.getName()%>",
|
||||
new org.apache.avro.Schema.Parser().setValidateDefaults(false).parse(sst_<%=cid%>_<%=schemaIndex%>_<%=classNameTail%>.getSchemaValue()));
|
||||
new org.apache.avro.Schema.Parser().parse(sst_<%=cid%>_<%=schemaIndex%>_<%=classNameTail%>.getSchemaValue()));
|
||||
<%
|
||||
} else if (!(value instanceof String) || !((String)value).equals("")) {
|
||||
%>
|
||||
|
||||
@@ -36,15 +36,6 @@
|
||||
boolean stats = codeGenArgument.isStatistics();
|
||||
boolean trace = codeGenArgument.isTrace();
|
||||
boolean isRunInMultiThread = codeGenArgument.getIsRunInMultiThread();
|
||||
|
||||
boolean exportTypeSpringBoot = false;
|
||||
if (process instanceof org.talend.core.model.process.IProcess2) {
|
||||
org.talend.core.model.process.IProcess2 p2 = (org.talend.core.model.process.IProcess2) process;
|
||||
if (p2.getProperty() != null && p2.getProperty().getAdditionalProperties() != null) {
|
||||
exportTypeSpringBoot = "REST_MS".equals(p2.getProperty().getAdditionalProperties().get(org.talend.core.runtime.process.TalendProcessArgumentConstant.ARG_BUILD_TYPE));
|
||||
}
|
||||
}
|
||||
|
||||
List<IContextParameter> params = new ArrayList<IContextParameter>();
|
||||
params=process.getContextManager().getDefaultContext().getContextParameterList();
|
||||
String className = process.getName();
|
||||
@@ -150,8 +141,7 @@ for (INode node : process.getNodesOfType("tRESTClient")) {
|
||||
}
|
||||
}
|
||||
|
||||
boolean isChildRouteJob = !process.getNodesOfType("tRouteInput").isEmpty();
|
||||
boolean talendEsbJobFactory = actAsProvider || isChildRouteJob;
|
||||
boolean talendEsbJobFactory = actAsProvider || !process.getNodesOfType("tRouteInput").isEmpty();
|
||||
boolean talendEsbJob = talendEsbJobFactory || actAsConsumer || ProcessorUtilities.isEsbJob(process);
|
||||
|
||||
boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(process, "__LOG4J_ACTIVATE__"));//log4j enable
|
||||
@@ -255,11 +245,6 @@ if(isRunInMultiThread){
|
||||
|
||||
<%//uft-8 is for temp file, for example: tSortRow, tMap. Because they need keep reversibility.%>
|
||||
private final static String utf8Charset = "UTF-8";
|
||||
|
||||
<%
|
||||
if(!exportTypeSpringBoot || isChildRouteJob){
|
||||
%>
|
||||
|
||||
//contains type for every context property
|
||||
public class PropertiesWithType extends java.util.Properties {
|
||||
private static final long serialVersionUID = 1L;
|
||||
@@ -280,16 +265,9 @@ if(!exportTypeSpringBoot || isChildRouteJob){
|
||||
return propertyTypes.get(key);
|
||||
}
|
||||
}
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
// create and load default properties
|
||||
private java.util.Properties defaultProps = new java.util.Properties();
|
||||
|
||||
<%
|
||||
if(!exportTypeSpringBoot){
|
||||
%>
|
||||
|
||||
// create application properties with default
|
||||
public class ContextProperties extends PropertiesWithType {
|
||||
|
||||
@@ -355,10 +333,6 @@ public <%=JavaTypesManager.getTypeToGenerate(ctxParam.getType(),true)%> get<%=Ch
|
||||
}
|
||||
%>
|
||||
}
|
||||
|
||||
<%
|
||||
}
|
||||
%>
|
||||
protected ContextProperties context = new ContextProperties(); // will be instanciated by MS.
|
||||
public ContextProperties getContext() {
|
||||
return this.context;
|
||||
|
||||
@@ -30,10 +30,6 @@ boolean containsTPartitioner = node.getProcess().getNodesOfType("tPartitioner").
|
||||
boolean isRunJob = "tRunJob".equals(node.getComponent().getName());
|
||||
IProcess process = node.getProcess();
|
||||
|
||||
final boolean isLog4jEnabled = ("true").equals(ElementParameterParser.getValue(process, "__LOG4J_ACTIVATE__"));
|
||||
final boolean isLog4j2Enabled = ("true").equals(ElementParameterParser.getValue(process, "__LOG4J2_ACTIVATE__"));//log4j2 enable
|
||||
final String MDC_CLASS = "org.slf4j.MDC";
|
||||
|
||||
boolean isTestContainer=ProcessUtils.isTestContainer(process);
|
||||
String className = process.getName();
|
||||
if (isTestContainer) {
|
||||
@@ -195,11 +191,8 @@ for (IConnection iterateConn : iterateConnSet) { //1
|
||||
}
|
||||
|
||||
|
||||
public void run() {
|
||||
<% if(isLog4jEnabled && isLog4j2Enabled) { %>
|
||||
mdcInfo.forEach(<%=MDC_CLASS%>::put);
|
||||
<% } %>
|
||||
|
||||
public void run() {
|
||||
|
||||
java.util.Map threadRunResultMap = new java.util.HashMap();
|
||||
threadRunResultMap.put("errorCode", null);
|
||||
threadRunResultMap.put("status", "");
|
||||
|
||||
@@ -1098,8 +1098,7 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
|
||||
<%
|
||||
} else if(javaType.isObjectBased() || typeToGenerate.equals("Geometry") || typeToGenerate.equals("Dynamic")) {
|
||||
%>
|
||||
dos.clearInstanceCache();
|
||||
dos.writeObject(this.<%=column.getLabel() %>);
|
||||
dos.writeObject(this.<%=column.getLabel() %>);
|
||||
<%
|
||||
} else {
|
||||
typeToGenerate =JavaTypesManager.getTypeToGenerate(column.getTalendType(), false);
|
||||
@@ -1431,8 +1430,7 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
|
||||
<%
|
||||
} else if(typeToGenerate.equals("Object") || typeToGenerate.equals("Geometry") || typeToGenerate.equals("BigDecimal") || typeToGenerate.equals("List") || typeToGenerate.equals("Dynamic") || typeToGenerate.equals("Document")) {
|
||||
%>
|
||||
objectOut.clearInstanceCache();
|
||||
objectOut.writeObject(this.<%=column.getLabel() %>);
|
||||
objectOut.writeObject(this.<%=column.getLabel() %>);
|
||||
<%
|
||||
} else {
|
||||
typeToGenerate =JavaTypesManager.getTypeToGenerate(column.getTalendType(), false);
|
||||
@@ -1597,7 +1595,6 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
|
||||
}
|
||||
}
|
||||
%>
|
||||
|
||||
<% if (subTree.isMethodSizeNeeded()){ %>
|
||||
/**
|
||||
* Start of Function: <%=subTree.getName() %>Process.
|
||||
@@ -1608,10 +1605,9 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
|
||||
globalMap.put("<%=subTree.getName() %>_SUBPROCESS_STATE", 0);
|
||||
|
||||
final boolean execStat = this.execStat;
|
||||
<%if(isLog4jEnabled && isLog4j2Enabled) {%>
|
||||
mdcInfo.forEach(<%=MDC_CLASS%>::put);
|
||||
<%if(isLog4j2Enabled) {%>
|
||||
<%=MDC_CLASS%>.put("_subJobName", "<%=subTree.getName() %>");
|
||||
<%=MDC_CLASS%>.put("_subJobPid", "<%=getAsciiRandomString(6)%>_" + subJobPidCounter.getAndIncrement());
|
||||
<%=MDC_CLASS%>.put("_subJobPid", TalendString.getAsciiRandomString(6));
|
||||
<%}%>
|
||||
|
||||
<%
|
||||
|
||||
@@ -93,25 +93,7 @@ public class CLASS
|
||||
}
|
||||
return toReturn;
|
||||
}
|
||||
|
||||
// copy from routine TalendString
|
||||
private static String getAsciiRandomString(int length) {
|
||||
java.security.SecureRandom random = new java.security.SecureRandom();
|
||||
int cnt = 0;
|
||||
StringBuilder builder = new StringBuilder();
|
||||
char ch;
|
||||
int end = 'z' + 1;
|
||||
int start = ' ';
|
||||
while (cnt < length) {
|
||||
ch = (char) (random.nextInt(end - start) + start);
|
||||
if (Character.isLetterOrDigit(ch)) {
|
||||
builder.append(ch);
|
||||
cnt++;
|
||||
}
|
||||
}
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
public String generate(Object argument) {
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ JavaRoutineSynchronizer.UnsupportedOperation.Exception1=\u30E1\u30BD\u30C3\u30C9
|
||||
JavaRoutineSynchronizer.UnsupportedOperation.Exception2=\u30E1\u30BD\u30C3\u30C9\u304C\u5B9F\u88C5\u3055\u308C\u3066\u3044\u307E\u305B\u3093\\: org.talend.designer.codegen.JavaRoutineSynchronizer line\\:58
|
||||
JetSkeletonManager.unableLoad=\u30B9\u30B1\u30EB\u30C8\u30F3\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30AD\u30E3\u30C3\u30B7\u30E5\u30D5\u30A1\u30A4\u30EB\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093
|
||||
JetSkeletonManager.unableSave=\u30B9\u30B1\u30EB\u30C8\u30F3\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u30AD\u30E3\u30C3\u30B7\u30E5\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093
|
||||
JetSkeletonManager.updateProblem=\u30B9\u30B1\u30EB\u30C8\u30F3\u6C38\u7D9A\u30C7\u30FC\u30BF\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u6642\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
|
||||
JetSkeletonManager.updateProblem=\u30B9\u30B1\u30EB\u30C8\u30F3\u6C38\u7D9A\u30C7\u30FC\u30BF\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u6642\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F,
|
||||
EmfEmittersPersistence.CodeGen.DataMissing=\u30B3\u30FC\u30C9\u751F\u6210\u306E\u30C7\u30FC\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u5B8C\u5168\u306A\u30B3\u30FC\u30C9\u751F\u6210\u3092\u958B\u59CB\u3057\u3066\u3044\u307E\u3059\u3002
|
||||
CodeGeneratorEmittersPoolFactory.PersitentData.Error=\u6301\u7D9A\u30C7\u30FC\u30BF\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093:
|
||||
CodeGeneratorEmittersPoolFactory.JETEmitters.NoPresent=JETEmitter \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3001\u5168\u4F53\u306E\u518D\u521D\u671F\u5316\u304C\u5FC5\u8981\u3067\u3059\u3002
|
||||
@@ -36,7 +36,7 @@ CodeGenInit.addMarkers=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u30DE\u3
|
||||
CodeGenInit.createProject={0}\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u4F5C\u6210
|
||||
CodeGenInit.deleteProject={0}\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u524A\u9664
|
||||
CodeGenInit.initTemplate=\u30C6\u30F3\u30D7\u30EC\u30FC\u30C8\u306E\u521D\u671F\u5316
|
||||
CodeGenInit.removeLink=\u30EA\u30F3\u30AF\u3055\u308C\u305F\u30EA\u30BD\u30FC\u30B9\u3092\u524A\u9664
|
||||
CodeGenInit.removeLink=\u30EA\u30F3\u30AF\u3055\u308C\u305F\u30EA\u30BD\u30FC\u30B9\u306E\u524A\u9664
|
||||
CodeGenInit.saveWorkspace=\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u4FDD\u5B58\u4E2D
|
||||
DocumentRootImpl.mixed= (\u4E21\u7528:
|
||||
NodesSubTree.enableParallel=__ENABLE_PARALLEL__
|
||||
@@ -45,7 +45,7 @@ TalendJetEmitter.compileFail= \u30B3\u30F3\u30D1\u30A4\u30EB\u5931\u6557: {0} :
|
||||
TalendJetEmitter.exception=\u4F8B\u5916
|
||||
JetFilesProviderManager.unableLoad={0}\u3092\u30ED\u30FC\u30C9\u3067\u304D\u307E\u305B\u3093
|
||||
ComponentsFactory.afterSystemComponent=\u30B7\u30B9\u30C6\u30E0\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u5F8C
|
||||
ComponentsFactory.componentNotFound=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30D5\u30A9\u30EB\u30C0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093:
|
||||
ComponentsFactory.componentNotFound=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30D5\u30A9\u30EB\u30C0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093 \\:
|
||||
ComponentsFactory.load.components=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30ED\u30FC\u30C9...
|
||||
ComponentsFactory.parentNotRecompiled=\u8B66\u544A: *.inc.javajet\u306E\u89AA\u306F\u518D\u30B3\u30F3\u30D1\u30A4\u30EB\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002
|
||||
ComponentsFactory.loadComponents.missingFolder=\u30D7\u30E9\u30B0\u30A4\u30F3"{1}"\u306B\u30D5\u30A9\u30EB\u30C0\u30FC"{0}"\u304C\u3042\u308A\u307E\u305B\u3093\u3002
|
||||
@@ -58,8 +58,8 @@ ComponentsPreferencePage.configuration.LINK_STYLE=\u30C7\u30D5\u30A9\u30EB\u30C8
|
||||
ComponentsPreferencePage.rowLimit=\u884C\u6570\u5236\u9650
|
||||
ComponentsPreferencePage.WarningMsg=Talend Open Studio\u3092\u518D\u8D77\u52D5\u3057\u3066\u3001\u62E1\u5F35\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30ED\u30FC\u30C9\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002
|
||||
ComponentsPreferencePage.WarningTitle=\u8B66\u544A
|
||||
ComponentsPreferencePage.directoryFieldLabel=\u30E6\u30FC\u30B6\u30FC\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30D5\u30A9\u30EB\u30C0:
|
||||
ComponentsPreferencePage.notValidDirectory=\u3053\u308C\u3092\u9078\u629E\u3059\u308B\u3068\u30D5\u30A9\u30EB\u30C0\u30FC\u304C\u30CD\u30B9\u30C8\u3055\u308C\u307E\u3059\u3002\u3053\u308C\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093\u3002 \u7D9A\u884C\u3057\u307E\u3059\u304B?
|
||||
ComponentsPreferencePage.directoryFieldLabel=\u30E6\u30FC\u30B6\u30FC\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30D5\u30A9\u30EB\u30C0 \\:
|
||||
ComponentsPreferencePage.notValidDirectory=\u3053\u308C\u3092\u9078\u629E\u3059\u308B\u3068\u30D5\u30A9\u30EB\u30C0\u30FC\u304C\u30CD\u30B9\u30C8\u3055\u308C\u307E\u3059\u3002\u3053\u308C\u306F\u63A8\u5968\u3055\u308C\u307E\u305B\u3093\u3002 \u7D9A\u884C\u3057\u307E\u3059\u304B?,
|
||||
ComponentsPreferencePage.installComponentsFailure=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F
|
||||
ComponentsProviderManager.unableLoad=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30D7\u30ED\u30D0\u30A4\u30C0\u306E\u30ED\u30FC\u30C9\u304C\u3067\u304D\u307E\u305B\u3093
|
||||
ComponenttRunJobPreferencePage.label=tRunJob\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30C0\u30D6\u30EB\u30AF\u30EA\u30C3\u30AF\u5F8C\u3001\u5BFE\u5FDC\u30B8\u30E7\u30D6\u3092\u8868\u793A\u3057\u306A\u3044\u3002
|
||||
@@ -76,7 +76,7 @@ XsdValidationCacheManager.unableLoadxsd=XSD\u30D0\u30EA\u30C7\u30FC\u30B7\u30E7\
|
||||
XsdValidationCacheManager.unableSavexsd=XSD\u30D0\u30EA\u30C7\u30FC\u30B7\u30E7\u30F3\u306E\u30AD\u30E3\u30C3\u30B7\u30E5\u30D5\u30A1\u30A4\u30EB\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093
|
||||
prefs.configuration.LINK_STYLE.AUTO=\u81EA\u52D5
|
||||
prefs.configuration.LINK_STYLE.BEZIER_CURVE=\u66F2\u7DDA
|
||||
prefs.configuration.LINK_STYLE.LINE=\u76F4\u7DDA(\u9AD8\u901F)
|
||||
prefs.configuration.LINK_STYLE.LINE=\u76F4\u7DDA\uFF08\u9AD8\u901F\uFF09
|
||||
FAMILY.AS400=AS400
|
||||
FAMILY.Access=\u30A2\u30AF\u30BB\u30B9
|
||||
FAMILY.Alfresco=Alfresco
|
||||
@@ -88,7 +88,7 @@ FAMILY.Connections=\u63A5\u7D9A
|
||||
FAMILY.Custom_Code=\u30AB\u30B9\u30BF\u30E0\u30B3\u30FC\u30C9
|
||||
FAMILY.DB2=DB2
|
||||
FAMILY.DB_Generic=\u6C4E\u7528ODBC
|
||||
FAMILY.DB_JDBC=\u30B8\u30A7\u30CD\u30EA\u30C3\u30AFJDBC
|
||||
FAMILY.DB_JDBC=\u6C4E\u7528JDBC
|
||||
FAMILY.DB_SCD=DB SCD
|
||||
FAMILY.Data_Quality=\u30C7\u30FC\u30BF\u30AF\u30AA\u30EA\u30C6\u30A3
|
||||
FAMILY.Data_Privacy=\u30C7\u30FC\u30BF\u30D7\u30E9\u30A4\u30D0\u30B7\u30FC
|
||||
|
||||
@@ -46,7 +46,6 @@ import org.talend.commons.exception.BusinessException;
|
||||
import org.talend.commons.exception.ExceptionHandler;
|
||||
import org.talend.commons.utils.io.FilesUtils;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.ILibraryManagerService;
|
||||
import org.talend.core.language.LanguageManager;
|
||||
import org.talend.core.model.component_cache.ComponentsCache;
|
||||
import org.talend.core.model.components.AbstractComponentsProvider;
|
||||
@@ -91,8 +90,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
|
||||
private static Set<IComponent> customComponentList = new HashSet<>(); // user/exchange/tck components
|
||||
|
||||
private static Map<IComponent, File> customComponentFolderMap = new HashMap<IComponent, File>();
|
||||
|
||||
private IProgressMonitor monitor;
|
||||
|
||||
private SubMonitor subMonitor;
|
||||
@@ -135,7 +132,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
componentList.clear();
|
||||
skeletonList.clear();
|
||||
customComponentList.clear();
|
||||
customComponentFolderMap.clear();
|
||||
|
||||
boolean needRegenerate = false;
|
||||
if (CodeGeneratorActivator.getDefault().getBundle().getBundleContext().getProperty("osgi.dev") != null) {
|
||||
@@ -173,8 +169,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
initComponentNameMap();
|
||||
|
||||
isInitializing.set(false);
|
||||
// sync custom component libs after init
|
||||
syncCustomComponentLibs();
|
||||
// TimeMeasure.step("initComponents", "createCache");
|
||||
log.info(componentList.size() + " components loaded in " + (System.currentTimeMillis() - startTime) + " ms"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
@@ -374,7 +368,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
} else {
|
||||
componentList.add(currentComp);
|
||||
customComponentList.add(currentComp);
|
||||
customComponentFolderMap.put(currentComp, currentFolder);
|
||||
}
|
||||
} catch (MissingMainXMLComponentFileException e) {
|
||||
log.trace(currentFolder.getName() + " is not a " + getCodeLanguageSuffix() + " component", e); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
@@ -394,23 +387,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
}
|
||||
}
|
||||
|
||||
private void syncCustomComponentLibs() {
|
||||
try {
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(ILibraryManagerService.class)) {
|
||||
ILibraryManagerService libraryService = GlobalServiceRegister.getDefault()
|
||||
.getService(ILibraryManagerService.class);
|
||||
if (libraryService != null) {
|
||||
customComponentFolderMap.forEach((component, componentFolder) -> libraryService
|
||||
.deployLibsFromCustomComponents(componentFolder, component.getModulesNeeded()));
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
} finally {
|
||||
customComponentFolderMap.clear();
|
||||
}
|
||||
}
|
||||
|
||||
private void loadComponentsFromFolder(String pathSource, AbstractComponentsProvider provider) {
|
||||
// Changed by Marvin Wang on Feb.22 for bug TDI-19166, caz the test ConnectionManagerTest maybe get the null
|
||||
// context.
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
package org.talend.designer.codegen.components.model;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.talend.core.model.components.IComponent;
|
||||
import org.talend.core.ui.component.ComponentsFactoryProvider;
|
||||
@@ -46,7 +45,6 @@ public class UserComponentsTokenCollector extends AbstractTokenCollector {
|
||||
public JSONObject collect() throws Exception {
|
||||
JSONObject object = new JSONObject();
|
||||
List<IComponent> customComponents = ComponentsFactoryProvider.getInstance().getCustomComponents();
|
||||
customComponents = filterOutComponents(customComponents);
|
||||
JSONArray customComponentsArray = new JSONArray();
|
||||
if (customComponents != null) {
|
||||
for (int i = 0; i < customComponents.size(); i++) {
|
||||
@@ -57,9 +55,4 @@ public class UserComponentsTokenCollector extends AbstractTokenCollector {
|
||||
return object;
|
||||
}
|
||||
|
||||
private List<IComponent> filterOutComponents(List<IComponent> customComponents) {
|
||||
customComponents = customComponents.stream().filter(comp ->!"tTaCoKitGuessSchema".equals(comp.getName())).collect(Collectors.toList());
|
||||
return customComponents;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -55,9 +55,6 @@ public enum EInternalTemplate {
|
||||
CAMEL_RUNIF("camel_run_if", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
CAMEL_SPECIALLINKS("camel_speciallinks", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
MICROSERVICE_APP("microservice_app", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
MICROSERVICE_APP_MS_CONTEXT_PROPERTIES("microservice_app_ms_context_properties","0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
MICROSERVICE_APP_CONTEXT_PROPERTIES("microservice_app_context_properties","0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
MICROSERVICE_APP_PROPERTIES("microservice_app_properties","0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
HEADER_ADDITIONAL("header_additional", "0.0.1"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
|
||||
@@ -418,13 +418,6 @@ public final class CodeGeneratorEmittersPoolFactory {
|
||||
jetBean.setClassLoader(createDelegateClassLoader(jetBean.getClassLoader(), sparkUtilsPluginName,
|
||||
"org.talend.designer.spark.SparkPlugin")); //$NON-NLS-1$
|
||||
}
|
||||
String bigdataDIUtilsPluginName = "org.talend.designer.bigdata.di"; //$NON-NLS-1$
|
||||
if (PluginChecker.isPluginLoaded(bigdataDIUtilsPluginName)) {
|
||||
jetBean.addClassPath("BIGDATA_DI_LIBRARIES", bigdataDIUtilsPluginName); //$NON-NLS-1$
|
||||
jetBean.setClassLoader(createDelegateClassLoader(jetBean.getClassLoader(), bigdataDIUtilsPluginName,
|
||||
"org.talend.designer.bigdata.di.BigdataDiPlugin")); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
return jetBean;
|
||||
}
|
||||
|
||||
@@ -480,7 +473,6 @@ public final class CodeGeneratorEmittersPoolFactory {
|
||||
// generate the code.
|
||||
String sparkUtilsPluginName = "org.talend.designer.spark"; //$NON-NLS-1$
|
||||
String bigDataUtilsPluginName = "org.talend.designer.bigdata"; //$NON-NLS-1$
|
||||
String bigdataDIUtilsPluginName = "org.talend.designer.bigdata.di"; //$NON-NLS-1$
|
||||
if (PluginChecker.isPluginLoaded(sparkUtilsPluginName) && ("SPARK".equals(component.getPaletteType()) //$NON-NLS-1$
|
||||
|| "MR".equals(component.getPaletteType()) || "STORM".equals(component.getPaletteType()) //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|| "SPARKSTREAMING".equals(component.getPaletteType()))) { //$NON-NLS-1$
|
||||
@@ -502,22 +494,6 @@ public final class CodeGeneratorEmittersPoolFactory {
|
||||
jetBean.getClassLoader()));
|
||||
}
|
||||
|
||||
} else if (PluginChecker.isPluginLoaded(bigdataDIUtilsPluginName)) { //$NON-NLS-1$
|
||||
jetBean.addClassPath("BIGDATA_DI_LIBRARIES", bigdataDIUtilsPluginName); //$NON-NLS-1$
|
||||
jetBean.setClassLoader(createDelegateClassLoader(new CodeGeneratorEmittersPoolFactory().getClass().getClassLoader(),
|
||||
bigdataDIUtilsPluginName, "org.talend.designer.bigdata.di.BigdataDiPlugin")); //$NON-NLS-1$
|
||||
|
||||
// If Big Data DI AND with an external component, use the external component as the parent classloader and
|
||||
// Big Data DI as a secondary, delegate classloader.
|
||||
if (component.getPluginExtension() != null) {
|
||||
jetBean.addClassPath(
|
||||
"EXTERNAL_COMPONENT_" + component.getPluginExtension().toUpperCase().replaceAll("\\.", "_"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
component.getPluginExtension());
|
||||
jetBean.setClassLoader(new DelegateClassLoader(
|
||||
ExternalNodesFactory.getInstance(component.getPluginExtension()).getClass().getClassLoader(),
|
||||
jetBean.getClassLoader()));
|
||||
}
|
||||
|
||||
} else if (component.getPluginExtension() != null) {
|
||||
|
||||
jetBean.addClassPath("EXTERNAL_COMPONENT_" + component.getPluginExtension().toUpperCase().replaceAll("\\.", "_"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
@@ -564,7 +540,7 @@ public final class CodeGeneratorEmittersPoolFactory {
|
||||
JetBean jetBean = new JetBean(componentsPath, templateURI, "component", component.getVersion(), //$NON-NLS-1$
|
||||
"", codePart.getName());//$NON-NLS-1$
|
||||
addCommonLibs(jetBean);
|
||||
jetBean.addClassPath("AVRO", "avro"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
jetBean.addClassPath("AVRO", "org.apache.servicemix.bundles.avro"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
|
||||
for (String pluginDependency : component.getPluginDependencies()) {
|
||||
jetBean.addClassPath(pluginDependency.toUpperCase().replaceAll("\\.", "_") + "_LIBRARIES", pluginDependency); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src/main/java"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="output" path="class"/>
|
||||
</classpath>
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>org.talend.designer.components.exchange</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -0,0 +1,3 @@
|
||||
#Wed Aug 31 14:34:59 CST 2011
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
@@ -0,0 +1,41 @@
|
||||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Exchange Plug-in
|
||||
Bundle-SymbolicName: org.talend.designer.components.exchange;singleton:=true
|
||||
Bundle-Version: 8.8.8.qualifier
|
||||
Bundle-Activator: org.talend.designer.components.exchange.ExchangePlugin
|
||||
Require-Bundle: org.eclipse.core.runtime,
|
||||
org.eclipse.ui,
|
||||
org.apache.log4j,
|
||||
org.apache.commons.collections,
|
||||
org.apache.commons.discovery,
|
||||
org.apache.commons.logging,
|
||||
org.apache.commons.commons-beanutils,
|
||||
org.apache.commons.io,
|
||||
org.apache.commons.lang,
|
||||
org.apache.commons.httpclient,
|
||||
org.talend.commons.ui,
|
||||
org.talend.core,
|
||||
org.talend.core.ui,
|
||||
org.talend.utils,
|
||||
org.talend.librariesmanager,
|
||||
org.talend.libraries.mozilla;resolution:=optional,
|
||||
org.talend.libraries.uniserv;resolution:=optional,
|
||||
org.talend.designer.core,
|
||||
org.talend.model,
|
||||
org.talend.repository,
|
||||
org.talend.core.repository,
|
||||
org.talend.updates.runtime,
|
||||
org.eclipse.ui.intro,
|
||||
org.eclipse.ui.forms,
|
||||
org.eclipse.jface.text
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-Vendor: .Talend SA.
|
||||
Export-Package: org.talend.designer.components.exchange,
|
||||
org.talend.designer.components.exchange.i18n,
|
||||
org.talend.designer.components.exchange.ui,
|
||||
org.talend.designer.components.exchange.ui.views
|
||||
Eclipse-BundleShape: dir
|
||||
Import-Package: org.codehaus.jackson,
|
||||
org.codehaus.jackson.map,
|
||||
org.talend.registration.wizards.register
|
||||
@@ -0,0 +1,17 @@
|
||||
source.. = src/main/java/
|
||||
output.. = class/
|
||||
bin.includes = META-INF/,\
|
||||
.,\
|
||||
plugin.xml,\
|
||||
icons/,\
|
||||
plugin.properties,\
|
||||
model/,\
|
||||
content/,\
|
||||
plugin_de.properties,\
|
||||
plugin_en.properties,\
|
||||
plugin_fr.properties,\
|
||||
plugin_it.properties,\
|
||||
plugin_ja.properties,\
|
||||
plugin_ru.properties,\
|
||||
plugin_swtbot.properties,\
|
||||
plugin_zh_CN.properties
|
||||
@@ -0,0 +1,204 @@
|
||||
body, td, th {
|
||||
font-size: 12px;
|
||||
color: #404040;
|
||||
line-height: 23px;
|
||||
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||
padding: 5px;
|
||||
}
|
||||
input, textarea {
|
||||
border: 1px solid #9BB9F5;
|
||||
}
|
||||
body {
|
||||
margin: 0px;
|
||||
height: 100%;
|
||||
background-color: #EBEBDB;
|
||||
}
|
||||
ul {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
list-style-type: none;
|
||||
}
|
||||
a:link.xh {
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover.xh {
|
||||
text-decoration: none;
|
||||
}
|
||||
a:visited.xh {
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
.hover {
|
||||
background: rgb(167,207,223); /* Old browsers */
|
||||
color: white
|
||||
}
|
||||
.leave {
|
||||
background: none;
|
||||
}
|
||||
img {
|
||||
border: 0px;
|
||||
}
|
||||
.style_1 {
|
||||
font-size: 16px;
|
||||
}
|
||||
.style_2 {
|
||||
color: #000000;
|
||||
}
|
||||
.style_3 {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.style_4{
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
div {
|
||||
margin: 0;
|
||||
padding: 0
|
||||
}
|
||||
#container {
|
||||
position:relative;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
#container .menu {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 200px;
|
||||
height: 100%;
|
||||
float: left;
|
||||
border: 1px solid #9BB9F5;
|
||||
border-right: 0px;
|
||||
}
|
||||
#container .main1 {
|
||||
position: absolute;
|
||||
left: 200;
|
||||
top: 0;
|
||||
float: left;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
#menu li {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
padding: 0px 0px;
|
||||
}
|
||||
.ulhide {
|
||||
display: none;
|
||||
overflow: auto;
|
||||
}
|
||||
.ulblock {
|
||||
display: block;
|
||||
}
|
||||
.left_1 {
|
||||
width: 100px;
|
||||
margin-top: 10px;
|
||||
float: left;
|
||||
padding-left: 0px;
|
||||
vertical-align: top;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.compDesc {
|
||||
height: 200px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 30px;
|
||||
padding-left: 20px;
|
||||
overflow: auto;
|
||||
border: 1px solid #9BB9F5;
|
||||
}
|
||||
.compImg {
|
||||
height: 200px;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 30px;
|
||||
padding-left: 10px;
|
||||
border: 1px solid #9BB9F5;
|
||||
}
|
||||
.reviews {
|
||||
width: 60%;
|
||||
height: 350px;
|
||||
margin-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
word-break: break-all;
|
||||
WORD-WRAP: break-word;
|
||||
}
|
||||
.userreview {
|
||||
font-size: 13px;
|
||||
color: #000000;
|
||||
font-weight: bold;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.left_11 {
|
||||
width: 100px;
|
||||
margin-top: 10px;
|
||||
float: left;
|
||||
padding-left: 0px;
|
||||
vertical-align: top;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.toolbar {
|
||||
background-color: #EBEBDB;
|
||||
border: 1px solid #9BB9F5;
|
||||
border-bottom: 0px;
|
||||
height: 40px;
|
||||
padding: 5px;
|
||||
}
|
||||
.icon {
|
||||
-moz-border-radius: 3px;
|
||||
border: 1px solid #EBEBDB;
|
||||
border-radius: 3px;
|
||||
padding: 5px;
|
||||
vertical-align: middle;
|
||||
cursor: pointer;
|
||||
}
|
||||
a.icon:hover {
|
||||
border: 1px solid #9BB9F5;
|
||||
}
|
||||
.toolbarButton {
|
||||
-moz-border-radius: 3px;
|
||||
border: 1px solid #EBEBDB;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
padding: 5px;
|
||||
text-align: center;
|
||||
width: 140px;
|
||||
}
|
||||
a.toolbarButton:hover {
|
||||
border: 1px solid #9BB9F5;
|
||||
}
|
||||
table.tableStyle {
|
||||
width: 600px;
|
||||
}
|
||||
.formStyle {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
border: 1px solid #9BB9F5;
|
||||
border-top: 0px;
|
||||
}
|
||||
|
||||
div.fileinputs {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
div.fakefile {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
input.file {
|
||||
position: relative;
|
||||
text-align: right;
|
||||
-moz-opacity:0 ;
|
||||
filter:alpha(opacity: 0);
|
||||
opacity: 0;
|
||||
z-index: 2;
|
||||
width: 260px;
|
||||
cursor: pointer;
|
||||
}
|
||||
@@ -0,0 +1,620 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
|
||||
<script type="text/javascript">
|
||||
|
||||
String.prototype.replaceAll = function(s1, s2) {
|
||||
return this.replace(new RegExp(s1, "gm"), s2);
|
||||
}
|
||||
String.prototype.replaceAll2Excep = function(s1, s2) {
|
||||
var temp = this;
|
||||
while(temp.indexOf(s1) != -1) {
|
||||
temp = temp.replace(s1, s2);
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
|
||||
function onResizeDocument () {
|
||||
var navName = navigator.appName;
|
||||
var newWidth = null;
|
||||
var tabs;
|
||||
var intWidth = null;
|
||||
var newWidth = null;
|
||||
if(navName == 'Microsoft Internet Explorer'){
|
||||
intWidth = (document.body.clientWidth - 213);
|
||||
}else{
|
||||
intWidth = (document.width - 213);
|
||||
}
|
||||
newWidth = intWidth+"px";
|
||||
tabs = document.getElementsByTagName("table");
|
||||
|
||||
tabs[0].style.width = newWidth;
|
||||
tabs[1].style.width = newWidth;
|
||||
tabs[2].style.width = (intWidth - 20)+"px";
|
||||
tabs[4].style.width = newWidth;
|
||||
tabs[5].style.width = newWidth;
|
||||
tabs[6].style.width = newWidth;
|
||||
tabs[9].style.width = newWidth;
|
||||
tabs[12].style.width = newWidth;
|
||||
}
|
||||
|
||||
function onchangeFileUpload(fileId,fakefileId){
|
||||
var v = document.getElementById(fileId).value;
|
||||
document.getElementById(fakefileId).value=v;
|
||||
}
|
||||
|
||||
function filterReWriteUrl() {
|
||||
var prefix = "http://org.eclipse.ui.intro/runAction?pluginId=org.talend.designer.components.exchange&class=org.talend.designer.components.exchange.ui.actions.FilterExtensionAction&id=org.talend.designer.components.exchange.ui.actions.FilterExtensionAction&text="
|
||||
var jsonObj = document.getElementById("avialable_filter_text").value;
|
||||
var url = prefix + jsonObj;
|
||||
document.getElementById('commit_filter').href = url;
|
||||
}
|
||||
|
||||
function createNewExtensionWriteUrl() {
|
||||
|
||||
|
||||
var prefix = "http://org.eclipse.ui.intro/runAction?pluginId=org.talend.designer.components.exchange&class=org.talend.designer.components.exchange.ui.htmlcontent.MyExtensionAction&id=org.talend.designer.components.exchange.ui.htmlcontent.MyExtensionAction&type=UPLOAD_MY_EXTENSION"
|
||||
|
||||
var label = "label:" + "'" + document.getElementById("extension_label").value + "'";
|
||||
var lastVersionAvailable = "lastVersionAvailable:" + "'" + document.getElementById("lastVersionAvailable").value + "'";
|
||||
var description = "description:" + "'" + document.getElementById("extension_description").value + "'";
|
||||
description = description.replaceAll2Excep("\r\n", "/n/r");
|
||||
|
||||
var checkedType = "";
|
||||
var filtervalue = "";
|
||||
var compatibilities = document.getElementsByName("compatibility");
|
||||
if(compatibilities[0].checked == true) {
|
||||
checkedType = "all"
|
||||
filtervalue = null;
|
||||
} else if(compatibilities[1].checked == true) {
|
||||
checkedType = "older"
|
||||
filtervalue = document.getElementById(checkedType).value;
|
||||
} else if(compatibilities[2].checked == true) {
|
||||
checkedType = "newer"
|
||||
filtervalue = document.getElementById(checkedType).value;
|
||||
} else if(compatibilities[3].checked == true) {
|
||||
checkedType = "except"
|
||||
filtervalue = document.getElementById(checkedType).value;
|
||||
} else if(compatibilities[4].checked == true) {
|
||||
checkedType = "only"
|
||||
filtervalue = document.getElementById(checkedType).value;
|
||||
}
|
||||
|
||||
<!-- validate the createNewExtension text start-->
|
||||
var labelValidate = document.getElementById("extension_label").value;
|
||||
var lastVersionAvailableValidate = document.getElementById("lastVersionAvailable").value;
|
||||
var filename = document.getElementById("filename").value;
|
||||
var isSkipPage = true;
|
||||
if(labelValidate.replace(/\s/g,"")==""){
|
||||
alert("Extension Title is empty");
|
||||
isSkipPage = false;
|
||||
}else if(labelValidate!=labelValidate.replace(/(^\s*)|(\s*$)/g,"")){
|
||||
alert("Extension Title contains incorrect characters!");
|
||||
isSkipPage = false;
|
||||
}else if(labelValidate=="null"){
|
||||
alert("Extension Title can not be null");
|
||||
isSkipPage = false;
|
||||
}else if(lastVersionAvailableValidate.replace(/\s/g,"")==""){
|
||||
alert("Initial Version is empty");
|
||||
isSkipPage = false;
|
||||
}else if(lastVersionAvailableValidate!=lastVersionAvailableValidate.replace(/[^\w\.\/]/ig,'')){
|
||||
alert("Initial Version contains incorrect characters!");
|
||||
isSkipPage = false;
|
||||
}else if(lastVersionAvailableValidate=="null"){
|
||||
alert("Initial Version can not be null");
|
||||
isSkipPage = false;
|
||||
}else if(filename.replace(/\s/g,"")==""){
|
||||
alert("Please input a vaild File path");
|
||||
isSkipPage = false;
|
||||
}
|
||||
|
||||
<!-- validate the createNewExtension text end-->
|
||||
if (isSkipPage == true) {
|
||||
var listVersionCompatibles = "listVersionCompatibles:" + "'" + checkedType + "'";
|
||||
var filter = "filter:" + "'" + filtervalue + "'";
|
||||
var filename = "filename:" + "'" + document.getElementById("filename").value + "'";
|
||||
filename = filename.replaceAll2Excep("\\", "/");
|
||||
var jsonObj = "{" + label + "," + lastVersionAvailable + "," + description + "," + listVersionCompatibles + "," + filter + "," + filename + "}"
|
||||
|
||||
var url = prefix + "&extensionValues=" + jsonObj;
|
||||
document.getElementById('commit').href = url;
|
||||
window.location.href = document.getElementById('commit').href;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function updateReWriteUrl() {
|
||||
|
||||
var prefix = "http://org.eclipse.ui.intro/runAction?pluginId=org.talend.designer.components.exchange&class=org.talend.designer.components.exchange.ui.htmlcontent.MyExtensionAction&id=org.talend.designer.components.exchange.ui.htmlcontent.MyExtensionAction&type=UPDATE_MY_EXTENSION"
|
||||
|
||||
var lastVersionAvailable = "lastVersionAvailable:" + "'" + document.getElementById("lastVersionAvailable_update").value + "'";
|
||||
|
||||
var checkedType = "";
|
||||
var filtervalue = "";
|
||||
var compatibilities = document.getElementsByName("compatibility_update");
|
||||
if(compatibilities[0].checked == true) {
|
||||
checkedType = "all"
|
||||
filtervalue = null;
|
||||
} else if(compatibilities[1].checked == true) {
|
||||
checkedType = "older"
|
||||
filtervalue = document.getElementById(checkedType + "_update").value;
|
||||
} else if(compatibilities[2].checked == true) {
|
||||
checkedType = "newer"
|
||||
filtervalue = document.getElementById(checkedType + "_update").value;
|
||||
} else if(compatibilities[3].checked == true) {
|
||||
checkedType = "except"
|
||||
filtervalue = document.getElementById(checkedType + "_update").value;
|
||||
} else if(compatibilities[4].checked == true) {
|
||||
checkedType = "only"
|
||||
filtervalue = document.getElementById(checkedType + "_update").value;
|
||||
}
|
||||
|
||||
<!-- validate the updateExtension text start-->
|
||||
var lastVersionAvailable_updateValidate = document.getElementById("lastVersionAvailable_update").value;
|
||||
var filename_update = document.getElementById("filename_update").value;
|
||||
var isSkipPage = true;
|
||||
if(lastVersionAvailable_updateValidate.replace(/\s/g,"")==""){
|
||||
alert("New Version is empty");
|
||||
isSkipPage = false;
|
||||
}else if(lastVersionAvailable_updateValidate!=lastVersionAvailable_updateValidate.replace(/[^\w\.\/]/ig,'')){
|
||||
alert("New Version contains incorrect characters!");
|
||||
isSkipPage = false;
|
||||
}else if(lastVersionAvailable_updateValidate=="null"){
|
||||
alert("New Version can not be null");
|
||||
isSkipPage = false;
|
||||
}else if(filename_update.replace(/\s/g,"")==""){
|
||||
alert("Please input a vaild File path");
|
||||
isSkipPage = false;
|
||||
}
|
||||
<!-- validate the updateExtension text end-->
|
||||
|
||||
if (isSkipPage == true) {
|
||||
var listVersionCompatibles = "listVersionCompatibles:" + "'" + checkedType + "'";
|
||||
var filter = "filter:" + "'" + filtervalue + "'";
|
||||
var filename = "filename:" + "'" + document.getElementById("filename_update").value + "'";
|
||||
filename = filename.replaceAll2Excep("\\", "/");
|
||||
var jsonObj = "{" + lastVersionAvailable + "," + listVersionCompatibles + "," + filter + "," + filename + "}"
|
||||
|
||||
var url = prefix + "&extensionValues=" + jsonObj;
|
||||
document.getElementById('commit_update').href = url;
|
||||
window.location.href = document.getElementById('commit_update').href;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function modifyReWriteUrl() {
|
||||
var prefix = "http://org.eclipse.ui.intro/runAction?pluginId=org.talend.designer.components.exchange&class=org.talend.designer.components.exchange.ui.htmlcontent.MyExtensionAction&id=org.talend.designer.components.exchange.ui.htmlcontent.MyExtensionAction&type=MODIFY_MY_EXTENSION"
|
||||
var leabel = "label:" + "'" + document.getElementById("extension_label_modify").value + "'"
|
||||
var description = "description:" + "'" + document.getElementById("extension_description_modify").value + "'"
|
||||
|
||||
|
||||
description = description.replaceAll2Excep("\r\n", "/n/r");
|
||||
var checkedType = "";
|
||||
var filtervalue = "";
|
||||
var compatibilities = document.getElementsByName("compatibility_modify");
|
||||
|
||||
|
||||
if(compatibilities[0].checked == true) {
|
||||
checkedType = "all"
|
||||
filtervalue = null;
|
||||
} else if(compatibilities[1].checked == true) {
|
||||
checkedType = "older"
|
||||
filtervalue = document.getElementById(checkedType + "_modify").value;
|
||||
} else if(compatibilities[2].checked == true) {
|
||||
checkedType = "newer"
|
||||
filtervalue = document.getElementById(checkedType + "_modify").value;
|
||||
} else if(compatibilities[3].checked == true) {
|
||||
checkedType = "except"
|
||||
filtervalue = document.getElementById(checkedType + "_modify").value;
|
||||
} else if(compatibilities[4].checked == true) {
|
||||
checkedType = "only"
|
||||
filtervalue = document.getElementById(checkedType + "_modify").value;
|
||||
}
|
||||
|
||||
var listVersionCompatibles = "listVersionCompatibles:" + "'" + checkedType + "'";
|
||||
var filter = "filter:" + "'" + filtervalue + "'";
|
||||
var jsonObj = "{" + leabel + "," + description + "," + listVersionCompatibles + "," + filter + "}"
|
||||
|
||||
var url = prefix + "&extensionValues=" + jsonObj;
|
||||
|
||||
|
||||
document.getElementById('commit_modify').href = url;
|
||||
}
|
||||
|
||||
//can't use for cycle in the javascript,each time call the length fuction ,get error in document parser
|
||||
function setTab(tabIndex, pageId) {
|
||||
var tli = document.getElementById("menu").getElementsByTagName("li");
|
||||
var mli = document.getElementById("main1").getElementsByTagName("ul");
|
||||
if(tabIndex == 0) {
|
||||
tli[0].className = "hover"
|
||||
tli[1].className = "leave"
|
||||
tli[2].className = "leave"
|
||||
} else if(tabIndex == 1) {
|
||||
tli[0].className = "leave"
|
||||
tli[1].className = "hover"
|
||||
tli[2].className = "leave"
|
||||
} else if(tabIndex == 2) {
|
||||
tli[0].className = "leave"
|
||||
tli[1].className = "leave"
|
||||
tli[2].className = "hover"
|
||||
}
|
||||
if(pageId == mli[0].id) {
|
||||
mli[0].className = "ulblock"
|
||||
mli[1].className = "ulhide"
|
||||
mli[2].className = "ulhide"
|
||||
mli[3].className = "ulhide"
|
||||
mli[4].className = "ulhide"
|
||||
mli[5].className = "ulhide"
|
||||
mli[6].className = "ulhide"
|
||||
} else if(pageId == mli[1].id) {
|
||||
mli[0].className = "ulhide"
|
||||
mli[1].className = "ulblock"
|
||||
mli[2].className = "ulhide"
|
||||
mli[3].className = "ulhide"
|
||||
mli[4].className = "ulhide"
|
||||
mli[5].className = "ulhide"
|
||||
mli[6].className = "ulhide"
|
||||
} else if(pageId == mli[2].id) {
|
||||
mli[0].className = "ulhide"
|
||||
mli[1].className = "ulhide"
|
||||
mli[2].className = "ulblock"
|
||||
mli[3].className = "ulhide"
|
||||
mli[4].className = "ulhide"
|
||||
mli[5].className = "ulhide"
|
||||
mli[6].className = "ulhide"
|
||||
} else if(pageId == mli[3].id) {
|
||||
mli[0].className = "ulhide"
|
||||
mli[1].className = "ulhide"
|
||||
mli[2].className = "ulhide"
|
||||
mli[3].className = "ulblock"
|
||||
mli[4].className = "ulhide"
|
||||
mli[5].className = "ulhide"
|
||||
mli[6].className = "ulhide"
|
||||
} else if(pageId == mli[4].id) {
|
||||
mli[0].className = "ulhide"
|
||||
mli[1].className = "ulhide"
|
||||
mli[2].className = "ulhide"
|
||||
mli[3].className = "ulhide"
|
||||
mli[4].className = "ulblock"
|
||||
mli[5].className = "ulhide"
|
||||
mli[6].className = "ulhide"
|
||||
} else if(pageId == mli[5].id) {
|
||||
mli[0].className = "ulhide"
|
||||
mli[1].className = "ulhide"
|
||||
mli[2].className = "ulhide"
|
||||
mli[3].className = "ulhide"
|
||||
mli[4].className = "ulhide"
|
||||
mli[5].className = "ulblock"
|
||||
mli[6].className = "ulhide"
|
||||
} else if(pageId == mli[6].id) {
|
||||
mli[0].className = "ulhide"
|
||||
mli[1].className = "ulhide"
|
||||
mli[2].className = "ulhide"
|
||||
mli[3].className = "ulhide"
|
||||
mli[4].className = "ulhide"
|
||||
mli[5].className = "ulhide"
|
||||
mli[6].className = "ulblock"
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
<link rel="stylesheet" href="css/exchange.css" type="text/css" media="screen" title="no title" charset="utf-8"/>
|
||||
</head>
|
||||
<body onresize="onResizeDocument()" onload="onResizeDocument()" >
|
||||
<div id="container">
|
||||
<div class="menu" id="menu">
|
||||
<ul id="ul_menu">
|
||||
<li class="hover" id="tab1" onclick="setTab(0,'list_available_extensions')">
|
||||
Available Extensions
|
||||
</li>
|
||||
<li id="tab2" onclick="setTab(1,'downloaded_extensions')">
|
||||
Downloaded Extensions
|
||||
</li>
|
||||
<li id="tab3" onclick="setTab(2,'list_my_extensions')">
|
||||
My Extensions
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="main1" id="main1">
|
||||
<!-- available extension list -->
|
||||
<ul class="ulhide" id="list_available_extensions">
|
||||
<li>
|
||||
<table align="center" cellpadding="0" cellspacing="0" class="tableStyle">
|
||||
<tr align="right">
|
||||
<td colspan="5" class="toolbar">
|
||||
<input id="avialable_filter_text" name="avialable_filter_text" type="text" />
|
||||
<a class="icon" href="http://org.eclipse.ui.intro/runAction?pluginId=org.talend.designer.components.exchange&class=org.talend.designer.components.exchange.ui.actions.FilterExtensionAction&id=org.talend.designer.components.exchange.ui.actions.FilterExtensionAction&text=" id="commit_filter"><img onmouseover="filterReWriteUrl()" src="imgs/refresh.gif"/> </a></td>
|
||||
</tr>
|
||||
<div id="INSERT_EXTENSION_DATA" xmlns="">
|
||||
<contentProvider id="INSERT_EXTENSION_DATA" class="org.talend.designer.components.exchange.ui.htmlcontent.AvailableCompositeProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- extension details -->
|
||||
<ul class="ulblock" id="extension_details">
|
||||
<li>
|
||||
<table align="center" cellpadding="0" cellspacing="0" class="tableStyle" style="border: 1px solid #9BB9F5;" >
|
||||
<tr align="left">
|
||||
<td class="toolbar" colspan="5" style="border:0px;border-bottom:1px solid #9BB9F5;"><a class="icon"><img onclick="setTab(0,'list_available_extensions')" src="imgs/backward_nav.gif"/></a></td>
|
||||
</tr>
|
||||
<tr align="center">
|
||||
<td>
|
||||
<div id="div_name_part">
|
||||
<div id="LEFT_NAME_PART" xmlns="">
|
||||
<contentProvider id="LEFT_NAME_PART" class="org.talend.designer.components.exchange.ui.htmlcontent.ExchangeContentProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr align="left" valign="top">
|
||||
<td valign="top">
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td width="75%">
|
||||
<div class="compDesc" id="component_description_part">
|
||||
<div id="COMPONENT_DESCRIPTION" xmlns="">
|
||||
<contentProvider id="COMPONENT_DESCRIPTION" class="org.talend.designer.components.exchange.ui.htmlcontent.ExchangeContentProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td width="25%">
|
||||
<div class="compImg" id="component_Image_part">
|
||||
<table align="center" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<div id="GET_EXTENSION_IMAGE" xmlns="">
|
||||
<contentProvider id="GET_EXTENSION_IMAGE" class="org.talend.designer.components.exchange.ui.htmlcontent.ExchangeContentProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div id="RATE_IMANGE" xmlns="">
|
||||
<contentProvider id="RATE_IMANGE" class="org.talend.designer.components.exchange.ui.htmlcontent.ExchangeContentProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div id="INSTALL_COMPONENT" xmlns="">
|
||||
<contentProvider id="INSTALL_COMPONENT" class="org.talend.designer.components.exchange.ui.htmlcontent.ExchangeContentProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="userreview">User Reviews </td>
|
||||
<td>
|
||||
<div id="WRITE_REVIEWS" xmlns="">
|
||||
<contentProvider id="WRITE_REVIEWS" class="org.talend.designer.components.exchange.ui.htmlcontent.ExchangeContentProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="reviews" id="component_reviews_part">
|
||||
<div id="EXTENSION_REVIEWS" xmlns=""/>
|
||||
<contentProvider id="EXTENSION_REVIEWS" class="org.talend.designer.components.exchange.ui.htmlcontent.ExchangeContentProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!--downloaded extensions page -->
|
||||
<ul class="ulhide" id="downloaded_extensions">
|
||||
<li>
|
||||
<table align="center" cellpadding="0" cellspacing="0" class="tableStyle">
|
||||
<tr align="left">
|
||||
<td class="toolbar" colspan="5" style="border-bottom:0px solid #9BB9F5;"><a class="icon"><img onclick="setTab(2,'list_my_extensions')" src="imgs/backward_nav.gif"/></a></td>
|
||||
</tr>
|
||||
<div id="DOWNLOADEXTENSION_DATA" xmlns="">
|
||||
<contentProvider id="DOWNLOADEXTENSION_DATA" class="org.talend.designer.components.exchange.ui.htmlcontent.DownloadExtensionProvider" pluginId="org.talend.designer.components.exchange"> </contentProvider>
|
||||
</div>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- my extension list -->
|
||||
<ul class="ulhide" id="list_my_extensions">
|
||||
<li>
|
||||
<table align="center" cellpadding="0" cellspacing="0" id="table" class="tableStyle">
|
||||
<tr align="right">
|
||||
<td class="toolbar" colspan="5">
|
||||
<a onclick="setTab(2,'creat_new_extension')" class="toolbarButton">
|
||||
Add New Extension
|
||||
</a></td>
|
||||
</tr>
|
||||
<div id="LIST_MY_EXTENSION" xmlns="">
|
||||
<contentProvider id="LIST_MY_EXTENSION" class="org.talend.designer.components.exchange.ui.htmlcontent.MyExchangeContentProvider" pluginId="org.talend.designer.components.exchange"/>
|
||||
</div>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- create new extension -->
|
||||
<ul class="ulhide" id="creat_new_extension">
|
||||
<li>
|
||||
<table align="center" cellpadding="0" cellspacing="0" id="tab_creat_new_extension" class="tableStyle">
|
||||
<tr align="left">
|
||||
<td class="toolbar" colspan="5" style="border-bottom:1px solid #9BB9F5;"><a class="icon"><img onclick="setTab(2,'list_my_extensions')" src="imgs/backward_nav.gif"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 0px">
|
||||
<div class="formStyle">
|
||||
<table>
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px;font-weight:bold;"> Add New Extension </span></td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px;"> Extension Title: </span></td>
|
||||
<td width="100%"><input id="extension_label" name="extension_label" style="width:230px;margin-left:5px" type="text"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px"> Initial Version: </span></td>
|
||||
<td><input id="lastVersionAvailable" name="lastVersionAvailable" style="width:100px;margin-left:5px" type="text"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap" valign="top"><span style="margin-left:10px;"> Compatibility: </span></td>
|
||||
<td>
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
<tr ><td><input checked="checked" name="compatibility" type="radio"/></td><td>All versions</td><td></td></tr>
|
||||
<tr><td><input name="compatibility" type="radio"/></td><td nowrap="nowrap">Version and older:</td><td width="100%"><input id="older" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility" type="radio"/></td><td nowrap="nowrap">Versions and newer:</td><td><input id="newer" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility" type="radio"/></td><td nowrap="nowrap">All versions except:</td><td><input id="except" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility" type="radio"/></td><td nowrap="nowrap">Only these versions:</td><td><input id="only" style="width:100%;" type="text"/></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap" valign="top"><span style="margin-left:10px;"> Description: </span></td>
|
||||
<td><textarea id="extension_description" name="extension_description" style="width:100%;height:100px;margin-left:5px" type="text"> </textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px;"> File: </span></td>
|
||||
<td>
|
||||
<div class="fileinputs" style="margin-left:3px;">
|
||||
<input id="filename" name="filename" type="file" class="file myFileUpload" onchange="onchangeFileUpload('filename','fake_filename')" style="cursor: pointer" />
|
||||
<div class="fakefile" style="cursor: pointer; width: 260px">
|
||||
<input id="fake_filename" style="cursor: pointer; width: 230px" class="myFileUpload"/>
|
||||
<img src="imgs/upload.png" style="cursor: pointer"/>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td ></td>
|
||||
<td>
|
||||
<a class="xh" href="" id="commit" style="margin-left:5px;">
|
||||
<button onclick="createNewExtensionWriteUrl()" style="width: 176px">
|
||||
Add Extension
|
||||
</button>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- update extension -->
|
||||
<ul class="ulblock" id="upload_extension_version">
|
||||
<li>
|
||||
<table align="center" cellpadding="0" cellspacing="0" class="tableStyle" id="tab_upload_extension_version">
|
||||
<tr align="left">
|
||||
<td class="toolbar" colspan="5" style="border-bottom:1px solid #9BB9F5;"><a class="icon"><img onclick="setTab(2,'list_my_extensions')" src="imgs/backward_nav.gif"/></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 0px">
|
||||
<div class="formStyle">
|
||||
<table>
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px;font-weight:bold;"> Upload New Version </span></td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px"> New Version: </span></td>
|
||||
<td><contentProvider id="LAST_AVAILABLE_VERSION" class="org.talend.designer.components.exchange.ui.htmlcontent.MyExchangeContentProvider" pluginId="org.talend.designer.components.exchange"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap" valign="top"><span style="margin-left:10px;"> Compatibility: </span></td>
|
||||
<td>
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
<tr ><td><input checked="checked" name="compatibility_update" type="radio"/></td><td>All versions</td><td></td></tr>
|
||||
<tr><td><input name="compatibility_update" type="radio"/></td><td nowrap="nowrap">Version and older:</td><td width="100%"><input id="older_update" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility_update" type="radio"/></td><td nowrap="nowrap">Versions and newer:</td><td><input id="newer_update" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility_update" type="radio"/></td><td nowrap="nowrap">All versions except:</td><td><input id="except_update" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility_update" type="radio"/></td><td nowrap="nowrap">Only these versions:</td><td><input id="only_update" style="width:100%;" type="text"/></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px;"> File: </span></td>
|
||||
<td>
|
||||
<div class="fileinputs" style="margin-left:3px;">
|
||||
<input id="filename_update" name="filename" type="file" class="file myFileUpload" onchange="onchangeFileUpload('filename_update','fake_filename_update')" style="cursor: pointer" /> <div class="fakefile" style="cursor: pointer; width: 260px">
|
||||
<input id="fake_filename_update" style="cursor: pointer; width: 230px" class="myFileUpload"/>
|
||||
<img src="imgs/upload.png" style="cursor: pointer"/>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td ></td>
|
||||
<td>
|
||||
<a class="xh" href="" id="commit_update" style="margin-left:5px;">
|
||||
<button onclick="updateReWriteUrl()" style="width: 176px">
|
||||
Upload Extension
|
||||
</button>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- modify myextension -->
|
||||
<ul class="ulblock" id="modify_my_extension_page">
|
||||
<li>
|
||||
<table align="center" border="0" cellpadding="0" cellspacing="0" id="tab_modify_my_extension_page" class="tableStyle">
|
||||
<tr align="left">
|
||||
<td class="toolbar" colspan="5" style="border-bottom:1px solid #9BB9F5;"><a class="icon"><img onclick="setTab(2,'list_my_extensions')" src="imgs/backward_nav.gif" /></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding: 0px">
|
||||
|
||||
<table style="border: 1px solid #9BB9F5; border-top: 0px">
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px;font-weight:bold;"> Modify Last Revision </span></td>
|
||||
<td width="100%"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap"><span style="margin-left:10px;"> Extension Title: </span></td>
|
||||
<td width="100%"><contentProvider id="EXTENSION_LABEL" class="org.talend.designer.components.exchange.ui.htmlcontent.MyExchangeContentProvider" pluginId="org.talend.designer.components.exchange"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap" valign="top"><span style="margin-left:10px;"> Compatibility: </span></td>
|
||||
<td>
|
||||
<table cellpadding="0" cellspacing="0">
|
||||
<tr ><td><input checked="checked" name="compatibility_modify" type="radio"/></td><td>All versions</td><td></td></tr>
|
||||
<tr><td><input name="compatibility_modify" type="radio"/></td><td nowrap="nowrap">Version and older:</td><td width="100%"><input id="older_modify" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility_modify" type="radio"/></td><td nowrap="nowrap">Versions and newer:</td><td><input id="newer_modify" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility_modify" type="radio"/></td><td nowrap="nowrap">All versions except:</td><td><input id="except_modify" style="width:100%;" type="text"/></td></tr>
|
||||
<tr><td><input name="compatibility_modify" type="radio"/></td><td nowrap="nowrap">Only these versions:</td><td><input id="only_modify" style="width:100%;" type="text"/></td></tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td nowrap="nowrap" valign="top"><span style="margin-left:10px;"> Description: </span></td>
|
||||
<td><textarea id="extension_description_modify" name="extension_description" style="width:100%;height:100px;margin-left:5px" type="text"> </textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>
|
||||
<a class="xh" href="" id="commit_modify" style="margin-left:5px;">
|
||||
<button onclick="window.location.href=document.getElementById('commit_modify').href" onmouseover="modifyReWriteUrl()" style="width: 176px">
|
||||
Modify Last Revision
|
||||
</button>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 327 B |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 360 B |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 225 B |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 330 B |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 56 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 746 B |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 350 B |
|
After Width: | Height: | Size: 952 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.5 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 210 B |
|
After Width: | Height: | Size: 330 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 128 B |
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ecore:EPackage xmi:version="2.0"
|
||||
xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="model"
|
||||
nsURI="exchange" nsPrefix="exchange">
|
||||
<eClassifiers xsi:type="ecore:EEnum" name="Language">
|
||||
<eLiterals name="PERL" value="1"/>
|
||||
<eLiterals name="JAVA" value="2"/>
|
||||
</eClassifiers>
|
||||
<eClassifiers xsi:type="ecore:EClass" name="Category">
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="categoryId" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="categoryName" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
</eClassifiers>
|
||||
<eClassifiers xsi:type="ecore:EClass" name="VersionRevision">
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="versionId" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="versionName" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
</eClassifiers>
|
||||
<eClassifiers xsi:type="ecore:EClass" name="ComponentExtension">
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="idExtension" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="label" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="typeExtension" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="versionExtension" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lastVersionAvailable" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="publicationDate" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="rate" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="author" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1"
|
||||
eType="#//Language" defaultValueLiteral=""/>
|
||||
<eStructuralFeatures xsi:type="ecore:EReference" name="reviews" lowerBound="1"
|
||||
upperBound="-1" eType="#//AvailableExtensionViewDetail" containment="true"
|
||||
eOpposite="#//AvailableExtensionViewDetail/extension"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="downloadedVersion" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="dateDownload" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDate"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="listVersionCompatibles"
|
||||
lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="filename" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="linkDownload" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
</eClassifiers>
|
||||
<eClassifiers xsi:type="ecore:EClass" name="AvailableExtensionViewDetail">
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="author" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="title" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="comment" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EAttribute" name="reviewrate" lowerBound="1"
|
||||
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
|
||||
<eStructuralFeatures xsi:type="ecore:EReference" name="extension" lowerBound="1"
|
||||
eType="#//ComponentExtension" eOpposite="#//ComponentExtension/reviews"/>
|
||||
</eClassifiers>
|
||||
</ecore:EPackage>
|
||||
@@ -0,0 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<genmodel:GenModel xmi:version="2.0"
|
||||
xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
|
||||
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="// ============================================================================
//
// Copyright (C) 2006-2019 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
//
// ============================================================================"
|
||||
modelDirectory="/org.talend.designer.components.exchange/src/main/java" editDirectory="/org.talend.designer.components.exchange.edit/src"
|
||||
editorDirectory="/org.talend.designer.components.exchange.editor/src" modelPluginID="org.talend.designer.components.exchange"
|
||||
modelName="Exchange" importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0"
|
||||
copyrightFields="false" editPluginID="org.talend.designer.components.exchange.edit"
|
||||
editorPluginID="org.talend.designer.components.exchange.editor">
|
||||
<foreignModel>exchange.ecore</foreignModel>
|
||||
<genPackages prefix="Exchange" basePackage="org.talend.designer.components.exchange"
|
||||
disposableProviderFactory="true" ecorePackage="exchange.ecore#/">
|
||||
<genEnums typeSafeEnumCompatible="false" ecoreEnum="exchange.ecore#//Language">
|
||||
<genEnumLiterals ecoreEnumLiteral="exchange.ecore#//Language/PERL"/>
|
||||
<genEnumLiterals ecoreEnumLiteral="exchange.ecore#//Language/JAVA"/>
|
||||
</genEnums>
|
||||
<genClasses ecoreClass="exchange.ecore#//Category">
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//Category/categoryId"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//Category/categoryName"/>
|
||||
</genClasses>
|
||||
<genClasses ecoreClass="exchange.ecore#//VersionRevision">
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//VersionRevision/versionId"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//VersionRevision/versionName"/>
|
||||
</genClasses>
|
||||
<genClasses ecoreClass="exchange.ecore#//ComponentExtension">
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/idExtension"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/label"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/typeExtension"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/versionExtension"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/lastVersionAvailable"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/publicationDate"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/description"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/rate"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/author"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/language"/>
|
||||
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference exchange.ecore#//ComponentExtension/reviews"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/downloadedVersion"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/dateDownload"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/listVersionCompatibles"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/filename"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//ComponentExtension/linkDownload"/>
|
||||
</genClasses>
|
||||
<genClasses ecoreClass="exchange.ecore#//AvailableExtensionViewDetail">
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//AvailableExtensionViewDetail/author"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//AvailableExtensionViewDetail/title"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//AvailableExtensionViewDetail/comment"/>
|
||||
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute exchange.ecore#//AvailableExtensionViewDetail/reviewrate"/>
|
||||
<genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference exchange.ecore#//AvailableExtensionViewDetail/extension"/>
|
||||
</genClasses>
|
||||
</genPackages>
|
||||
</genmodel:GenModel>
|
||||
@@ -0,0 +1,5 @@
|
||||
Exchange=Exchange
|
||||
DownloadComponenentsAction.Label=Download Selected Components
|
||||
RefreshComponenentsAction.Label=Refresh Components List
|
||||
providerName=www.example.org
|
||||
pluginName=Exchange Model
|
||||
@@ -0,0 +1,38 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?eclipse version="3.4"?>
|
||||
<plugin>
|
||||
<extension
|
||||
point="org.talend.core.components_provider">
|
||||
<ComponentsProvider
|
||||
class="org.talend.designer.components.exchange.ExchangeComponentsProvider"
|
||||
folderName="exchange"
|
||||
id="org.talend.designer.components.exchange.ExchangeComponentsProvider">
|
||||
</ComponentsProvider>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.talend.core.components_provider">
|
||||
<ComponentsProvider
|
||||
class="org.talend.designer.components.exchange.SharedStudioExchangeComponentsProvider"
|
||||
folderName="exchange"
|
||||
id="org.talend.designer.components.exchange.SharedStudioExchangeComponentsProvider">
|
||||
</ComponentsProvider>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.talend.core.runtime.service">
|
||||
<Service
|
||||
class="org.talend.designer.components.exchange.ui.dialog.ExchangeService"
|
||||
serviceId="IExchangeService">
|
||||
</Service>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.editors">
|
||||
<editor
|
||||
class="org.talend.designer.components.exchange.ui.views.ExchangeView"
|
||||
default="false"
|
||||
icon="icons/exchange_view.png"
|
||||
id="org.talend.designer.components.exchange.ui.views.ExchangeView"
|
||||
name="Exchange">
|
||||
</editor>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
@@ -0,0 +1,3 @@
|
||||
DownloadComponenentsAction.Label=Lade ausgew\u00E4hlte Komponente
|
||||
RefreshComponenentsAction.Label=Komponentenliste aktualisieren
|
||||
providerName=www.beispiel.de
|
||||
@@ -0,0 +1 @@
|
||||
providerName=www.example.org
|
||||
@@ -0,0 +1,5 @@
|
||||
Exchange=Exchange
|
||||
DownloadComponenentsAction.Label=\u9078\u629E\u3057\u305F\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9
|
||||
RefreshComponenentsAction.Label=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u30EA\u30B9\u30C8\u3092\u66F4\u65B0
|
||||
providerName=www.example.org
|
||||
pluginName=Exchange\u30E2\u30C7\u30EB
|
||||
@@ -0,0 +1,3 @@
|
||||
DownloadComponenentsAction.Label=\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u044B
|
||||
RefreshComponenentsAction.Label=\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0441\u043F\u0438\u0441\u043E\u043A \u043A\u043E\u043C\u043F\u043E\u043D\u0435\u043D\u0442\u043E\u0432
|
||||
providerName=www.example.org
|
||||
@@ -0,0 +1,5 @@
|
||||
Exchange=Exchange
|
||||
DownloadComponenentsAction.Label=Download Selected Components
|
||||
RefreshComponenentsAction.Label=Refresh Componenents List
|
||||
providerName=www.example.org
|
||||
pluginName = Exchange Model
|
||||
12
main/plugins/org.talend.designer.components.exchange/pom.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>org.talend.studio</groupId>
|
||||
<artifactId>tdi-studio-se</artifactId>
|
||||
<version>8.8.8-SNAPSHOT</version>
|
||||
<relativePath>../../../</relativePath>
|
||||
</parent>
|
||||
<artifactId>org.talend.designer.components.exchange</artifactId>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
</project>
|
||||
@@ -0,0 +1,101 @@
|
||||
ExchangeView.Exchange=Exchange
|
||||
AvailableExtensionsComposite.ExtensionName=Extension Name
|
||||
AvailableExtensionsComposite.Version=Version
|
||||
AvailableExtensionsComposite.Rating=Rating
|
||||
AvailableExtensionsComposite.Author=Author
|
||||
AvailableExtensionsComposite.FilterTitle=Filter
|
||||
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Install
|
||||
AvailableExtensionsComposite.ViewDetail.WriteReview=Write a review
|
||||
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailure=Insertion Review failure.
|
||||
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailureTip=You should check it.
|
||||
DownloadedExtensionsComposite.ExtensionName=Extension Name
|
||||
DownloadedExtensionsComposite.DownloadedVersion=Downloaded Version
|
||||
DownloadedExtensionsComposite.DownloadDate=Download Date
|
||||
DownloadedExtensionsComposite.OperateStatus=Operate Status
|
||||
DownloadedExtensionsComposite.installOperateStatus=Install
|
||||
DownloadedExtensionsComposite.installedOperateStatus=Installed
|
||||
DownloadedExtensionsComposite.updateOperateStatus=Update
|
||||
MyExtensionsComposite.ExtensionName=Extension Name
|
||||
MyExtensionsComposite.Version=Version
|
||||
MyExtensionsComposite.UploadDate=Upload Date
|
||||
MyExtensionsComposite.AddNewExtensionTitle=Add New Extension
|
||||
MyExtensionsComposite.UpLoadNewVersionOperateStatus=Upload New Version
|
||||
MyExtensionsComposite.UpdateOperateStatus=Update
|
||||
MyExtensionsComposite.ModifyOperateStatus=Modify
|
||||
MyExtensionsComposite.DeleteOperateStatus=Delete
|
||||
MyExtensionsComposite.Form.Return=Return
|
||||
MyExtensionsComposite.Form.ExtensionTitle=Extension Title
|
||||
MyExtensionsComposite.Form.InitialVersion=Initial Version
|
||||
MyExtensionsComposite.Form.Compatibility=Compatibility
|
||||
MyExtensionsComposite.Form.Compatibility.AllVersions=All versions
|
||||
MyExtensionsComposite.Form.Compatibility.Version=Version
|
||||
MyExtensionsComposite.Form.Compatibility.AndOlder=and older
|
||||
MyExtensionsComposite.Form.Compatibility.AndNewer=and newer
|
||||
MyExtensionsComposite.Form.Compatibility.AllVersionsExcept=All versions except:
|
||||
MyExtensionsComposite.Form.Compatibility.OnlyTheseVersions=Only these versions:
|
||||
MyExtensionsComposite.Form.Description=Description
|
||||
MyExtensionsComposite.Form.Visibility=Visibility
|
||||
MyExtensionsComposite.Form.Visibility.Public=Public(visible by all)
|
||||
MyExtensionsComposite.Form.Visibility.Private=Private(visible by me)
|
||||
MyExtensionsComposite.Form.Upload=Upload
|
||||
MyExtensionsComposite.Form.Upload.SelectAnItem=Select an item from the currently open project
|
||||
MyExtensionsComposite.Form.Upload.File=File:
|
||||
MyExtensionsComposite.Form.Upload.Browse=Browse...
|
||||
MyExtensionsComposite.Form.Upload.Browse.SelectFile=Select a File of the extension to upload
|
||||
MyExtensionsComposite.Form.DeleteExtensionTile=Delete Extension
|
||||
MyExtensionsComposite.Form.DeleteExtensionMessage=Are you sure you want to delete this Extension?
|
||||
MyExtensionsComposite.Form.UploadExtension=Upload Extension
|
||||
MyExtensionsComposite.Form.UpdateExtension=Update Extension
|
||||
MyExtensionsComposite.Form.ModifyExtension=Modify Extension
|
||||
Exchange.logon.error=Exchange user have not been registered, please register using the preferences .
|
||||
RefreshJob.FindExtensions.Title=Finding available extensions
|
||||
RefreshJob.FindExtensions.Message=Finding extensions from exchange...
|
||||
ShowContributedExtensionsJob.ShowContributedExtensions.Title=Finding contributed extensions
|
||||
ShowContributedExtensionsJob.ShowContributedExtensions.Message=Finding contributed extensions from exchange...
|
||||
ShowInstalledExtensionsJob.ShowInstalledExtensions.Title=Finding installed extensions
|
||||
ShowInstalledExtensionsJob.ShowInstalledExtensions.Message=Finding installed extensions from exchange...
|
||||
DeleteExtensionJob.DeleteExtensionJob.Title=Delete an extension...
|
||||
DeleteExtensionJob.DeleteExtensionJob.Message=Delete an extension...
|
||||
DeleteExtensionJob.DeleteFailure=Delete failure.
|
||||
DeleteExtensionJob.DeleteFailureTip=You should check it.
|
||||
ModifyExtensionJob.Title=Modify an extension...
|
||||
ModifyExtensionJob.Message=Modify an extension...
|
||||
ModifyExtensionJob.ModifyFailure=Modify failure.
|
||||
ModifyExtensionJob.ModifyFailureTip=You should check it.
|
||||
InstalledExtensionJob.Title=Installed an extension...
|
||||
InstalledExtensionJob.Message=Installed an extension...
|
||||
InsertionExtensionAction.InstalledFailure=Installed failure.
|
||||
InsertionExtensionAction.InstalledFailureTip=You should check it.
|
||||
UploadRevisionJob.Title=Upload Revision...
|
||||
UploadRevisionJob.Message=Upload Revision...
|
||||
UploadRevisionAction.InstalledFailure=Upload Revision failure.
|
||||
UploadRevisionAction.InstalledFailureTip=You should check it.
|
||||
DownloadComponenentsAction_restartMessage=Install the new component successfully, but need to restart studio to load it, do you want to restart now?
|
||||
DownloadComponenentsAction_restartTitle=Need restart
|
||||
DownloadComponenentsAction_failureTitle=Failure
|
||||
DownloadComponenentsAction_failureMessage=Fail to install the component {0}, need check the component is valid or not.
|
||||
DownloadComponenentsAction.installExchange=Install Exchange Components
|
||||
DownloadComponenentsAction.DownloadTaskTitle=Downloading files from Exchange
|
||||
DownloadComponenentsAction.DownloadTaskName=Downloading file from url:
|
||||
DownloadComponenentsAction.ReloadPalette=Reloading palette...
|
||||
DownloadComponenentsAction.DownloadFailure=Download failure.
|
||||
DownloadComponenentsAction.DownloadFailureTip=You must change the Download Settings.
|
||||
DownloadComponenentsAction.installComponentsTitle=Install components
|
||||
ExchangeWebService.insertionExtensionSuccessful=Insertion Extension successful.
|
||||
ExchangeWebService.downloadingExtensionSuccessful=Downloaded Extension successful.
|
||||
ExchangeWebService.deleteExtensionSuccessful=Deleted Extension successful.
|
||||
ExchangeWebService.insertReviewSuccessful=Insertion Review successful.
|
||||
ExchangeWebService.updateRevisionSuccessful=Update Revision successful.
|
||||
ExchangeWebService.insertionRevisionSuccessful=Insertion Revision successful.
|
||||
ImportExchangeDialog.dialogTitle=Select an item from Talend Exchange
|
||||
ImportExchangeDialog.WARNING=WARNING
|
||||
ImportExchangeDialog.NOTSELECTWARNING=Please select one item from table.
|
||||
ImportExchangeDialog.downloadProgressBar=Download Item,Please Wait\!
|
||||
ImportExchangeDialog.EXTENSION_NAME=Extension Name
|
||||
ImportExchangeDialog.AUTHOR_NAME=Author Name
|
||||
ImportExchangeDialog.LATEST_REVISION=Latest Revision
|
||||
ImportExchangeDialog.EXTENSION_DESCRIPTION=Extension Description
|
||||
ImportExchangeDialog.download.extensions=Download extensions\! Please Wait\!
|
||||
ImportExchangeDialog.REFRESH_BUTTON=Refresh
|
||||
ImportExchangeDialog.REFRESHING_PROGRESSBAR=Refreshing\! Please Wait.....
|
||||
ImportExchangeDialog.OPERATION_CANCELLED=Operation was cancelled
|
||||
@@ -0,0 +1,19 @@
|
||||
AvailableExtensionsComposite.Author=Autor
|
||||
AvailableExtensionsComposite.FilterTitle=Filter
|
||||
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Installieren
|
||||
AvailableExtensionsComposite.ViewDetail.WriteReview=Bericht schreiben
|
||||
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailureTip=Sie sollten es pr\u00FCfen.
|
||||
DownloadedExtensionsComposite.installedOperateStatus=Installiert
|
||||
DownloadedExtensionsComposite.updateOperateStatus=Update
|
||||
MyExtensionsComposite.UpdateOperateStatus=Update
|
||||
MyExtensionsComposite.ModifyOperateStatus=Modifiziere
|
||||
MyExtensionsComposite.DeleteOperateStatus=L\u00F6schen
|
||||
MyExtensionsComposite.Form.Description=Beschreibung
|
||||
MyExtensionsComposite.Form.Upload.Browse=Durchsuchen...
|
||||
DeleteExtensionJob.DeleteFailure=L\u00F6schung fehlgeschlagen
|
||||
DeleteExtensionJob.DeleteFailureTip=Sie sollten es pr\u00FCfen.
|
||||
DownloadComponenentsAction.DownloadTaskName=Lade Datei von URL:
|
||||
ImportExchangeDialog.WARNING=Warnung
|
||||
ImportExchangeDialog.AUTHOR_NAME=Name des Autors
|
||||
ImportExchangeDialog.LATEST_REVISION=Aktuellste Revision
|
||||
ImportExchangeDialog.OPERATION_CANCELLED=Operation wurde abgebrochen
|
||||
@@ -0,0 +1,8 @@
|
||||
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Instalar
|
||||
AvailableExtensionsComposite.ViewDetail.WriteReview=Escribir un comentario
|
||||
DownloadedExtensionsComposite.installOperateStatus=Instalar
|
||||
MyExtensionsComposite.ModifyOperateStatus=Modificar
|
||||
MyExtensionsComposite.DeleteOperateStatus=Borrar
|
||||
MyExtensionsComposite.Form.Description=Descripci\u00F3n
|
||||
ImportExchangeDialog.WARNING=Advertencia
|
||||
ImportExchangeDialog.REFRESH_BUTTON=Actualizar
|
||||
@@ -0,0 +1,17 @@
|
||||
AvailableExtensionsComposite.Version=Versione
|
||||
AvailableExtensionsComposite.Author=Autore
|
||||
AvailableExtensionsComposite.FilterTitle=Filtro
|
||||
DownloadedExtensionsComposite.installedOperateStatus=Installato
|
||||
DownloadedExtensionsComposite.updateOperateStatus=Aggiornato
|
||||
MyExtensionsComposite.Version=Versione
|
||||
MyExtensionsComposite.UpdateOperateStatus=Aggiornato
|
||||
MyExtensionsComposite.DeleteOperateStatus=Cancellare
|
||||
MyExtensionsComposite.Form.Compatibility.Version=Versione
|
||||
MyExtensionsComposite.Form.Description=Descrizione
|
||||
MyExtensionsComposite.Form.Upload=Carica
|
||||
MyExtensionsComposite.Form.Upload.Browse=Naviga...
|
||||
ImportExchangeDialog.dialogTitle=Seleziona oggetto da Talend Exchange
|
||||
ImportExchangeDialog.WARNING=Avvertimento
|
||||
ImportExchangeDialog.LATEST_REVISION=Ultima Revisione
|
||||
ImportExchangeDialog.EXTENSION_DESCRIPTION=Descrizione estensione
|
||||
ImportExchangeDialog.REFRESH_BUTTON=Aggiorna
|
||||
@@ -0,0 +1,101 @@
|
||||
ExchangeView.Exchange=Exchange
|
||||
AvailableExtensionsComposite.ExtensionName=\u62E1\u5F35\u5B50\u540D
|
||||
AvailableExtensionsComposite.Version=\u30D0\u30FC\u30B8\u30E7\u30F3
|
||||
AvailableExtensionsComposite.Rating=\u8A55\u4FA1
|
||||
AvailableExtensionsComposite.Author=\u4F5C\u6210\u8005
|
||||
AvailableExtensionsComposite.FilterTitle=\u30D5\u30A3\u30EB\u30BF\u30FC
|
||||
AvailableExtensionsComposite.ViewDetail.installOperateStatus=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
|
||||
AvailableExtensionsComposite.ViewDetail.WriteReview=\u518D\u8ABF\u67FB\u306E\u66F8\u304D\u8FBC\u307F
|
||||
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailure=Review\u633F\u5165\u5931\u6557\u3002
|
||||
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailureTip=\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
DownloadedExtensionsComposite.ExtensionName=\u62E1\u5F35\u5B50\u540D
|
||||
DownloadedExtensionsComposite.DownloadedVersion=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30D0\u30FC\u30B8\u30E7\u30F3
|
||||
DownloadedExtensionsComposite.DownloadDate=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u65E5\u4ED8
|
||||
DownloadedExtensionsComposite.OperateStatus=\u30B9\u30C6\u30FC\u30BF\u30B9\u64CD\u4F5C
|
||||
DownloadedExtensionsComposite.installOperateStatus=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
|
||||
DownloadedExtensionsComposite.installedOperateStatus=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u6E08\u307F
|
||||
DownloadedExtensionsComposite.updateOperateStatus=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
|
||||
MyExtensionsComposite.ExtensionName=\u62E1\u5F35\u5B50\u540D
|
||||
MyExtensionsComposite.Version=\u30D0\u30FC\u30B8\u30E7\u30F3
|
||||
MyExtensionsComposite.UploadDate=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u65E5\u4ED8
|
||||
MyExtensionsComposite.AddNewExtensionTitle=\u65B0\u898FExtension\u8FFD\u52A0
|
||||
MyExtensionsComposite.UpLoadNewVersionOperateStatus=\u65B0\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
|
||||
MyExtensionsComposite.UpdateOperateStatus=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
|
||||
MyExtensionsComposite.ModifyOperateStatus=\u5909\u66F4
|
||||
MyExtensionsComposite.DeleteOperateStatus=\u524A\u9664
|
||||
MyExtensionsComposite.Form.Return=\u623B\u308A\u5024
|
||||
MyExtensionsComposite.Form.ExtensionTitle=Extension\u30BF\u30A4\u30C8\u30EB
|
||||
MyExtensionsComposite.Form.InitialVersion=\u521D\u671F\u30D0\u30FC\u30B8\u30E7\u30F3
|
||||
MyExtensionsComposite.Form.Compatibility=\u4E92\u63DB\u6027
|
||||
MyExtensionsComposite.Form.Compatibility.AllVersions=\u3059\u3079\u3066\u306E\u30D0\u30FC\u30B8\u30E7\u30F3
|
||||
MyExtensionsComposite.Form.Compatibility.Version=\u30D0\u30FC\u30B8\u30E7\u30F3
|
||||
MyExtensionsComposite.Form.Compatibility.AndOlder=\u3088\u308A\u53E4\u3044
|
||||
MyExtensionsComposite.Form.Compatibility.AndNewer=\u3088\u308A\u65B0\u3057\u3044
|
||||
MyExtensionsComposite.Form.Compatibility.AllVersionsExcept=\u3059\u3079\u3066\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u4EE5\u5916
|
||||
MyExtensionsComposite.Form.Compatibility.OnlyTheseVersions=\u3053\u308C\u3089\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3060\u3051:
|
||||
MyExtensionsComposite.Form.Description=\u8AAC\u660E
|
||||
MyExtensionsComposite.Form.Visibility=\u53EF\u8996\u6027
|
||||
MyExtensionsComposite.Form.Visibility.Public=\u5171\u6709(\u5168\u54E1\u304C\u53EF\u8996)
|
||||
MyExtensionsComposite.Form.Visibility.Private=\u500B\u4EBA(\u81EA\u5206\u306E\u307F\u53EF\u8996)
|
||||
MyExtensionsComposite.Form.Upload=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
|
||||
MyExtensionsComposite.Form.Upload.SelectAnItem=\u73FE\u5728\u958B\u3044\u3066\u3044\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089\u30A2\u30A4\u30C6\u30E0\u3092\u9078\u629E
|
||||
MyExtensionsComposite.Form.Upload.File=\u30D5\u30A1\u30A4\u30EB:
|
||||
MyExtensionsComposite.Form.Upload.Browse=\u53C2\u7167...
|
||||
MyExtensionsComposite.Form.Upload.Browse.SelectFile=\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3059\u308Bextension\u306E\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u629E
|
||||
MyExtensionsComposite.Form.DeleteExtensionTile=Extension\u524A\u9664
|
||||
MyExtensionsComposite.Form.DeleteExtensionMessage=\u3053\u306E\u62E1\u5F35\u5B50\u3092\u524A\u9664\u3057\u307E\u3059\u304B?
|
||||
MyExtensionsComposite.Form.UploadExtension=Extension\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
|
||||
MyExtensionsComposite.Form.UpdateExtension=Extension\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
|
||||
MyExtensionsComposite.Form.ModifyExtension=Extension\u4FEE\u6B63
|
||||
Exchange.logon.error=Exchange\u30E6\u30FC\u30B6\u30FC\u304C\u767B\u9332\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002\u521D\u671F\u8A2D\u5B9A\u3092\u4F7F\u7528\u3057\u3066\u767B\u9332\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
RefreshJob.FindExtensions.Title=\u53D6\u5F97\u53EF\u80FD\u306Aextensions
|
||||
RefreshJob.FindExtensions.Message=Exchange\u304B\u3089\u62E1\u5F35\u6A5F\u80FD\u3092\u691C\u7D22...
|
||||
ShowContributedExtensionsJob.ShowContributedExtensions.Title=extensions\u3092\u53D6\u5F97
|
||||
ShowContributedExtensionsJob.ShowContributedExtensions.Message=exchange\u304B\u3089extensions\u3092\u53D6\u5F97\u2026
|
||||
ShowInstalledExtensionsJob.ShowInstalledExtensions.Title=extensions\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
|
||||
ShowInstalledExtensionsJob.ShowInstalledExtensions.Message=exchange\u304B\u3089extensions\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u2026
|
||||
DeleteExtensionJob.DeleteExtensionJob.Title=Extension\u3092\u524A\u9664\u3057\u307E\u3059\u2026
|
||||
DeleteExtensionJob.DeleteExtensionJob.Message=Extension\u3092\u524A\u9664\u3057\u307E\u3059\u2026
|
||||
DeleteExtensionJob.DeleteFailure=\u524A\u9664\u3067\u304D\u307E\u305B\u3093
|
||||
DeleteExtensionJob.DeleteFailureTip=\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
ModifyExtensionJob.Title=Extension\u3092\u4FEE\u6B63\u2026
|
||||
ModifyExtensionJob.Message=Extension\u3092\u4FEE\u6B63\u2026
|
||||
ModifyExtensionJob.ModifyFailure=\u4FEE\u6B63\u5931\u6557\u3002
|
||||
ModifyExtensionJob.ModifyFailureTip=\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
InstalledExtensionJob.Title=Extension\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB...
|
||||
InstalledExtensionJob.Message=Extension\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB...
|
||||
InsertionExtensionAction.InstalledFailure=\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u306B\u5931\u6557\u3057\u307E\u3057\u305F
|
||||
InsertionExtensionAction.InstalledFailureTip=\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
UploadRevisionJob.Title=\u30EA\u30D3\u30B8\u30E7\u30F3\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
|
||||
UploadRevisionJob.Message=\u30EA\u30D3\u30B8\u30E7\u30F3\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9
|
||||
UploadRevisionAction.InstalledFailure=\u30EA\u30D3\u30B8\u30E7\u30F3\u306E\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u306B\u5931\u6557\u3002
|
||||
UploadRevisionAction.InstalledFailureTip=\u30C1\u30A7\u30C3\u30AF\u3092\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
DownloadComponenentsAction_restartMessage=\u65B0\u898F\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u304C\u6210\u529F\u3057\u307E\u3057\u305F\u3002Studio\u306E\u518D\u8D77\u52D5\u304C\u5FC5\u8981\u3067\u3059\u3002\u518D\u8D77\u52D5\u3057\u307E\u3059\u304B?
|
||||
DownloadComponenentsAction_restartTitle=\u518D\u8D77\u52D5\u8981
|
||||
DownloadComponenentsAction_failureTitle=\u5931\u6557
|
||||
DownloadComponenentsAction_failureMessage=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8{0}\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u304C\u5931\u6557\u3057\u307E\u3057\u305F\u3002\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u304C\u59A5\u5F53\u304B\u3054\u78BA\u8A8D\u304F\u3060\u3055\u3044\u3002
|
||||
DownloadComponenentsAction.installExchange=Exchange\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
|
||||
DownloadComponenentsAction.DownloadTaskTitle=Exchange\u304B\u3089\u30D5\u30A1\u30A4\u30EB\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9
|
||||
DownloadComponenentsAction.DownloadTaskName=\u30D5\u30A1\u30A4\u30EB\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u4E2D URL \\:
|
||||
DownloadComponenentsAction.ReloadPalette=\u30D1\u30EC\u30C3\u30C8\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8...
|
||||
DownloadComponenentsAction.DownloadFailure=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u5931\u6557\u3002
|
||||
DownloadComponenentsAction.DownloadFailureTip=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u8A2D\u5B9A\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002
|
||||
DownloadComponenentsAction.installComponentsTitle=\u30B3\u30F3\u30DD\u30FC\u30CD\u30F3\u30C8\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
|
||||
ExchangeWebService.insertionExtensionSuccessful=Extension\u306E\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u304C\u6210\u529F\u3057\u307E\u3057\u305F
|
||||
ExchangeWebService.downloadingExtensionSuccessful=Extension\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u6210\u529F\u3002
|
||||
ExchangeWebService.deleteExtensionSuccessful=Extension\u524A\u9664\u6210\u529F\u3002
|
||||
ExchangeWebService.insertReviewSuccessful=Review\u633F\u5165\u6210\u529F\u3002
|
||||
ExchangeWebService.updateRevisionSuccessful=\u30EA\u30D3\u30B8\u30E7\u30F3\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u6210\u529F\u3002
|
||||
ExchangeWebService.insertionRevisionSuccessful=\u30EA\u30D3\u30B8\u30E7\u30F3\u633F\u5165\u6210\u529F\u3002
|
||||
ImportExchangeDialog.dialogTitle=Talend Exchange \u304B\u3089\u9805\u76EE\u306E\u9078\u629E
|
||||
ImportExchangeDialog.WARNING=\u8B66\u544A
|
||||
ImportExchangeDialog.NOTSELECTWARNING=\u30C6\u30FC\u30D6\u30EB\u304B\u3089\u30A2\u30A4\u30C6\u30E0\u3092\uFF11\u3064\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044...
|
||||
ImportExchangeDialog.downloadProgressBar=\u30A2\u30A4\u30C6\u30E0\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u4E2D\u3067\u3059\u3002\u66AB\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044!
|
||||
ImportExchangeDialog.EXTENSION_NAME=\u62E1\u5F35\u5B50\u540D
|
||||
ImportExchangeDialog.AUTHOR_NAME=\u4F5C\u6210\u8005\u540D
|
||||
ImportExchangeDialog.LATEST_REVISION=\u6700\u65B0\u30EA\u30D3\u30B8\u30E7\u30F3
|
||||
ImportExchangeDialog.EXTENSION_DESCRIPTION=\u62E1\u5F35\u306E\u8AAC\u660E
|
||||
ImportExchangeDialog.download.extensions=\u62E1\u5F35\u6A5F\u80FD\u3092\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u4E2D\u3067\u3059\u3002\u66AB\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002
|
||||
ImportExchangeDialog.REFRESH_BUTTON=\u66F4\u65B0
|
||||
ImportExchangeDialog.REFRESHING_PROGRESSBAR=\u66F4\u65B0\u4E2D\u3067\u3059\u3002\u66AB\u304F\u304A\u5F85\u3061\u304F\u3060\u3055\u3044\u3002
|
||||
ImportExchangeDialog.OPERATION_CANCELLED=\u64CD\u4F5C\u306F\u30AD\u30E3\u30F3\u30BB\u30EB\u3055\u308C\u307E\u3057\u305F
|
||||
@@ -0,0 +1,13 @@
|
||||
AvailableExtensionsComposite.Version=\u0412\u0435\u0440\u0441\u0438\u044F
|
||||
AvailableExtensionsComposite.Author=\u0410\u0432\u0442\u043E\u0440
|
||||
AvailableExtensionsComposite.FilterTitle=\u0444\u0438\u043B\u044C\u0442\u0440
|
||||
DownloadedExtensionsComposite.installedOperateStatus=\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D
|
||||
MyExtensionsComposite.Version=\u0412\u0435\u0440\u0441\u0438\u044F
|
||||
MyExtensionsComposite.ModifyOperateStatus=\u041C\u043E\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u0442\u044C
|
||||
MyExtensionsComposite.DeleteOperateStatus=\u0423\u0434\u0430\u043B\u0438\u0442\u044C
|
||||
MyExtensionsComposite.Form.Compatibility.Version=\u0412\u0435\u0440\u0441\u0438\u044F
|
||||
MyExtensionsComposite.Form.Description=\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435
|
||||
MyExtensionsComposite.Form.Upload.Browse=\u041E\u0431\u0437\u043E\u0440...
|
||||
DownloadComponenentsAction.DownloadTaskName=\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u0430\u0439\u043B \u043F\u043E \u0441\u0441\u044B\u043B\u043A\u0435:
|
||||
ImportExchangeDialog.WARNING=\u041F\u0440\u0435\u0434\u0443\u043F\u0440\u0435\u0436\u0434\u0435\u043D\u0438\u0435
|
||||
ImportExchangeDialog.REFRESH_BUTTON=\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C
|
||||
@@ -0,0 +1,18 @@
|
||||
AvailableExtensionsComposite.Version=Verzia
|
||||
AvailableExtensionsComposite.Author=Autor
|
||||
AvailableExtensionsComposite.FilterTitle=Filter
|
||||
AvailableExtensionsComposite.ViewDetail.installOperateStatus=In\u0161talova\u0165
|
||||
DownloadedExtensionsComposite.installOperateStatus=In\u0161talova\u0165
|
||||
DownloadedExtensionsComposite.updateOperateStatus=Obnovi\u0165
|
||||
MyExtensionsComposite.Version=Verzia
|
||||
MyExtensionsComposite.UpdateOperateStatus=Obnovi\u0165
|
||||
MyExtensionsComposite.ModifyOperateStatus=Modifikova\u0165
|
||||
MyExtensionsComposite.DeleteOperateStatus=Zmaza\u0165
|
||||
MyExtensionsComposite.Form.Compatibility=Kompatibilita
|
||||
MyExtensionsComposite.Form.Compatibility.Version=Verzia
|
||||
MyExtensionsComposite.Form.Description=Popis
|
||||
MyExtensionsComposite.Form.Visibility=Vidite\u013Enos\u0165
|
||||
MyExtensionsComposite.Form.Upload=Nahra\u0165
|
||||
ImportExchangeDialog.WARNING=Varovanie
|
||||
ImportExchangeDialog.AUTHOR_NAME=Meno autora
|
||||
ImportExchangeDialog.REFRESH_BUTTON=Obnovi\u0165
|
||||
@@ -0,0 +1,18 @@
|
||||
AvailableExtensionsComposite.Version=Verzia
|
||||
AvailableExtensionsComposite.Author=Autor
|
||||
AvailableExtensionsComposite.FilterTitle=Filter
|
||||
AvailableExtensionsComposite.ViewDetail.installOperateStatus=In\u0161talova\u0165
|
||||
DownloadedExtensionsComposite.installOperateStatus=In\u0161talova\u0165
|
||||
DownloadedExtensionsComposite.updateOperateStatus=Obnovi\u0165
|
||||
MyExtensionsComposite.Version=Verzia
|
||||
MyExtensionsComposite.UpdateOperateStatus=Obnovi\u0165
|
||||
MyExtensionsComposite.ModifyOperateStatus=Modifikova\u0165
|
||||
MyExtensionsComposite.DeleteOperateStatus=Zmaza\u0165
|
||||
MyExtensionsComposite.Form.Compatibility=Kompatibilita
|
||||
MyExtensionsComposite.Form.Compatibility.Version=Verzia
|
||||
MyExtensionsComposite.Form.Description=Popis
|
||||
MyExtensionsComposite.Form.Visibility=Vidite\u013Enos\u0165
|
||||
MyExtensionsComposite.Form.Upload=Nahra\u0165
|
||||
ImportExchangeDialog.WARNING=Varovanie
|
||||
ImportExchangeDialog.AUTHOR_NAME=Meno autora
|
||||
ImportExchangeDialog.REFRESH_BUTTON=Obnovi\u0165
|
||||
@@ -0,0 +1,103 @@
|
||||
ExchangeView.Exchange=Exchange
|
||||
AvailableExtensionsComposite.ExtensionName=Extension Name
|
||||
AvailableExtensionsComposite.Version=Version
|
||||
AvailableExtensionsComposite.Rating=Rating
|
||||
AvailableExtensionsComposite.Author=Author
|
||||
AvailableExtensionsComposite.FilterTitle=Filter
|
||||
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Install
|
||||
AvailableExtensionsComposite.ViewDetail.WriteReview=Write a review
|
||||
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailure=Insertion Review failure.
|
||||
AvailableExtensionsComposite.ViewDetail.InsertionReviewFailureTip=You should check it.
|
||||
DownloadedExtensionsComposite.ExtensionName=Extension Name
|
||||
DownloadedExtensionsComposite.DownloadedVersion=Downloaded Version
|
||||
DownloadedExtensionsComposite.DownloadDate=Download Date
|
||||
DownloadedExtensionsComposite.OperateStatus=Operate Status
|
||||
DownloadedExtensionsComposite.installOperateStatus=Install
|
||||
DownloadedExtensionsComposite.installedOperateStatus=Installed
|
||||
DownloadedExtensionsComposite.updateOperateStatus=Update
|
||||
MyExtensionsComposite.ExtensionName=Extension Name
|
||||
MyExtensionsComposite.Version=Version
|
||||
MyExtensionsComposite.UploadDate=Upload Date
|
||||
MyExtensionsComposite.AddNewExtensionTitle=Add New Extension
|
||||
MyExtensionsComposite.UpLoadNewVersionOperateStatus=UpLoad New Version
|
||||
MyExtensionsComposite.UpdateOperateStatus=Update
|
||||
MyExtensionsComposite.ModifyOperateStatus=Modify
|
||||
MyExtensionsComposite.DeleteOperateStatus=Delete
|
||||
MyExtensionsComposite.Form.Return=Return
|
||||
MyExtensionsComposite.Form.ExtensionTitle=Extension Title
|
||||
MyExtensionsComposite.Form.InitialVersion=Initial Version
|
||||
MyExtensionsComposite.Form.Compatibility=Compatibility
|
||||
MyExtensionsComposite.Form.Compatibility.AllVersions=All versions
|
||||
MyExtensionsComposite.Form.Compatibility.Version=Version
|
||||
MyExtensionsComposite.Form.Compatibility.AndOlder=and older
|
||||
MyExtensionsComposite.Form.Compatibility.AndNewer=and newer
|
||||
MyExtensionsComposite.Form.Compatibility.AllVersionsExcept=All versions except:
|
||||
MyExtensionsComposite.Form.Compatibility.OnlyTheseVersions=Only these versions:
|
||||
MyExtensionsComposite.Form.Description=Description
|
||||
MyExtensionsComposite.Form.Visibility=Visibility
|
||||
MyExtensionsComposite.Form.Visibility.Public=Public(visible by all)
|
||||
MyExtensionsComposite.Form.Visibility.Private=Private(visible by me)
|
||||
MyExtensionsComposite.Form.Upload=Upload
|
||||
MyExtensionsComposite.Form.Upload.SelectAnItem=Select an item from the currently open project
|
||||
MyExtensionsComposite.Form.Upload.File=File:
|
||||
MyExtensionsComposite.Form.Upload.Browse=Browse
|
||||
MyExtensionsComposite.Form.Upload.Browse.SelectFile=Select a File of the extension to upload
|
||||
MyExtensionsComposite.Form.DeleteExtensionTile=Delete Extension
|
||||
MyExtensionsComposite.Form.DeleteExtensionMessage=You sure delete this Extension
|
||||
MyExtensionsComposite.Form.UploadExtension=Upload Extension
|
||||
MyExtensionsComposite.Form.UpdateExtension=Update Extension
|
||||
MyExtensionsComposite.Form.ModifyExtension=Modify Extension
|
||||
Exchange.logon.error=Exchange user have not been registered, please register using the preferences .
|
||||
RefreshJob.FindExtensions.Title=Finding available extensions
|
||||
RefreshJob.FindExtensions.Message=Finding extensions from exchange...
|
||||
ShowContributedExtensionsJob.ShowContributedExtensions.Title=Finding contributed extensions
|
||||
ShowContributedExtensionsJob.ShowContributedExtensions.Message=Finding contributed extensions from exchange...
|
||||
ShowInstalledExtensionsJob.ShowInstalledExtensions.Title=Finding installed extensions
|
||||
ShowInstalledExtensionsJob.ShowInstalledExtensions.Message=Finding installed extensions from exchange...
|
||||
DeleteExtensionJob.DeleteExtensionJob.Title=Delete an extension...
|
||||
DeleteExtensionJob.DeleteExtensionJob.Message=Delete an extension...
|
||||
DeleteExtensionJob.DeleteFailure=Delete failure.
|
||||
DeleteExtensionJob.DeleteFailureTip=You should check it.
|
||||
ModifyExtensionJob.Title=Modify an extension...
|
||||
ModifyExtensionJob.Message=Modify an extension...
|
||||
ModifyExtensionJob.ModifyFailure=Modify failure.
|
||||
ModifyExtensionJob.ModifyFailureTip=You should check it.
|
||||
InstalledExtensionJob.Title=Installed an extension...
|
||||
InstalledExtensionJob.Message=Installed an extension...
|
||||
InsertionExtensionAction.InstalledFailure=Installed failure.
|
||||
InsertionExtensionAction.InstalledFailureTip=You should check it.
|
||||
UploadRevisionJob.Title=Upload Revision...
|
||||
UploadRevisionJob.Message=Upload Revision...
|
||||
UploadRevisionAction.InstalledFailure=Upload Revision failure.
|
||||
UploadRevisionAction.InstalledFailureTip=You should check it.
|
||||
DownloadComponenentsAction.installExchange=Installed Exchange Components
|
||||
DownloadComponenentsAction.DownloadTaskTitle=Downloading files from Exchange
|
||||
DownloadComponenentsAction.DownloadTaskName=Downloading file from url:
|
||||
DownloadComponenentsAction.ReloadPalette=Reloading palette...
|
||||
DownloadComponenentsAction.DownloadFailure=Download failure.
|
||||
DownloadComponenentsAction.DownloadFailureTip=You must change the Download Settings.
|
||||
ExchangeWebService.insertionExtensionSuccessful=Insertion Extension successful.
|
||||
ExchangeWebService.downloadingExtensionSuccessful=Downloaded Extension successful.
|
||||
ExchangeWebService.deleteExtensionSuccessful=Deleted Extension successful.
|
||||
ExchangeWebService.insertReviewSuccessful=Insertion Review successful.
|
||||
ExchangeWebService.updateRevisionSuccessful=Update Revision successful.
|
||||
ExchangeWebService.insertionRevisionSuccessful=Insertion Revision successful.
|
||||
ImportExchangeDialog.dialogTitle=Select an item from Talend Exchange
|
||||
ImportExchangeDialog.WARNING=WARNING
|
||||
ImportExchangeDialog.NOTSELECTWARNING=Please select one item from table.....
|
||||
ImportExchangeDialog.downloadProgressBar=Download Item,Please Wait\!
|
||||
ImportExchangeDialog.EXTENSION_NAME=Extension Name
|
||||
ImportExchangeDialog.AUTHOR_NAME=Author Name
|
||||
ImportExchangeDialog.LATEST_REVISION=Latest Revision
|
||||
ImportExchangeDialog.EXTENSION_DESCRIPTION=Extension Description
|
||||
ImportExchangeDialog.download.components=Download Components Please Wait\!
|
||||
ImportExchangeDialog.JOB_BUTTON=Job Designs
|
||||
ImportExchangeDialog.DOWNLOAD_JOB=Download Some Job Designs...
|
||||
ImportExchangeDialog.ROUTINES_BUTTON=Routines
|
||||
ImportExchangeDialog.ROUTINES_PROGRESSBAR=Download Some Routines...
|
||||
ImportExchangeDialog.TEMPLATES_BUTTON=SQL Templates
|
||||
ImportExchangeDialog.TEMPLATES_PROGRESSBAR=Download Some SQL Templates...
|
||||
ImportExchangeDialog.REFRESH_BUTTON=Refresh
|
||||
ImportExchangeDialog.REFRESHING_PROGRESSBAR=Refreshing\! Please Wait.....
|
||||
ImportExchangeDialog.NOT_SELECT_BUTTON=Please select a choice first
|
||||
ImportExchangeDialog.OPERATION_CANCELLED=Operation was cancelled
|
||||
@@ -0,0 +1,195 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.components.exchange;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
|
||||
import org.eclipse.core.runtime.FileLocator;
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.osgi.framework.Bundle;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.commons.utils.io.FilesUtils;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.model.components.AbstractComponentsProvider;
|
||||
import org.talend.core.model.components.ComponentUtilities;
|
||||
import org.talend.core.model.components.IComponentsFactory;
|
||||
import org.talend.core.runtime.util.SharedStudioInfoProvider;
|
||||
import org.talend.core.runtime.util.SharedStudioUtils;
|
||||
import org.talend.core.ui.branding.IBrandingService;
|
||||
import org.talend.designer.components.exchange.util.ExchangeUtils;
|
||||
|
||||
/**
|
||||
* DOC hcyi class global comment. Detailled comment
|
||||
*/
|
||||
public class ExchangeComponentsProvider extends AbstractComponentsProvider implements SharedStudioInfoProvider{
|
||||
|
||||
/**
|
||||
* ExchangeComponentsProvider constructor.
|
||||
*/
|
||||
public ExchangeComponentsProvider() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void preComponentsLoad() throws IOException {
|
||||
File installFolder = getInstallationFolder();
|
||||
|
||||
// clean folder
|
||||
if (installFolder.exists()) {
|
||||
FilesUtils.removeFolder(installFolder, true);
|
||||
}
|
||||
FilesUtils.createFoldersIfNotExists(installFolder.getAbsolutePath(), false);
|
||||
|
||||
File externalComponentsLocation = getExternalComponentsLocation();
|
||||
if (externalComponentsLocation != null) {
|
||||
if (externalComponentsLocation.exists()) {
|
||||
try {
|
||||
copyFolder(externalComponentsLocation, installFolder);
|
||||
} catch (Throwable e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* DOC hcyi Comment method "copyFolder".
|
||||
*
|
||||
* @param externalComponentsLocation
|
||||
* @param installFolder
|
||||
* @throws IOException
|
||||
*/
|
||||
private void copyFolder(File externalComponentsLocation, File installFolder) throws IOException {
|
||||
FileFilter folderFilter = new FileFilter() {
|
||||
|
||||
@Override
|
||||
public boolean accept(File file) {
|
||||
return file.isDirectory();
|
||||
}
|
||||
};
|
||||
FileFilter ff = new FileFilter() {
|
||||
|
||||
@Override
|
||||
public boolean accept(File pathname) {
|
||||
if (FilesUtils.isSVNFolder(pathname)) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
for (File folder : externalComponentsLocation.listFiles(folderFilter)) {
|
||||
/*
|
||||
* Some components have: <componentName>/<files> . some other have: <folder>/<componentName>/<files> .
|
||||
*/
|
||||
File componentFolder = searchComponentFolder(folder);
|
||||
// if we cannot find the component folder, just ignore it
|
||||
if (componentFolder != null) {
|
||||
File target = new File(installFolder, componentFolder.getName());
|
||||
// FileUtils.copyDirectory(componentFolder, target);
|
||||
FilesUtils.copyFolder(componentFolder, target, true, ff, null, true, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* DOC hcyi Comment method "searchComponentFolder".
|
||||
*
|
||||
* @param folder
|
||||
* @return
|
||||
*/
|
||||
public static File searchComponentFolder(File folder) {
|
||||
File componentFolder = null;
|
||||
File[] files = folder.listFiles();
|
||||
if (files != null) {
|
||||
for (File file : files) {
|
||||
if (file.isDirectory()) {
|
||||
componentFolder = searchComponentFolder(file);
|
||||
if (componentFolder != null) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
// assumes that if the folder contains properties file, it is the root folder of component
|
||||
if (file.getName().endsWith(".properties")) { //$NON-NLS-1$
|
||||
componentFolder = folder;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return componentFolder;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected File getExternalComponentsLocation() {
|
||||
return ExchangeUtils.getComponentFolder();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getComponentsLocation() {
|
||||
return new Path(IComponentsFactory.COMPONENTS_INNER_FOLDER).append(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER)
|
||||
.append(ComponentUtilities.getExtFolder(getFolderName())).toString();
|
||||
}
|
||||
|
||||
@Override
|
||||
public File getInstallationFolder() throws IOException {
|
||||
String componentsPath = IComponentsFactory.COMPONENTS_LOCATION;
|
||||
IBrandingService breaningService = (IBrandingService) GlobalServiceRegister.getDefault().getService(
|
||||
IBrandingService.class);
|
||||
if (breaningService.isPoweredOnlyCamel()) {
|
||||
componentsPath = IComponentsFactory.CAMEL_COMPONENTS_LOCATION;
|
||||
}
|
||||
Bundle b = Platform.getBundle(componentsPath);
|
||||
|
||||
File installationFolder = null;
|
||||
IPath nullPath = new Path(""); //$NON-NLS-1$
|
||||
URL url = FileLocator.find(b, nullPath, null);
|
||||
URL fileUrl = FileLocator.toFileURL(url);
|
||||
File bundleFolder = new File(fileUrl.getPath());
|
||||
|
||||
IPath path = new Path(IComponentsFactory.COMPONENTS_INNER_FOLDER)
|
||||
.append(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER);
|
||||
path = path.append(ComponentUtilities.getExtFolder(getFolderName()));
|
||||
|
||||
installationFolder = new File(bundleFolder, path.toOSString());
|
||||
|
||||
return installationFolder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isUseLocalProvider() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isCustom() {
|
||||
return true;
|
||||
}
|
||||
|
||||
public String getComponentsBundle() {
|
||||
return IComponentsFactory.COMPONENTS_LOCATION;
|
||||
}
|
||||
|
||||
public boolean isSupportCurrentMode() {
|
||||
if (SharedStudioUtils.isSharedStudioMode()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.components.exchange;
|
||||
|
||||
import org.talend.designer.components.exchange.i18n.Messages;
|
||||
|
||||
/**
|
||||
*
|
||||
* DOC hcyi class global comment. Detailled comment
|
||||
*/
|
||||
public class ExchangeConstants {
|
||||
|
||||
/**
|
||||
* File that store information about the components we have downloaded.
|
||||
*/
|
||||
public static final String COMPONENT_MODEL_FILE = "component_extensions.xmi"; //$NON-NLS-1$
|
||||
|
||||
public static String getReloadPaletteLable() {
|
||||
return Messages.getString("DownloadComponenentsAction.ReloadPalette"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
public static String getDownloadTaskTitleLable() {
|
||||
return Messages.getString("DownloadComponenentsAction.DownloadTaskTitle"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
public static String getDownloadTaskNameLable() {
|
||||
return Messages.getString("DownloadComponenentsAction.DownloadTaskName"); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
package org.talend.designer.components.exchange;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.talend.commons.utils.VersionUtils;
|
||||
import org.talend.designer.components.exchange.util.ExchangeUtils;
|
||||
|
||||
/**
|
||||
* The activator class controls the plug-in life cycle
|
||||
*/
|
||||
public class ExchangePlugin extends AbstractUIPlugin {
|
||||
|
||||
// The plug-in ID
|
||||
public static final String PLUGIN_ID = "org.talend.designer.components.exchange"; //$NON-NLS-1$
|
||||
|
||||
// The shared instance
|
||||
private static ExchangePlugin plugin;
|
||||
|
||||
private static final String LEVEL_SEPARATOR = "."; //$NON-NLS-1$
|
||||
|
||||
/**
|
||||
* The constructor
|
||||
*/
|
||||
public ExchangePlugin() {
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void start(BundleContext context) throws Exception {
|
||||
super.start(context);
|
||||
plugin = this;
|
||||
|
||||
createNecessaryFolders();
|
||||
}
|
||||
|
||||
private void createNecessaryFolders() {
|
||||
File file = ExchangeUtils.getComponentFolder("/"); //$NON-NLS-1$
|
||||
if (file != null) {
|
||||
File dowloadedFoder = new File(file, ExchangeUtils.FOLDER_DOWNLOADED);
|
||||
if (!dowloadedFoder.exists()) {
|
||||
dowloadedFoder.mkdir();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
plugin = null;
|
||||
super.stop(context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the shared instance
|
||||
*
|
||||
* @return the shared instance
|
||||
*/
|
||||
public static ExchangePlugin getDefault() {
|
||||
return plugin;
|
||||
}
|
||||
|
||||
public static String getStudioVersion() {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
StringTokenizer stringTokenizer = new StringTokenizer(VersionUtils.getVersion(), LEVEL_SEPARATOR);
|
||||
try {
|
||||
sb.append(stringTokenizer.nextToken());
|
||||
sb.append(LEVEL_SEPARATOR);
|
||||
sb.append(stringTokenizer.nextToken());
|
||||
sb.append(LEVEL_SEPARATOR);
|
||||
sb.append(stringTokenizer.nextToken());
|
||||
} catch (NumberFormatException e) {
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
public static ImageDescriptor getImageDescriptor(String path) {
|
||||
return imageDescriptorFromPlugin(PLUGIN_ID, path);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package org.talend.designer.components.exchange;
|
||||
//============================================================================
|
||||
//
|
||||
//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
|
||||
//
|
||||
//============================================================================
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.talend.core.model.components.ComponentUtilities;
|
||||
import org.talend.core.model.components.IComponentsFactory;
|
||||
import org.talend.core.runtime.util.ComponentsLocationProvider;
|
||||
import org.talend.core.runtime.util.SharedStudioUtils;
|
||||
import org.talend.designer.core.model.components.ComponentBundleToPath;
|
||||
|
||||
public class SharedStudioExchangeComponentsProvider extends ExchangeComponentsProvider implements ComponentsLocationProvider{
|
||||
@Override
|
||||
public File getInstallationFolder() throws IOException {
|
||||
File componentFolder = SharedStudioUtils.getSharedStudioComponentsParentFolder();
|
||||
IPath path = new Path(IComponentsFactory.COMPONENTS_INNER_FOLDER);
|
||||
path = path.append(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER).append(ComponentUtilities.getExtFolder(getFolderName()));
|
||||
File installationFolder = new File (componentFolder, path.toOSString());
|
||||
return installationFolder;
|
||||
}
|
||||
|
||||
|
||||
public String getComponentsBundle() {
|
||||
return ComponentBundleToPath.SHARED_STUDIO_CUSTOM_COMPONENT_BUNDLE;
|
||||
}
|
||||
|
||||
public boolean isSupportCurrentMode() {
|
||||
if (SharedStudioUtils.isSharedStudioMode()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceBundle getResourceBundle(String label) {
|
||||
URL configFolderUrl = Platform.getConfigurationLocation().getURL();
|
||||
URLClassLoader urlLoader = new URLClassLoader(new java.net.URL[]{configFolderUrl});
|
||||
java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle( label ,
|
||||
java.util.Locale.getDefault(), urlLoader );
|
||||
return bundle;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// Copyright (C) 2006-2023 Talend Inc. - www.talend.com
|
||||
// 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
|
||||
@@ -10,17 +10,21 @@
|
||||
// 9 rue Pages 92150 Suresnes, France
|
||||
//
|
||||
// ============================================================================
|
||||
package org.talend.repository.bigquery.i18n;
|
||||
package org.talend.designer.components.exchange.i18n;
|
||||
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
import org.talend.commons.i18n.MessagesCore;
|
||||
|
||||
/**
|
||||
*
|
||||
* DOC hcyi class global comment. Detailled comment
|
||||
*/
|
||||
public class Messages extends MessagesCore {
|
||||
|
||||
private static final String BUNDLE_NAME = "messages"; //$NON-NLS-1$
|
||||
|
||||
private static final String PLUGIN_ID = "org.talend.repository.bigquery"; //$NON-NLS-1$
|
||||
private static final String PLUGIN_ID = "org.talend.designer.components.exchange"; //$NON-NLS-1$
|
||||
|
||||
private static ResourceBundle resourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
|
||||
|
||||
@@ -31,7 +35,7 @@ public class Messages extends MessagesCore {
|
||||
* @return the string for the given key in the class resource bundle
|
||||
* @see MessagesCore#getString(String, ResourceBundle)
|
||||
*/
|
||||
public static String getString(String key) {
|
||||
public static String getString(final String key) {
|
||||
return getString(key, PLUGIN_ID, resourceBundle);
|
||||
}
|
||||
|
||||
@@ -43,7 +47,7 @@ public class Messages extends MessagesCore {
|
||||
* @return the string for the given key in the given resource bundle
|
||||
* @see MessagesCore#getString(String, ResourceBundle, Object[])
|
||||
*/
|
||||
public static String getString(String key, Object... args) {
|
||||
public static String getString(final String key, final Object... args) {
|
||||
return MessagesCore.getString(key, PLUGIN_ID, resourceBundle, args);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.components.exchange.jobs;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Enumeration;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipFile;
|
||||
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.talend.commons.utils.io.FilesUtils;
|
||||
import org.talend.core.GlobalServiceRegister;
|
||||
import org.talend.core.language.LanguageManager;
|
||||
import org.talend.core.ui.services.IComponentsLocalProviderService;
|
||||
|
||||
/**
|
||||
*
|
||||
* DOC hcyi class global comment. Detailled comment
|
||||
*/
|
||||
public class ComponentInstaller {
|
||||
|
||||
/**
|
||||
* Unzip the component file to user folder.
|
||||
*
|
||||
* @param zipFile The component zip file
|
||||
* @param targetFolder The user folder
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public static File unzip(String zipFile, String targetFolder) throws Exception {
|
||||
|
||||
ZipFile zip = new ZipFile(zipFile);
|
||||
|
||||
// folder that contains all the unzipped files
|
||||
File rootFolder = getRootFolder(zip, targetFolder);
|
||||
|
||||
if (rootFolder == null) {
|
||||
// the zip does not have any directory, fix it
|
||||
String fileName = new File(zip.getName()).getName();
|
||||
fileName = fileName.substring(0, fileName.lastIndexOf('.')); // remove extension
|
||||
Pattern pattern = Pattern.compile("^([\\w]*)");
|
||||
Matcher matcher = pattern.matcher(fileName);
|
||||
if (matcher.find()) {
|
||||
fileName = matcher.group(1);
|
||||
}
|
||||
rootFolder = new File(targetFolder, fileName);
|
||||
targetFolder = targetFolder + File.separatorChar + fileName;
|
||||
}
|
||||
|
||||
if (rootFolder.exists()) {
|
||||
// we have installed older revision, delete it
|
||||
FileUtils.deleteDirectory(rootFolder);
|
||||
}
|
||||
rootFolder.mkdir();
|
||||
// move some common use codes for unzipping file to FilesUtils
|
||||
FilesUtils.unzip(zipFile, targetFolder);
|
||||
boolean valid = false;
|
||||
if (GlobalServiceRegister.getDefault().isServiceRegistered(IComponentsLocalProviderService.class)) {
|
||||
IComponentsLocalProviderService service = (IComponentsLocalProviderService) GlobalServiceRegister.getDefault()
|
||||
.getService(IComponentsLocalProviderService.class);
|
||||
if (service != null) {
|
||||
valid = service.validateComponent(rootFolder.getAbsolutePath(), LanguageManager.getCurrentLanguage());
|
||||
}
|
||||
}
|
||||
|
||||
if (!valid) {
|
||||
if (rootFolder.exists() && rootFolder.isDirectory()) {
|
||||
for (File f : rootFolder.listFiles()) {
|
||||
f.delete();
|
||||
}
|
||||
rootFolder.delete();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return rootFolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the root folder that contains all the unzipped files
|
||||
*
|
||||
* @param zip The component zip file
|
||||
* @param targetFolder The user folder
|
||||
* @return
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
private static File getRootFolder(ZipFile zip, String targetFolder) {
|
||||
File rootFolder = null;
|
||||
Enumeration<ZipEntry> enumeration = (Enumeration<ZipEntry>) zip.entries();
|
||||
String directory = null;
|
||||
while (enumeration.hasMoreElements()) {
|
||||
ZipEntry entry = enumeration.nextElement();
|
||||
String entryName = entry.getName();
|
||||
File file = new File(targetFolder, entryName);
|
||||
if (entry.isDirectory()) {
|
||||
// assumes that the first folder is root folder
|
||||
if (rootFolder == null) {
|
||||
rootFolder = file;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
// some zip file does not have a directory entry, see bug 0005472: [exchange view] cannot install
|
||||
// tFileDelimitedSplit from exchange
|
||||
if (directory == null) {
|
||||
int pos = entryName.indexOf("/"); //$NON-NLS-1$
|
||||
if (pos > -1) {
|
||||
directory = entryName.substring(0, pos);
|
||||
} else {
|
||||
pos = entryName.indexOf("\\"); //$NON-NLS-1$
|
||||
if (pos > -1) {
|
||||
directory = entryName.substring(0, pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (rootFolder == null && directory != null) {
|
||||
rootFolder = new File(targetFolder, directory);
|
||||
}
|
||||
|
||||
return rootFolder;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,320 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.components.exchange.jobs;
|
||||
|
||||
import java.text.DateFormat;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.core.language.ECodeLanguage;
|
||||
import org.talend.designer.components.exchange.model.AvailableExtensionViewDetail;
|
||||
import org.talend.designer.components.exchange.model.ComponentExtension;
|
||||
import org.talend.designer.components.exchange.model.ExchangeFactory;
|
||||
import org.talend.designer.components.exchange.model.Language;
|
||||
import org.talend.designer.components.exchange.model.RevisionInfo;
|
||||
import org.talend.designer.components.exchange.util.ExchangeUtils;
|
||||
import org.talend.designer.components.exchange.util.ExchangeWebService;
|
||||
|
||||
import us.monoid.json.JSONArray;
|
||||
import us.monoid.json.JSONObject;
|
||||
|
||||
/**
|
||||
*
|
||||
* DOC hcyi class global comment. Detailled comment
|
||||
*/
|
||||
public class ComponentSearcher {
|
||||
|
||||
private static final String RELEASE_DATE_FORMAT = "yyyy-MM-dd"; //$NON-NLS-1$
|
||||
|
||||
private static DateFormat formatter = new SimpleDateFormat(RELEASE_DATE_FORMAT);
|
||||
|
||||
/**
|
||||
* Find available components.
|
||||
*
|
||||
* @param version The tos version.
|
||||
* @param language The project language.
|
||||
* @return
|
||||
*/
|
||||
public static List<ComponentExtension> getAvailableComponentExtensions(String typeExtensionTemp, String versionStudioTemp,
|
||||
ECodeLanguage language, String category) {
|
||||
List<ComponentExtension> extensions = new ArrayList<ComponentExtension>();
|
||||
try {
|
||||
JSONArray extensionsJSONArray = ExchangeWebService.searchExtensionJSONArray(typeExtensionTemp, versionStudioTemp,
|
||||
category);
|
||||
if (extensionsJSONArray != null) {
|
||||
int size = extensionsJSONArray.length();
|
||||
for (int i = 0; i < size; i++) {
|
||||
JSONObject extensionObj = extensionsJSONArray.getJSONObject(i);
|
||||
Map<String, ComponentExtension> extensionsMap = new HashMap<String, ComponentExtension>();
|
||||
ComponentExtension extension = extensionsMap.get(extensionObj.getString("label"));
|
||||
if (extension == null) {
|
||||
extension = ExchangeFactory.eINSTANCE.createComponentExtension();
|
||||
//
|
||||
JSONObject extensionsViewDetailObj = ExchangeWebService.searchExtensionViewDetail(
|
||||
extensionObj.getString("idExtension"), "tos");
|
||||
extension.setIdExtension(extensionObj.getString("idExtension"));
|
||||
extension.setLabel(extensionObj.getString("label"));
|
||||
extension.setAuthor(extensionObj.getString("author"));
|
||||
extension.setRate(extensionObj.getString("rate"));
|
||||
extension.setTypeExtension(extensionObj.getString("typeExtension"));
|
||||
extension.setVersionExtension(extensionObj.getString("versionExtension"));
|
||||
if (extensionsViewDetailObj.length() > 0) {
|
||||
extension.setLastVersionAvailable(extensionsViewDetailObj.getString("lastVersionAvailable"));
|
||||
extension.setPublicationDate(formatter.parse(extensionsViewDetailObj.getString("publicationDate")));
|
||||
extension.setDescription(extensionsViewDetailObj.getString("description"));
|
||||
//
|
||||
List<AvailableExtensionViewDetail> reviews = new ArrayList<AvailableExtensionViewDetail>();
|
||||
if ((extensionsViewDetailObj.get("reviews")) != null
|
||||
&& (extensionsViewDetailObj.get("reviews") instanceof JSONArray)) {
|
||||
JSONArray o = extensionsViewDetailObj.getJSONArray("reviews");
|
||||
int sumRate = 0;
|
||||
int sizeDetail = o.length();
|
||||
for (int j = 0; j < sizeDetail; j++) {
|
||||
JSONObject review = o.getJSONObject(j);
|
||||
AvailableExtensionViewDetail extensionViewDetail = ExchangeFactory.eINSTANCE
|
||||
.createAvailableExtensionViewDetail();
|
||||
extensionViewDetail.setAuthor(review.getString("author"));
|
||||
extensionViewDetail.setTitle(review.getString("title"));
|
||||
extensionViewDetail.setComment(review.getString("comment"));
|
||||
extensionViewDetail.setReviewrate(review.getString("rate"));
|
||||
reviews.add(extensionViewDetail);
|
||||
sumRate = sumRate + Integer.parseInt(review.getString("rate"));
|
||||
}
|
||||
//
|
||||
if (sizeDetail > 0 && sumRate > 0) {
|
||||
int im = sumRate / sizeDetail;
|
||||
extension.setRate(im + "");
|
||||
}
|
||||
}
|
||||
extension.getReviews().addAll((Collection<? extends AvailableExtensionViewDetail>) reviews);
|
||||
}
|
||||
extensionsMap.put(extension.getIdExtension(), extension);
|
||||
extensions.add(extension);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
return extensions;
|
||||
|
||||
}
|
||||
|
||||
public static ComponentExtension getAvailableExtensionViewDetail(String idExtension, String typeExtension) {
|
||||
ComponentExtension extension = null;
|
||||
|
||||
try {
|
||||
JSONObject extensionJSONObject = ExchangeWebService.searchExtensionViewDetail(idExtension, typeExtension);
|
||||
Map<String, ComponentExtension> extensionsMap = new HashMap<String, ComponentExtension>();
|
||||
extension = extensionsMap.get(extensionJSONObject.getString("label"));
|
||||
if (extension == null) {
|
||||
extension = ExchangeFactory.eINSTANCE.createComponentExtension();
|
||||
extension.setIdExtension(extensionJSONObject.getString("idExtension"));
|
||||
extension.setLabel(extensionJSONObject.getString("label"));
|
||||
extension.setLastVersionAvailable(extensionJSONObject.getString("lastVersionAvailable"));
|
||||
extension.setPublicationDate(formatter.parse(extensionJSONObject.getString("publicationDate")));
|
||||
extension.setDescription(extensionJSONObject.getString("description"));
|
||||
extension.setRate(extensionJSONObject.getString("rate"));
|
||||
extension.setAuthor(extensionJSONObject.getString("author"));
|
||||
//
|
||||
List<AvailableExtensionViewDetail> reviews = new ArrayList<AvailableExtensionViewDetail>();
|
||||
JSONArray o = extensionJSONObject.getJSONArray("Reviews");
|
||||
int size = o.length();
|
||||
for (int i = 0; i < size; i++) {
|
||||
JSONObject review = o.getJSONObject(i);
|
||||
AvailableExtensionViewDetail extensionViewDetail = ExchangeFactory.eINSTANCE
|
||||
.createAvailableExtensionViewDetail();
|
||||
extensionViewDetail.setAuthor(review.getString("author"));
|
||||
extensionViewDetail.setTitle(review.getString("title"));
|
||||
extensionViewDetail.setComment(review.getString("comment"));
|
||||
extensionViewDetail.setReviewrate(review.getString("rate"));
|
||||
reviews.add(extensionViewDetail);
|
||||
}
|
||||
extensionsMap.put(extension.getIdExtension(), extension);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
return extension;
|
||||
|
||||
}
|
||||
|
||||
public static List<ComponentExtension> getImportComponentExtensions(String version, ECodeLanguage language, String type) {
|
||||
List<ComponentExtension> extensions = new ArrayList<ComponentExtension>();
|
||||
|
||||
try {
|
||||
List<RevisionInfo> revisions = ExchangeUtils.getRevisionList(version, getLanguageId(language), type);
|
||||
|
||||
Map<String, ComponentExtension> extensionsMap = new HashMap<String, ComponentExtension>();
|
||||
|
||||
for (RevisionInfo revision : revisions) {
|
||||
ComponentExtension extension = extensionsMap.get(revision.getExtension_id());
|
||||
if (extension == null) {
|
||||
extension = ExchangeFactory.eINSTANCE.createComponentExtension();
|
||||
extension.setIdExtension(revision.getExtension_id() + "");
|
||||
extension.setLabel(revision.getExtension_name());
|
||||
extension.setAuthor(revision.getAuthor_name());
|
||||
extension.setLanguage(Language.get(getLanguageId(language)));
|
||||
extension.setDescription(revision.getExtension_description());
|
||||
extension.setLinkDownload(revision.getDownload_url());
|
||||
extension.setFilename(revision.getFilename());
|
||||
extension.setVersionExtension(revision.getRevision_name());
|
||||
extensionsMap.put(revision.getExtension_id() + "", extension);
|
||||
extensions.add(extension);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
return extensions;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Find Contributed components.
|
||||
*
|
||||
* @param version The tos version.
|
||||
* @param language The project language.
|
||||
* @return
|
||||
*/
|
||||
public static List<ComponentExtension> getContributedExtensions(String version, ECodeLanguage language, String username,
|
||||
String passwordHash) {
|
||||
List<ComponentExtension> extensions = new ArrayList<ComponentExtension>();
|
||||
try {
|
||||
JSONArray extensionsJSONArray = ExchangeWebService.searchContributedExtensionJSONArray(username, passwordHash);
|
||||
if (extensionsJSONArray != null) {
|
||||
int size = extensionsJSONArray.length();
|
||||
for (int i = 0; i < size; i++) {
|
||||
JSONObject extensionObj = extensionsJSONArray.getJSONObject(i);
|
||||
Map<String, ComponentExtension> extensionsMap = new HashMap<String, ComponentExtension>();
|
||||
ComponentExtension extension = extensionsMap.get(extensionObj.getString("name"));
|
||||
if (extension == null) {
|
||||
extension = ExchangeFactory.eINSTANCE.createComponentExtension();
|
||||
//
|
||||
extension.setIdExtension(extensionObj.getString("idExtension"));
|
||||
extension.setTypeExtension(extensionObj.getString("typeExtension"));
|
||||
extension.setLabel(extensionObj.getString("name"));
|
||||
if (extensionObj.getString("dateExtension") != null
|
||||
&& !"".equals(extensionObj.getString("dateExtension"))) {
|
||||
extension.setPublicationDate(formatter.parse(extensionObj.getString("dateExtension")));
|
||||
} else {
|
||||
extension.setPublicationDate(formatter.parse(formatter.format(new Date())));
|
||||
}
|
||||
extension.setLastVersionAvailable(extensionObj.getString("lastVersion"));
|
||||
extensionsMap.put(extension.getIdExtension(), extension);
|
||||
extensions.add(extension);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
return extensions;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Find Installed components.
|
||||
*
|
||||
* @param version The tos version.
|
||||
* @param language The project language.
|
||||
* @return
|
||||
*/
|
||||
public static List<ComponentExtension> getInstalledExtensions(String version, ECodeLanguage language, String username,
|
||||
String passwordHash) {
|
||||
List<ComponentExtension> extensions = new ArrayList<ComponentExtension>();
|
||||
try {
|
||||
JSONArray extensionsJSONArray = ExchangeWebService.searchInstalledExtensionJSONArray(username, passwordHash);
|
||||
if (extensionsJSONArray != null) {
|
||||
int size = extensionsJSONArray.length();
|
||||
for (int i = 0; i < size; i++) {
|
||||
JSONObject extensionObj = extensionsJSONArray.getJSONObject(i);
|
||||
Map<String, ComponentExtension> extensionsMap = new HashMap<String, ComponentExtension>();
|
||||
ComponentExtension extension = extensionsMap.get(extensionObj.getString("name"));
|
||||
if (extension == null) {
|
||||
extension = ExchangeFactory.eINSTANCE.createComponentExtension();
|
||||
//
|
||||
extension.setIdExtension(extensionObj.getString("idExtension"));
|
||||
extension.setTypeExtension(extensionObj.getString("typeExtension"));
|
||||
extension.setLabel(extensionObj.getString("name"));
|
||||
extension.setDateDownload(formatter.parse(extensionObj.getString("dateDownload")));
|
||||
extension.setDownloadedVersion(extensionObj.getString("downloadedVersion"));
|
||||
extension.setVersionExtension(extensionObj.getString("lastVersion"));
|
||||
extensionsMap.put(extension.getIdExtension(), extension);
|
||||
extensions.add(extension);
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
return extensions;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Search components according to user input.
|
||||
*
|
||||
* @param components All available components.
|
||||
* @param query The user input.
|
||||
* @param featureIds The field to search, e.g. name or description.
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
public static List<ComponentExtension> filterComponentExtensions(List<ComponentExtension> components, String query,
|
||||
int[] featureIds) throws Exception {
|
||||
return components;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the components that have been installed.
|
||||
*
|
||||
* @param components
|
||||
* @return
|
||||
*/
|
||||
public static List<ComponentExtension> getInstalledExtensions(List<ComponentExtension> components) {
|
||||
List<ComponentExtension> installed = new ArrayList<ComponentExtension>();
|
||||
for (ComponentExtension component : components) {
|
||||
}
|
||||
return installed;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the project language to id.
|
||||
*
|
||||
* @param language
|
||||
* @return
|
||||
*/
|
||||
private static int getLanguageId(ECodeLanguage language) {
|
||||
switch (language) {
|
||||
case JAVA:
|
||||
return Language.JAVA_VALUE;
|
||||
case PERL:
|
||||
return Language.PERL_VALUE;
|
||||
}
|
||||
// unknow language
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
// ============================================================================
|
||||
//
|
||||
// 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.components.exchange.jobs;
|
||||
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.designer.components.exchange.i18n.Messages;
|
||||
import org.talend.designer.components.exchange.model.ComponentExtension;
|
||||
import org.talend.designer.components.exchange.util.ExchangeUtils;
|
||||
import org.talend.designer.components.exchange.util.ExchangeWebService;
|
||||
import org.talend.designer.components.exchange.util.WebserviceStatus;
|
||||
|
||||
/**
|
||||
* DOC hcyi class global comment. Detailled comment
|
||||
*/
|
||||
public class DeleteExtensionJob extends Job {
|
||||
|
||||
private String deleteExtensionId;
|
||||
|
||||
private WebserviceStatus ws = null;
|
||||
|
||||
public DeleteExtensionJob(ComponentExtension extension) {
|
||||
super(Messages.getString("DeleteExtensionJob.DeleteExtensionJob.Title")); //$NON-NLS-1$
|
||||
this.deleteExtensionId = extension.getIdExtension();
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
|
||||
*/
|
||||
@Override
|
||||
protected IStatus run(IProgressMonitor monitor) {
|
||||
monitor.beginTask(Messages.getString("DeleteExtensionJob.DeleteExtensionJob.Message"), IProgressMonitor.UNKNOWN);
|
||||
|
||||
// run in another thread, make it possible to stop the remote procedure call when user press cancel
|
||||
// button
|
||||
ExecutorService executor = Executors.newSingleThreadExecutor();
|
||||
Future<WebserviceStatus> task = executor.submit(new Callable<WebserviceStatus>() {
|
||||
|
||||
public WebserviceStatus call() throws Exception {
|
||||
WebserviceStatus webserviceStatus;
|
||||
if (ExchangeUtils.checkUserAndPassword()) {
|
||||
webserviceStatus = ExchangeWebService.deleteExtensionService(deleteExtensionId, ExchangeUtils.TYPEEXTENSION,
|
||||
ExchangeUtils.getUserName(), ExchangeUtils.getPasswordHash());
|
||||
} else {
|
||||
webserviceStatus = new WebserviceStatus();
|
||||
webserviceStatus.setMessageException(Messages.getString("Exchange.logon.error"));
|
||||
}
|
||||
return webserviceStatus;
|
||||
}
|
||||
});
|
||||
|
||||
while (true) {
|
||||
try {
|
||||
if (monitor.isCanceled()) {
|
||||
// stop the web service call
|
||||
task.cancel(true);
|
||||
return Status.CANCEL_STATUS;
|
||||
} else if (task.isDone()) {
|
||||
// web service call complete
|
||||
ws = task.get();
|
||||
break;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
return Status.CANCEL_STATUS;
|
||||
} finally {
|
||||
executor.shutdown();
|
||||
}
|
||||
}
|
||||
monitor.done();
|
||||
return Status.OK_STATUS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getter for ws.
|
||||
*
|
||||
* @return the ws
|
||||
*/
|
||||
public WebserviceStatus getWs() {
|
||||
return this.ws;
|
||||
}
|
||||
|
||||
}
|
||||