Compare commits
10 Commits
release/5.
...
release/5.
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0801504e07 | ||
|
|
ac402846f0 | ||
|
|
3263ab3c56 | ||
|
|
1e176ed6d6 | ||
|
|
056197eccc | ||
|
|
be58d3d48c | ||
|
|
6a6803a8df | ||
|
|
2ee02183d4 | ||
|
|
3a6f338f8b | ||
|
|
9c40e53170 |
@@ -740,7 +740,7 @@
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="true"/>
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.jet.core"
|
||||
|
||||
@@ -2,12 +2,6 @@ PushToPaletteActionProvider.Error2=Fout
|
||||
PushToPaletteActionProvider.Error=Fout
|
||||
NewActionProvider.New=Nieuw
|
||||
NewActionProvider.NewComponent=Nieuw Component
|
||||
AbstractXMLConfigPage.Delete=Verwijderen
|
||||
WizardJetFilesChoosePage.Directory=Directory:
|
||||
CreateComponentWizard.NewComponent=Nieuw Component
|
||||
WizardComponentFolderPage.Name=Naam
|
||||
WizardComponentFolderPage.Perl=Perl
|
||||
WizardJetFilesChoosePage.UseDefaultIcon=Gebruik default icon
|
||||
WizardJetFilesChoosePage.ChoseAIcon=Kies een icon
|
||||
AbstractXMLConfigPage.New=Nieuw
|
||||
WizardComponentFolderPage.Java=Java
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
PushToPaletteActionProvider.Error2=Gre\u0161ka
|
||||
PushToPaletteActionProvider.Error=Gre\u0161ka
|
||||
AbstractXMLConfigPage.Delete=DELETE
|
||||
|
||||
@@ -1,87 +0,0 @@
|
||||
FileCopy.ExceptionMSG=\u6E90\u6587\u4EF6"
|
||||
EditComponentActionProvider.Edit=\u7F16\u8F91\u7EC4\u4EF6
|
||||
ImportComponentDialog.ErrorMSG4=\u6CA1\u6709\u9009\u62E9\u7EC4\u4EF6\u5BFC\u5165
|
||||
AbstractXMLConfigPage.TYPETip=%u8CC7%u6599%u578B%u614B.
|
||||
PushToPaletteActionProvider.Error2=\u9519\u8BEF
|
||||
CopyFromPaletteActionProvider.Label2=\u4ECEpalette\u5BFC\u5165\u7EC4\u4EF6
|
||||
AbstractXMLConfigPage.MAXOUTPUTTip=\u6574\u6570\u503C.\u8FDE\u63A5\u6700\u5927\u503C\u8F93\u51FA
|
||||
ImportComponentDialog.Browser=\u6D4F\u89C8..
|
||||
ComponentProjectPreferencePage.WarningMSG=\u8B66\u544A,\u8FD9\u79CD\u4FEE\u6539\u4EC5\u4EC5\u5F71\u54CD\u7EC4\u4EF6\u8BBE\u8BA1\u5668\uFF0C\u4E0D\u5F71\u54CDPalette.
|
||||
AbstractXMLConfigPage.MAXINPUTTip=\u6574\u6570\u503C.\u8FDE\u63A5\u6700\u5927\u503C\u8F93\u5165.
|
||||
PushToPaletteActionProvider.ErrorMSG2=\u7528\u6237\u7EC4\u4EF6\u6587\u4EF6\u5939\u4E0D\u5B58\u5728\u3002
|
||||
ComponentProjectManager.CreationProblems=\u95ee\u9898\u521b\u5efa
|
||||
CopyComponentActionProvider.InputName=\u8F93\u5165\u65B0\u7684\u7EC4\u4EF6\u540D
|
||||
CreateComponentWizard.SpecifyRes=\u6307\u5B9A\u8D44\u6E90
|
||||
AbstractXMLConfigPage.REPOSITORYVALUETip=%u9078%u64C7 Metadata %u5132%u85CF%u5EAB.
|
||||
PushToPaletteActionProvider.ErrorMSG=\u7528\u6237\u7EC4\u4EF6\u6587\u4EF6\u5939\u672A\u8BBE\u7F6E\u3002
|
||||
AbstractXMLConfigPage.NUMROWTip=\u6574\u6570\u503C.\u6B64\u53C2\u6570\u5217\u4F4D\u7F6E\u5728\u7EC4\u4EF6\u89C6\u56FE
|
||||
PushToPaletteActionProvider.Error=\u9519\u8BEF
|
||||
ComponentProjectManager.InternalErrorMsg=\u5185\u90E8\u9519\u8BEF\uFF1A{0}
|
||||
AbstractXMLConfigPage.IntValue=%u6574%u6578%u503C
|
||||
ImportComponentDialog.ImportCanceled=\u5BFC\u5165\u7EC4\u4EF6\u5DF2\u53D6\u6D88
|
||||
PushToPaletteActionProvider.OK=\u786E\u5B9A
|
||||
WizardJetFilesChoosePage.BeginFile=\u5F00\u59CB\u6587\u4EF6
|
||||
AbstractXMLConfigPage.COLORTip=RGB\u5341\u516D\u8FDB\u5236.\u4F8B\u5982:"00FF00"
|
||||
CreateComponentWizard.CreateXMLPerl=\u521B\u5EFAPERL\u7EC4\u4EF6\u7684XML\u914D\u7F6E\u6587\u4EF6
|
||||
ImportComponentDialog.SelectDirectoryLabel=\u9009\u62E9\u4E00\u4E2A\u8DEF\u5F84\uFF1A
|
||||
PushToPaletteActionProvider.Information=\u4FE1\u606F
|
||||
PluginConstant.Borwser=\u6D4F\u89C8..
|
||||
NewActionProvider.New=\u65b0
|
||||
AbstractXMLConfigPage.EXTENSIONTip=\u63D2\u4EF6\u540D\u79F0\u5B57\u7B26\u4E32\u503C.\u6B64\u9009\u9879\u7528\u4E8E\u5916\u90E8\u7EC4\u4EF6.
|
||||
ImportComponentDialog.ShowPaletteComponents=\u663E\u793A\u7EC4\u4EF6\u8C03\u8272\u677F
|
||||
ComponentProjectPreferencePage.ChooseProject=\u9009\u62E9\u7EC4\u4EF6\u8BBE\u8BA1\u5DE5\u7A0B\u6587\u4EF6\u5939
|
||||
WizardComponentFolderPage.ErrMSG5=\u7EC4\u4EF6\u65CF\u65E0\u5185\u5BB9
|
||||
AbstractXMLConfigPage.BooleanTip=Boolean\u503C(\u771F\u6216\u5047).
|
||||
AbstractXMLConfigPage.Delete=\u5220\u9664
|
||||
WizardComponentFolderPage.ErrMSG3=\u7EC4\u4EF6\u5DF2\u5B58\u5728
|
||||
WizardComponentFolderPage.ErrMSG2=\u7EC4\u4EF6\u540D\u4E3A\u7A7A
|
||||
WizardComponentFolderPage.ErrMSG1=\u6CA1\u6709\u9009\u62E9\u7EC4\u4EF6\u7684\u8BED\u8A00
|
||||
CreateComponentWizard.FillIn=\u586B\u5199\u7EC4\u4EF6\u5C5E\u6027
|
||||
ImportComponentDialog.ImportCanceledMSG=\u5DF2\u53D6\u6D88\u4ECEPalette\u4E0A\u5BFC\u5165\u7EC4\u4EF6
|
||||
ComponentProjectPreferencePage.Warning=\u8B66\u544A
|
||||
AbstractXMLConfigPage.VERSIONTip=%u8ACB%u7528%u4E00%u500B%u5341%u9032%u4F4D%u6578%u503C%u4F86%u6A19%u8A18%u60A8%u7684%u65B0%u5143%u4EF6%u7248%u672C.
|
||||
WizardJetFilesChoosePage.Directory=\u76EE\u5F55
|
||||
WizardComponentFolderPage.Name=\u8fde\u63a5\u540d
|
||||
RemoveResourceAction.Remove=\u5220\u9664
|
||||
WizardJetFilesChoosePage.UseIconFrom=\u9009\u62E9\u56FE\u6807\uFF1A
|
||||
ImportComponentDialog.ImportFinished=\u5BFC\u5165\u7EC4\u4EF6\u5B8C\u6210
|
||||
AbstractXMLConfigPage.SetProperties=\u8BBE\u7F6E\u9009\u62E9\u5143\u7D20\u5C5E\u6027
|
||||
ProjectSelectionDialog.ChooseFolder=\u5728\u6B64\u4F1A\u8BDD\u4E2D\u9009\u62E9\u4E00\u4E2A\u5DE5\u7A0B\u6587\u4EF6\u5939
|
||||
ComponentProjectPreferencePage.ComponentProject=\u7EC4\u4EF6\u5DE5\u7A0B
|
||||
ImportComponentDialog.ImportFinishedMSG=\u7EC4\u4EF6\u5BFC\u5165\u6210\u529F
|
||||
AddExternalResourceAction.ErrorTitle=\u5916\u90E8\u6863\u6848\u9519\u8BEF
|
||||
AbstractXMLConfigPage.MININPUTTip=\u6574\u6570\u503C.\u8FDE\u63A5\u6700\u5C0F\u503C\u8F93\u51FA
|
||||
WizardJetFilesChoosePage.MainFile=\u4E3B\u6587\u4EF6
|
||||
CreateComponentWizard.CreateXMLJava=\u521B\u5EFAJava\u7EC4\u4EF6\u7684XML\u914D\u7F6E\u6587\u4EF6
|
||||
WizardJetFilesChoosePage.UseDefaultIcon=\u4F7F\u7528\u9ED8\u8BA4\u7684\u56FE\u6807
|
||||
CopyComponentActionProvider.CopyComponent=\u590D\u5236\u8FD9\u4E2A\u7EC4\u4EF6
|
||||
ImportComponentDialog.ChooseComponentsLabel=\u9009\u62E9\u8981\u5BFC\u5165\u7684\u7EC4\u4EF6\uFF1A
|
||||
AddExternalResourceAction.ErrorMsg=\u9009\u5B9A\u7684\u5916\u90E8\u6863\u6848\u662F\u4E0D\u53EF\u7528\u6216\u4E0D\u5B58\u5728.
|
||||
ComponentProjectManager.NewProject=\u65B0\u7EC4\u4EF6\u9879\u76EE
|
||||
CopyFromPaletteActionProvider.Label=\u4ECEPalette\u590D\u5236\u7EC4\u4EF6
|
||||
WizardJetFilesChoosePage.ChoseAIcon=\u9009\u62E9\u6309\u94AE
|
||||
ComponentProjectPreferencePage.SelectPath=\u9009\u62E9\u7EC4\u4EF6\u5DE5\u7A0B\u8DEF\u5F84
|
||||
AbstractXMLConfigPage.LINESTYLETip=\u6574\u6570\u503C.\u8FDE\u63A5\u7EBF\u98CE\u683C(1: Solid, 2: Dash, 3: Dot, 4: Dashdot)
|
||||
WizardJetFilesChoosePage.EndFile=\u7ED3\u675F\u6587\u4EF6
|
||||
PushToPaletteActionProvider.InformationMSG=\u7EC4\u4EF6\u5DF2\u53D1\u5E03\uFF0Cpalette\u5C06\u5237\u65B0\u3002
|
||||
ProjectSelectionDialog.ComponentProject=\u7EC4\u4EF6\u5DE5\u7A0B
|
||||
ComponentProjectPreferencePage.ButtonLabel0=\u786E\u5B9A
|
||||
AbstractXMLConfigPage.New=\u65b0
|
||||
CopyComponentValidator.ComponentExist=\u6B64\u7EC4\u4EF6\u5DF2\u5B58\u5728
|
||||
ImportComponentDialog.WarningMSG=\u64CD\u4F5C\u5C06\u8986\u76D6\u5DE5\u4F5C\u533A\u5DF2\u5B58\u5728\u7684\u7EC4\u4EF6\u3002\u60A8\u771F\u7684\u8981\u5BFC\u5165\u5DF2\u9009\u62E9\u7684\u7EC4\u4EF6\u5417\uFF1F
|
||||
CreateComponentWizard.MainProperties=\u4E3B\u8981\u5C5E\u6027
|
||||
ComponentProjectManager.WarningMsg=\u5E95\u5C42\u6587\u4EF6\u7CFB\u7EDF\u4E0D\u533A\u5206\u5927\u5C0F\u5199\u3002\u5DF2\u7ECF\u5B58\u5728\u4E00\u4E2A\u9879\u76EE\u4E0E{0}\u51B2\u7A81
|
||||
WizardComponentFolderPage.Family=\u65cf
|
||||
PushToPaletteActionProvider.OK3=\u786E\u5B9A
|
||||
PushToPaletteActionProvider.OK2=\u786E\u5B9A
|
||||
CopyComponentActionProvider.CopyComponent2=\u590D\u5236\u7EC4\u4EF6
|
||||
AbstractXMLConfigPage.CTYPETip=\u8FDE\u7ED3\u5668\u7C7B\u578B
|
||||
AddResourceAction.ChooseResource=&\u9009\u62E9\u6DFB\u52A0jars\u548Czips:
|
||||
ImportComponentDialog.WarningTitle=\u8B66\u544A
|
||||
AddExternalResourceAction.AddELibs=\u6DFB\u52A0\u5916\u90E8\u5E93...
|
||||
ImportComponentDialog.NoComponentsAvailable=\u6CA1\u6709\u53EF\u7528\u7684\u7EC4\u4EF6
|
||||
AbstractXMLConfigPage.MINOUTPUTTip=\u6574\u6570\u503C\u3002\u8FDE\u63A5\u6700\u5C0F\u503C\u8F93\u51FA
|
||||
ValidateComponentXMLActionProvider.ok=\u786E\u8BA4
|
||||
ValidateComponentXMLActionProvider.result=\u9A8C\u8BC1\u7ED3\u679C
|
||||
ValidateComponentXMLActionProvider.valid=\u7EC4\u4EF6XML\u6587\u4EF6\u5408\u6CD5\uFF01
|
||||
ValidateComponentXMLActionProvider.validate=\u9A8C\u8BC1\u7EC4\u4EF6XML\u6587\u4EF6
|
||||
@@ -1,6 +0,0 @@
|
||||
FileWizard.0=\u6587\u4EF6\u5411\u5BFC
|
||||
\n
|
||||
ApplicationActionBarAdvisor.helpMenu=\u5E2E\u52A9(&H)
|
||||
ApplicationActionBarAdvisor.fileMenu=\u6587\u4EF6(&F)
|
||||
ShowViewAction.actionLabel=\u663E\u793A\u89C6\u56FE...(&v)
|
||||
ApplicationActionBarAdvisor.windowMenu=\u7A97\u53E3(&W)
|
||||
@@ -12,6 +12,10 @@
|
||||
// ============================================================================
|
||||
package org.talend.componentdesigner;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Properties;
|
||||
|
||||
import org.apache.log4j.PropertyConfigurator;
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
@@ -42,10 +46,18 @@ public class ComponentDesigenerPlugin extends AbstractUIPlugin {
|
||||
*
|
||||
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
super.start(context);
|
||||
plugin = this;
|
||||
Properties prop = new Properties();
|
||||
try {
|
||||
prop.load(ComponentDesigenerPlugin.class.getResourceAsStream("log4j.properties")); //$NON-NLS-1$
|
||||
} catch (IOException e) {
|
||||
// e.printStackTrace();
|
||||
org.talend.componentdesigner.exception.ExceptionHandler.process(e);
|
||||
}
|
||||
|
||||
PropertyConfigurator.configure(prop);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -53,7 +65,6 @@ public class ComponentDesigenerPlugin extends AbstractUIPlugin {
|
||||
*
|
||||
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
@Override
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
plugin = null;
|
||||
super.stop(context);
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
### direct log messages to stdout ###
|
||||
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.stdout.Target=System.out
|
||||
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
||||
|
||||
### direct messages to file hibernate.log ###
|
||||
#log4j.appender.file=org.apache.log4j.FileAppender
|
||||
#log4j.appender.file.File=hibernate.log
|
||||
#log4j.appender.file.layout=org.apache.log4j.PatternLayout
|
||||
#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
|
||||
|
||||
### set log levels - for more verbose logging change 'info' to 'debug' ###
|
||||
|
||||
log4j.rootLogger=warn, stdout
|
||||
|
||||
#log4j.logger.org.hibernate=info
|
||||
log4j.logger.org.hibernate=debug
|
||||
|
||||
### log HQL query parser activity
|
||||
#log4j.logger.org.hibernate.hql.ast.AST=debug
|
||||
|
||||
### log just the SQL
|
||||
#log4j.logger.org.hibernate.SQL=debug
|
||||
|
||||
### log JDBC bind parameters ###
|
||||
log4j.logger.org.hibernate.type=info
|
||||
#log4j.logger.org.hibernate.type=debug
|
||||
|
||||
### log schema export/update ###
|
||||
log4j.logger.org.hibernate.tool.hbm2ddl=debug
|
||||
|
||||
### log HQL parse trees
|
||||
#log4j.logger.org.hibernate.hql=debug
|
||||
|
||||
### log cache activity ###
|
||||
#log4j.logger.org.hibernate.cache=debug
|
||||
|
||||
### log transaction activity
|
||||
#log4j.logger.org.hibernate.transaction=debug
|
||||
|
||||
### log JDBC resource acquisition
|
||||
#log4j.logger.org.hibernate.jdbc=debug
|
||||
|
||||
### enable the following line if you want to track down connection ###
|
||||
### leakages when using DriverManagerConnectionProvider ###
|
||||
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace
|
||||
@@ -1,3 +0,0 @@
|
||||
prefs.configuration.LINK_STYLE.AUTO=\u81EA\u52A8
|
||||
prefs.configuration.title=\u8fd0\u884c\u6b65\u9aa4\u914d\u7f6e
|
||||
prefs.configuration.LINK_STYLE=\u9ED8\u8BA4\u94FE\u63A5\u663E\u793A\u4E3A\uFF1A
|
||||
@@ -12,9 +12,6 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.abstractmap;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.oro.text.regex.MalformedPatternException;
|
||||
import org.apache.oro.text.regex.Pattern;
|
||||
import org.apache.oro.text.regex.PatternCompiler;
|
||||
@@ -112,34 +109,21 @@ public abstract class AbstractMapComponent extends AbstractExternalNode {
|
||||
hasOrRenameData(oldName, newName, true);
|
||||
|
||||
}
|
||||
|
||||
private static Map<String, Pattern> patternsCache = new HashMap<String, Pattern>();
|
||||
|
||||
protected final Pattern getRenamePattern(String oldName) {
|
||||
if (patternsCache.containsKey(oldName)) {
|
||||
return patternsCache.get(oldName);
|
||||
}
|
||||
PatternCompiler compiler = new Perl5Compiler();
|
||||
Pattern pattern = null;
|
||||
try {
|
||||
pattern = compiler.compile("\\b(" + UpdateContextVariablesHelper.replaceSpecialChar(oldName) + ")(\\b|\\_)"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
patternsCache.put(oldName, pattern);
|
||||
return pattern;
|
||||
} catch (MalformedPatternException e) {
|
||||
ExceptionHandler.process(e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static Map<String, Perl5Substitution> substitutionsCache = new HashMap<String, Perl5Substitution>();
|
||||
|
||||
protected final Perl5Substitution getRenameSubstitution(String newName) {
|
||||
if (substitutionsCache.containsKey(newName)) {
|
||||
return substitutionsCache.get(newName);
|
||||
}
|
||||
Perl5Substitution ps = new Perl5Substitution(newName + "$2", Perl5Substitution.INTERPOLATE_ALL); //$NON-NLS-1$
|
||||
substitutionsCache.put(newName, ps);
|
||||
return ps;
|
||||
return new Perl5Substitution(newName + "$2", Perl5Substitution.INTERPOLATE_ALL); //$NON-NLS-1$
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
AlfrescoModelDialog.missingAspectDefinitions.msg=\u6240\u9009\u62E9\u7684\u65B9\u9762\u6D89\u53CA\u672A\u77E5\u7684Alfresco\u65B9\u9762: ${0}.\u8BF7\u63D0\u4F9Balfresco \u6A21\u578B\u6587\u4EF6\u5B9A\u4E49\u4ED6\u4EEC.
|
||||
AlfrescoModelDialog.modelTable.title=\u6807\u9898
|
||||
AlfrescoModelDialog.availableAspects=\u53EF\u7528\u56E0\u7D20
|
||||
AlfrescoModelDialog.missingAspectDefinitions.title=\u7F3A\u7701\u65B9\u9762\u5B9A\u4E49
|
||||
AlfrescoOutputManager.schemaError.title=schema\u9519\u8BEF
|
||||
AlfrescoModelDialog.missingTypeDefinitions.msg=\u6240\u9009\u62E9\u7684\u7C7B\u578B\u6D89\u53CA\u672A\u77E5\u7684Alfresco\u7C7B\u578B\u6216\u65B9\u9762: ${0}.\uFF0C\u8BF7\u63D0\u4F9Balfresco \u6A21\u578B\u6587\u4EF6\u5B9A\u4E49\u4ED6\u4EEC.
|
||||
AlfrescoModelDialog.missingTypeDefinitions.title=\u7F3A\u7701\u7C7B\u578B\u5B9A\u4E49
|
||||
AlfrescoModelDialog.add=\u6DFB\u52A0...
|
||||
AlfrescoOutputModelManager.errorReadingModel=\u8BFB\u53D6Alfresco\u7684\u6A21\u578B\u6587\u4EF6\u9519\u8BEF
|
||||
AlfrescoModelDialog.aspects=\u65B9\u9762
|
||||
AlfrescoOutputManager.schemaError.msg=\u8BF7\u5148\u540C\u6B65schema
|
||||
AlfrescoOutputModelManager.alreadyAdded=\u8BE5\u6A21\u578B\u5DF2\u6DFB\u52A0
|
||||
AlfrescoModelDialog.removeModelFailed=\u79FB\u9664\u6A21\u578B\u5931\u8D25
|
||||
AlfrescoOutputModelManager.prefixConflict=\u65E0\u6CD5\u6DFB\u52A0\u6A21\u578B\uFF0C\u524D\u7F00\u4E0E\u4EE5\u524D\u6DFB\u52A0\u6A21\u578B\u51B2\u7A81
|
||||
AlfrescoOutputModelManager.notYetAdded=\u8BE5\u6A21\u578B\u5C1A\u672A\u6DFB\u52A0
|
||||
AlfrescoModelDialog.type=\u7C7B\u578B
|
||||
AlfrescoModelDialog.addModelFailed=\u6DFB\u52A0\u6A21\u578B\u5931\u8D25
|
||||
AlfrescoModelDialog.modelTable.name=\u8fde\u63a5\u540d
|
||||
AlfrescoModelDialog.remove=\u5220\u9664
|
||||
AlfrescoOutputManager.failedLoadModel=\u65E0\u6CD5\u52A0\u8F7D\u7684\u7EC4\u4EF6\u5143\u6570\u636E\u6A21\u578B, \u91CD\u65B0\u521D\u59CB\u5316
|
||||
@@ -1 +0,0 @@
|
||||
pluginName=\u7EC4\u4EF6\u6A21\u5757
|
||||
@@ -1,80 +0,0 @@
|
||||
BusinessInitDiagramFileAction.DiagramFile=\u56FE\u8868\u6587\u4EF6
|
||||
BusinessAbstractParser.ValueOfLongIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3ALong
|
||||
BusinessAbstractParser.ValueOfFloatIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3AFloat
|
||||
BusinessPaletteFactory.DataComment=\u521B\u5EFA\u65B0\u7684\u6570\u636E
|
||||
CreateDiagramAction.CreateBusinessModel=\u521B\u5EFA\u4E1A\u52A1\u6A21\u578B
|
||||
BusinessCreationWizardPage.CreatenewBusinessDiagram=\u521B\u5EFA\u65B0\u7684\u903B\u8F91\u56FE\u3002
|
||||
BusinessAbstractParser.StringIntegerConvertError=String\u7C7B\u578B\u7684\u503C\u4E0D\u80FD\u8F6C\u6362\u4E3AInteger\u7C7B\u578B
|
||||
BusinessPaletteFactory.CreateGear=\u521B\u5EFA\u9F7F\u8F6E
|
||||
SimpleBusinessCreationWizardPage.Title=\u65B0\u7684\u4E1A\u52A1\u6A21\u578B
|
||||
BusinessNewDiagramFileWizard.CreateNewDiagram=\u521B\u5EFA\u65B0\u7684\u56FE\u8868
|
||||
BusinessAbstractParser.UnknownLiteral=\u65E0\u6548\u7684\u6587\u5B57
|
||||
BusinessAbstractParser.StringLongConverError=String\u7C7B\u578B\u7684\u503C\u4E0D\u80FD\u8F6C\u6362\u4E3ALong\u7C7B\u578B
|
||||
AssignmentPropertySection.DeleteAssignment=\u5220\u9664\u8D4B\u503C
|
||||
AssignmentPropertySection.Type=\u7C7B\u578B
|
||||
BusinessModelingAssistantProvider.AvaiableDomainModelElements=\u65E0\u6548\u7684\u57DF\u6A21\u578B\u5143\u7D20
|
||||
BusinessPaletteFactory.BidirectionalRelationShip=\u53CC\u5411\u5173\u8054
|
||||
BusinessPaletteFactory.CreateDirectionalRelationShip=\u521B\u5EFA\u65B9\u5411\u5173\u8054
|
||||
BusinessPaletteFactory.CreateBidirectionalRelationShip=\u521B\u5EFA\u53CC\u5411\u5173\u8054
|
||||
AssignmentPropertySection.Name=\u540D\u79F0
|
||||
CreateAssignmentCommand.CannotAssign=\u4E0D\u80FD\u5206\u914D\u3002
|
||||
BusinessNewDiagramFileWizard.DiagramRootElement=\u56FE\u8868\u6839\u5143\u7D20
|
||||
BusinessNewDiagramFileWizard.NoDiagramRootElementSelectedError=\u6CA1\u6709\u56FE\u8868\u6839\u5143\u7D20\u88AB\u9009\u4E2D
|
||||
BusinessVisualIDRegistry.ParseError=\u4E0D\u80FD\u628A\u89C6\u56FE\u7C7B\u578B\u5F53\u4F5CvisialID\u6570\u5B57\u6765\u8F6C\u6362
|
||||
OpenDiagramAction.EditBusinessModel=\u7F16\u8F91\u4E1A\u52A1\u6A21\u578B
|
||||
BusinessAbstractParser.ValueOfTypeByteIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3AByte
|
||||
BusinessAbstractParser.ValueOfTypeCharacterIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3ACharacter
|
||||
BusinessPaletteFactory.ActionComment=\u521B\u5EFA\u65B0\u7684\u52A8\u4F5C
|
||||
BusinessAbstractParser.ValueOfTypeStringIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3AString
|
||||
BusinessInitDiagramFileAction.Error=\u9519\u8BEF
|
||||
BusinessNewDiagramFileWizard.SelectRootElement=\u9009\u62E9\u56FE\u8868\u6839\u5143\u7D20
|
||||
RepositoryFactoryProxyLabelProvider.Deleted=\uFF08\u5220\u9664\uFF09
|
||||
BusinessPaletteFactory.TerminalComment=\u521B\u5EFA\u65B0\u7684\u4E2D\u65AD\u70B9
|
||||
BusinessAbstractParser.ValueOfShortIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3AShort
|
||||
BusinessPaletteFactory.DatabaseComment=\u521B\u5EFA\u65B0\u7684\u6570\u636E\u5E93
|
||||
AssignmentPropertySection.Comment=\u6CE8\u91CA
|
||||
SimpleBusinessCreationWizard.NewBusinessModel=\u65B0\u7684\u4E1A\u52A1\u578B
|
||||
BusinessNewDiagramFileWizard.InvalidDiagramRootElementSelected=\u9009\u4E2D\u4E86\u65E0\u6548\u7684\u56FE\u8868\u6839\u5143\u7D20
|
||||
BusinessInitDiagramFileAction.IntialNew=\u521D\u59CB\u5316\u65B0\u7684
|
||||
FindAssignmentAction.FindAssignments=\u67E5\u627E\u5206\u914D\u4EFB\u52A1
|
||||
RepositoryFactoryProxyLabelProvider.NotFound=\uFF08\u672A\u53D1\u73B0\uFF09
|
||||
BusinessPaletteFactory.Terminal=\u4E2D\u65AD\u70B9
|
||||
BusinessAbstractParser.InvalidInputAt=\u65E0\u6548\u7684\u8F93\u5165\u5728
|
||||
BusinessPaletteFactory.Gear=\u9F7F\u8F6E
|
||||
BusinessPaletteFactory.InputComment=\u521B\u5EFA\u65B0\u7684\u8F93\u5165
|
||||
BusinessPaletteFactory.Data=\u6570\u636E
|
||||
BusinessPaletteFactory.Ellipse=\u692D\u5706
|
||||
BusinessPaletteFactory.Input=\u8F93\u5165
|
||||
BusinessPaletteFactory.List=\u5217\u8868
|
||||
BusinessPaletteFactory.Relationshop=\u5173\u7CFB
|
||||
BusinessAbstractParser.ValueOfBooleanIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3ABoolean
|
||||
BusinessPaletteFactory.decision=\u51B3\u7B56
|
||||
BusinessPaletteFactory.Document=\u6587\u6863
|
||||
BusinessModelingAssistantProvider.SelectDomainModelElement=\u9009\u62E9\u57DF\u6A21\u578B\u5143\u7D20
|
||||
BusinessPaletteFactory.CreateActor=\u521B\u5EFA\u89D2\u8272
|
||||
BusinessAbstractParser.StringDoubleConvertError=String\u7C7B\u578B\u7684\u503C\u4E0D\u80FD\u8F6C\u6362\u4E3ADoule\u7C7B\u578B
|
||||
BusinessPaletteFactory.Actor=\u89D2\u8272
|
||||
EditAction.Edit=\u7F16\u8F91\u5206\u914D\u4EFB\u52A1
|
||||
BusinessCreationWizardPage.CreateBusinessDiagram=\u521B\u5EFA\u903B\u8F91\u56FE
|
||||
BusinessPaletteFactory.Database=\u6570\u636E\u6E90
|
||||
BusinessPaletteFactory.ListComment=\u521B\u5EFA\u65B0\u7684\u5217\u8868
|
||||
BusinessPaletteFactory.DirectionalRelationShip=\u65B9\u5411\u5173\u8054
|
||||
BusinessPaletteFactory.Action=\u52A8\u4F5C
|
||||
BusinessPaletteFactory.RelationshopComment=\u521B\u5EFA\u65B0\u7684\u5173\u7CFB
|
||||
BusinessInitDiagramFileAction.LoadFaild=\u6A21\u578B\u6587\u4EF6\u88C5\u8F7D\u5931\u8D25
|
||||
BusinessPaletteFactory.DecisionComment=\u521B\u5EFA\u65B0\u7684\u51B3\u7B56
|
||||
BusinessAbstractParser.ValueOfDoubleIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3ADouble
|
||||
OpenDiagramAction.ReadBusinessModel=\u8BFB\u53D6\u4E1A\u52A1\u6A21\u578B
|
||||
BusinessInitDiagramFileAction.UnableToLoadResource=\u4E0D\u80FD\u53BB\u88C5\u8F7D\u8D44\u6E90:
|
||||
BusinessPaletteFactory.CreateEllipse=\u521B\u5EFA\u692D\u5706
|
||||
BusinessNewDiagramFileWizard.DiagramFile=\u56FE\u8868\u6587\u4EF6
|
||||
BusinessAbstractParser.StringShortConverError=String\u7C7B\u578B\u7684\u503C\u4E0D\u80FD\u8F6C\u6362\u4E3AShort\u7C7B\u578B
|
||||
BusinessPaletteFactory.DocuemntComment=\u521B\u5EFA\u65B0\u7684\u6587\u6863
|
||||
BusinessAbstractParser.ValueOfIntegerIsExpected=\u503C\u7684\u7C7B\u578B\u5E94\u8BE5\u4E3AInteger
|
||||
BusinessNewDiagramFileWizard.SelectDiagramRootElement=\u9009\u62E9\u56FE\u8868\u6839\u5143\u7D20\uFF1A
|
||||
BusinessNewDiagramFileWizard.SelectSemanticModelElement=\u9009\u62E9\u8981\u5728\u56FE\u8868\u4E0A\u63CF\u8FF0\u7684\u8BED\u4E49\u6A21\u578B\u5143\u7D20
|
||||
BusinessAbstractParser.StringFloatConvertError=String\u7C7B\u578B\u7684\u503C\u4E0D\u80FD\u8F6C\u6362\u4E3AFloat\u7C7B\u578B
|
||||
BusinessAbstractParser.StringValueDoesNotConvertToByteValue=String\u7C7B\u578B\u7684\u503C\u4E0D\u80FD\u8F6C\u6362\u4E3AByte\u7C7B\u578B
|
||||
BusinessNewDiagramFileWizard.IntialNewEcoreDiagramFile=\u521D\u59CB\u5316\u65B0\u7684Ecore\u56FE\u8868\u6587\u4EF6
|
||||
BusinessTooltipFigure.assignedMeta={0}\u5206\u914D\u5143\u6570\u636E
|
||||
DeleteAssignmentAction.DeleteAssignment=\u5220\u9664\u8D4B\u503C
|
||||
@@ -557,16 +557,5 @@
|
||||
level="20"
|
||||
name="ReadDiagramAction"/>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.core.expressions.definitions">
|
||||
<definition
|
||||
id="isActiveEditorOfBusinessModelEditor">
|
||||
<not>
|
||||
<instanceof
|
||||
value="org.talend.designer.business.model.business.diagram.part.BusinessDiagramEditor">
|
||||
</instanceof>
|
||||
</not>
|
||||
</definition>
|
||||
</extension>
|
||||
|
||||
</plugin>
|
||||
|
||||
@@ -82,5 +82,3 @@ RepositoryFactoryProxyLabelProvider.Deleted=\ (Deleted)
|
||||
AssignmentPropertySection.Type=Type
|
||||
AssignmentPropertySection.Name=Name
|
||||
AssignmentPropertySection.Comment=Comment
|
||||
BusinessDiagramEditor.canNotSaveTitle=Warning
|
||||
BusinessDiagramEditor.canNotSaveMessage=Business Model is not locked by user, can not save.
|
||||
|
||||
@@ -13,25 +13,14 @@
|
||||
package org.talend.designer.business.diagram.custom.actions;
|
||||
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.resources.IWorkspace;
|
||||
import org.eclipse.core.resources.IWorkspaceRunnable;
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.jobs.ISchedulingRule;
|
||||
import org.eclipse.jface.dialogs.MessageDialog;
|
||||
import org.eclipse.jface.wizard.Wizard;
|
||||
import org.eclipse.ui.IWorkbenchPage;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
import org.eclipse.ui.part.EditorPart;
|
||||
import org.osgi.framework.FrameworkUtil;
|
||||
import org.talend.commons.exception.PersistenceException;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.commons.ui.runtime.exception.MessageBoxExceptionHandler;
|
||||
import org.talend.commons.ui.runtime.image.ECoreImage;
|
||||
import org.talend.commons.ui.runtime.image.ImageProvider;
|
||||
import org.talend.core.CorePlugin;
|
||||
@@ -84,8 +73,8 @@ public class SaveAsBusinessModelWizard extends Wizard {
|
||||
RepositoryNode repositoryNode = repositoryEditorInput.getRepositoryNode();
|
||||
// see: RepositoryEditorInput.setRepositoryNode(IRepositoryNode repositoryNode)
|
||||
if (repositoryNode == null) {
|
||||
repositoryNode = (RepositoryNode) CorePlugin.getDefault().getRepositoryService()
|
||||
.getRepositoryNode(repositoryEditorInput.getItem().getProperty().getId(), false);
|
||||
repositoryNode = (RepositoryNode) CorePlugin.getDefault().getRepositoryService().getRepositoryNode(
|
||||
repositoryEditorInput.getItem().getProperty().getId(), false);
|
||||
}
|
||||
|
||||
IRepositoryService service = DesignerPlugin.getDefault().getRepositoryService();
|
||||
@@ -131,7 +120,13 @@ public class SaveAsBusinessModelWizard extends Wizard {
|
||||
isUpdate = isUpdate();
|
||||
|
||||
if (isUpdate) {
|
||||
update();
|
||||
assginVlaues(oldProperty, property);
|
||||
|
||||
repositoryFactory.save(oldBusinessProcessItem);
|
||||
|
||||
// assign value
|
||||
businessProcessItem = oldBusinessProcessItem;
|
||||
|
||||
} else {
|
||||
property.setId(repositoryFactory.getNextId());
|
||||
|
||||
@@ -157,34 +152,6 @@ public class SaveAsBusinessModelWizard extends Wizard {
|
||||
return ok;
|
||||
}
|
||||
|
||||
private void update() {
|
||||
IWorkspaceRunnable runnable = new IWorkspaceRunnable() {
|
||||
|
||||
@Override
|
||||
public void run(IProgressMonitor monitor) throws CoreException {
|
||||
try {
|
||||
assginVlaues(oldProperty, property);
|
||||
|
||||
repositoryFactory.save(oldBusinessProcessItem);
|
||||
// assign value
|
||||
businessProcessItem = oldBusinessProcessItem;
|
||||
} catch (PersistenceException pe) {
|
||||
throw new CoreException(new Status(IStatus.ERROR, FrameworkUtil.getBundle(this.getClass()).getSymbolicName(),
|
||||
"persistance error", pe)); //$NON-NLS-1$
|
||||
}
|
||||
}
|
||||
};
|
||||
IWorkspace workspace = ResourcesPlugin.getWorkspace();
|
||||
try {
|
||||
ISchedulingRule schedulingRule = workspace.getRoot();
|
||||
// the update the project files need to be done in the workspace runnable to avoid all notification
|
||||
// of changes before the end of the modifications.
|
||||
workspace.run(runnable, schedulingRule, IWorkspace.AVOID_UPDATE, null);
|
||||
} catch (CoreException e) {
|
||||
MessageBoxExceptionHandler.process(e.getCause());
|
||||
}
|
||||
}
|
||||
|
||||
public BusinessProcessItem getBusinessProcessItem() {
|
||||
return this.businessProcessItem;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@ import org.eclipse.gmf.runtime.diagram.ui.internal.editparts.NoteAttachmentEditP
|
||||
import org.eclipse.gmf.runtime.diagram.ui.parts.IDiagramGraphicalViewer;
|
||||
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.document.StorageDiagramDocumentProvider;
|
||||
import org.eclipse.gmf.runtime.diagram.ui.resources.editor.ide.editor.FileDiagramEditor;
|
||||
import org.eclipse.jface.dialogs.MessageDialog;
|
||||
import org.eclipse.jface.viewers.ISelection;
|
||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||
import org.eclipse.ui.IEditorInput;
|
||||
@@ -58,16 +57,13 @@ import org.talend.designer.business.diagram.custom.dnd.BusinessDiagramDropTarget
|
||||
import org.talend.designer.business.diagram.custom.edit.parts.BaseBusinessItemRelationShipEditPart;
|
||||
import org.talend.designer.business.diagram.custom.edit.parts.BusinessItemShapeEditPart;
|
||||
import org.talend.designer.business.diagram.custom.figures.BusinessItemShapeFigure;
|
||||
import org.talend.designer.business.diagram.i18n.Messages;
|
||||
import org.talend.designer.business.model.business.diagram.edit.parts.BusinessEditPartFactory;
|
||||
import org.talend.designer.business.model.business.diagram.edit.parts.BusinessProcessEditPart;
|
||||
import org.talend.designer.business.model.business.diagram.providers.BusinessDiagramActionProvider;
|
||||
import org.talend.designer.core.ui.ActiveProcessTracker;
|
||||
import org.talend.designer.core.ui.views.jobsettings.JobSettingsView;
|
||||
import org.talend.repository.editor.RepositoryEditorInput;
|
||||
import org.talend.repository.model.ERepositoryStatus;
|
||||
import org.talend.repository.model.IProxyRepositoryFactory;
|
||||
import org.talend.repository.model.IRepositoryService;
|
||||
import org.talend.repository.model.RepositoryNode;
|
||||
|
||||
/**
|
||||
@@ -175,29 +171,10 @@ public class BusinessDiagramEditor extends FileDiagramEditor implements IGotoMar
|
||||
|
||||
@Override
|
||||
public void doSave(IProgressMonitor progressMonitor) {
|
||||
super.doSave(progressMonitor);
|
||||
if (repositoryEditorInput != null) {
|
||||
BusinessProcessItem businessProcessItem = (BusinessProcessItem) repositoryEditorInput.getItem();
|
||||
IRepositoryService service = CorePlugin.getDefault().getRepositoryService();
|
||||
IProxyRepositoryFactory repFactory = service.getProxyRepositoryFactory();
|
||||
try {
|
||||
repFactory.updateLockStatus();
|
||||
// For TDI-23825, if not lock by user try to lock again.
|
||||
boolean locked = repFactory.getStatus(businessProcessItem) == ERepositoryStatus.LOCK_BY_USER;
|
||||
if (!locked) {
|
||||
repFactory.lock(businessProcessItem);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
ERepositoryStatus status = repFactory.getStatus(businessProcessItem);
|
||||
if (!status.equals(ERepositoryStatus.LOCK_BY_USER) && !repFactory.getRepositoryContext().isEditableAsReadOnly()) {
|
||||
MessageDialog.openWarning(getEditorSite().getShell(),
|
||||
Messages.getString("BusinessDiagramEditor.canNotSaveTitle"), //$NON-NLS-1$
|
||||
Messages.getString("BusinessDiagramEditor.canNotSaveMessage")); //$NON-NLS-1$
|
||||
return;
|
||||
}
|
||||
super.doSave(progressMonitor);
|
||||
DiagramResourceManager diagramResourceManager = new DiagramResourceManager();
|
||||
BusinessProcessItem businessProcessItem = (BusinessProcessItem) repositoryEditorInput.getItem();
|
||||
diagramResourceManager.updateFromResource(businessProcessItem, repositoryEditorInput.getFile());
|
||||
// remove the function of sve SVG file because the imported business model can't save SVG file.
|
||||
// saveSVG(businessProcessItem);
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
pluginName=\u7EC4\u4EF6\u6A21\u5757
|
||||
format=\u683C\u5F0F
|
||||
@@ -1,45 +0,0 @@
|
||||
CodeGeneratorEmittersPoolFactory.JETEmitters.NoPresent=JETEmitters\u5DE5\u7A0B\u4E0D\u5B58\u5728\uFF0C\u9700\u8981\u91CD\u65B0\u5B8C\u6574\u521D\u59CB\u5316\u3002
|
||||
CodeGeneratorEmittersPoolFactory.Class.NotFound=\u6A21\u677F\u4F9D\u7136\u5B58\u5728\uFF0C\u4F46\u662F\u7C7B{0}
|
||||
CodeGeneratorEmittersPoolFactory.PersitentData.Error=\u6301\u4E45\u5316\u6570\u636E\u4E0D\u80FD\u4FDD\u5B58\uFF1A
|
||||
CodeGeneratorEmittersPoolFactory.initMessage=\u521D\u59CB\u5316\u4EE3\u7801\u751F\u6210\u5F15\u64CE...
|
||||
EmfEmittersPersistence.CodeGen.DataMissing=\u4EE3\u7801\u751F\u6210\u6570\u636E\u6D41\u5931\uFF0C\u5F00\u59CB\u91CD\u65B0\u751F\u6210\u4EE3\u7801\u3002
|
||||
CodeGenerator.JET.TimeOut=JET\u521D\u59CB\u5316\u8D85\u65F6\uFF01
|
||||
generatedcode.copyright.body4=\u4F60\u53EF\u4EE5\u5728\u5728GNU LGPL \u8BB8\u53EF\u8BC1\u4E0B\u652F\u914D\u8FD9\u4E9B\u4EE3\u7801
|
||||
CodeGenerator.Node.NotFound=\u5728\u5F53\u524D
|
||||
generatedcode.copyright.body3=\u4F60\u53EF\u4EE5\u5728www.talend.com\u53D1\u73B0\u66F4\u591A\u5173\u4E8ETalend\u4EA7\u54C1\u4FE1\u606F
|
||||
generatedcode.copyright.body2=/ \u4F5C\u4E1A\u8BBE\u8BA1 (CodeGenerator version {0}).
|
||||
generatedcode.copyright.body1=\u6E90\u4EE3\u7801\u88AB{0}\u81EA\u52A8\u751F\u6210
|
||||
JetSkeletonManager.updateProblem=\u5F53\u66F4\u65B0\u6301\u4E45\u6570\u636E\u65F6\u51FA\u73B0\u9519\u8BEF
|
||||
CodeGeneratorEmittersPoolFactory.codeThread=\u4EE3\u7801\u751F\u6210\u540E\u53F0\u7EBF\u7A0B
|
||||
CodeGeneratorEmittersPoolFactory.componentCompiled=\u7EC4\u4EF6\u7F16\u8BD1{0}\u6BEB\u79D2
|
||||
CodeGeneratorEmittersPoolFactory.failCompail=\u7EC4\u4EF6\u7F16\u8BD1\u5931\u8D25: \r\n
|
||||
CodeGeneratorEmittersPoolFactory.initialException=\u521D\u59CB\u5316\u5F02\u5E38
|
||||
CodeGeneratorEmittersPoolFactory.jetEmitterInitialException=\u521D\u59CB\u5316JetEmitter\u51FA\u9519
|
||||
CodeGeneratorService.invalidLanguage1=\u65E0\u6548\u7684\u8BED\u8A00\u7C7B\u578B.
|
||||
CodeGeneratorService.invalidLanguage2=\u65E0\u6548\u7684\u8BED\u8A00\u7C7B\u578B.
|
||||
CodeGenInit.addMarkers=\u5DE5\u4F5C\u533A\u4E2D\u6DFB\u52A0\u6807\u8BB0
|
||||
CodeGenInit.createProject=\u521B\u5EFA{0} \u5DE5\u7A0B
|
||||
CodeGenInit.deleteProject=\u5220\u9664{0} \u5DE5\u7A0B
|
||||
CodeGenInit.initTemplate=\u521D\u59CB\u5316\u6A21\u677F
|
||||
CodeGenInit.removeLink=\u5220\u9664\u94FE\u63A5\u8D44\u6E90
|
||||
CodeGenInit.saveWorkspace=\u4FDD\u5B58\u5DE5\u4F5C\u533A
|
||||
DocumentRootImpl.mixed=\ (\u6DF7\u5408:
|
||||
ComponentsFactory.afterSystemComponent=\u5728\u7CFB\u7EDF\u7EC4\u4EF6
|
||||
ComponentsLocalProviderService.componentLoadError=\u7EC4\u4EF6\u52A0\u8F7D\u9519\u8BEF
|
||||
ComponentsLocalProviderService.talendExchangeError=Talend Exchange\u9519\u8BEF
|
||||
ComponentsPreferencePage.ButtonLabel0=\u786E\u5B9A
|
||||
ComponentsPreferencePage.configuration.LINK_STYLE=\u9ED8\u8BA4\u94FE\u63A5\u663E\u793A\u4E3A\uFF1A
|
||||
ComponentsPreferencePage.rowLimit=\u884c\u9650\u5236
|
||||
ComponentsPreferencePage.WarningTitle=\u8B66\u544A
|
||||
ComponenttRunJobPreferencePage.label=\u53CC\u51FBtRunJob\u7EC4\u4EF6\u540E\u4E0D\u663E\u793A\u5BF9\u5E94\u7684JOB
|
||||
ComponenttRunJobPreferencePage.showCorrespondingJob=\u53CC\u51FBtRunJob\u7EC4\u4EF6\u540E\u663E\u793A\u5BF9\u5E94JOB
|
||||
XsdValidationCacheManager.unableLoadxsd=\u52A0\u8F7Dxsd\u9A8C\u8BC1\u7F13\u5B58\u6587\u4EF6\u5931\u8D25
|
||||
XsdValidationCacheManager.unableSavexsd=\u4FDD\u5B58xsd\u9A8C\u8BC1\u7F13\u5B58\u6587\u4EF6\u5931\u8D25
|
||||
prefs.configuration.LINK_STYLE.AUTO=\u81EA\u52A8
|
||||
FAMILY.Access=Access
|
||||
FAMILY.Business=\u4E1A\u52A1
|
||||
FAMILY.Business_Intelligence=\u5546\u4E1A\u667A\u80FD
|
||||
FAMILY.File=\u6587\u4ef6
|
||||
FAMILY.Input=\u8F93\u5165
|
||||
FAMILY.Output=\u6807\u51c6\u8f93\u51fa
|
||||
FAMILY.System=\u7CFB\u7EDF
|
||||
@@ -43,7 +43,7 @@
|
||||
List< ? extends INode> processNodes = (List< ? extends INode>)process.getGeneratingNodes();
|
||||
%>
|
||||
return new RouteBuilder() {
|
||||
public void configure() throws java.lang.Exception {
|
||||
public void configure() throws Exception {
|
||||
<%
|
||||
for (INode node : processNodes) {
|
||||
if (node.getComponent().getName().equals("cCXF")) {
|
||||
@@ -56,7 +56,7 @@
|
||||
if(param != null && !"__UNIQUE_NAME__".equals(param.getValue())){
|
||||
cid = (String)param.getValue()+"_"+cid;
|
||||
}
|
||||
String endpointVar = "endpoint_" + node.getUniqueName();
|
||||
String endpointVar = "endpoint" + cid;
|
||||
String uriRef = "uriMap.get(\"" + cid + "\")";
|
||||
%>
|
||||
// CXF endpoint for <%=cid%>
|
||||
|
||||
@@ -32,19 +32,9 @@ INode node = (INode) codeGenArgument.getArgument();
|
||||
List< ? extends IConnection> connsIf = node.getIncomingConnections();
|
||||
if(connsIf.size()>0) {
|
||||
if(connsIf.get(0).getLineStyle()==EConnectionType.ROUTE_WHEN) {
|
||||
INode sourceNode = connsIf.get(0).getSource();
|
||||
String languageType = connsIf.get(0).getRouteConnectionType();
|
||||
String condition = connsIf.get(0).getCondition();
|
||||
String expression = "none".equals(languageType)?condition:languageType+"("+condition+")";
|
||||
if("cIntercept".equals(sourceNode.getComponent().getName())){
|
||||
%>
|
||||
.when(<%=expression%>)
|
||||
.when().<%=connsIf.get(0).getRouteConnectionType()%>(<%=connsIf.get(0).getCondition()%>)
|
||||
<%
|
||||
}else{
|
||||
%>
|
||||
.when().<%=expression%>
|
||||
<%
|
||||
}
|
||||
} else if(connsIf.get(0).getLineStyle()==EConnectionType.ROUTE_OTHER) {
|
||||
%>
|
||||
.otherwise()
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
try {
|
||||
context.store(baos, "");
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
%>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -29,7 +29,7 @@
|
||||
|
||||
%>
|
||||
|
||||
protected void doStart() throws java.lang.Exception {
|
||||
protected void doStart() throws Exception {
|
||||
// init uriMap first
|
||||
initUriMap();
|
||||
|
||||
@@ -102,7 +102,7 @@ if(librariesSb.length()>0){
|
||||
|
||||
}
|
||||
|
||||
protected void doStop() throws java.lang.Exception {
|
||||
protected void doStop() throws Exception {
|
||||
super.doStop();
|
||||
getCamelContexts().get(0).stop();
|
||||
}
|
||||
@@ -111,11 +111,11 @@ if(librariesSb.length()>0){
|
||||
return getCamelContexts().get(0).createProducerTemplate();
|
||||
}
|
||||
|
||||
public void stop() throws java.lang.Exception {
|
||||
public void stop() throws Exception {
|
||||
super.stop();
|
||||
}
|
||||
|
||||
public void shutdown() throws java.lang.Exception {
|
||||
public void shutdown() throws Exception {
|
||||
super.shutdown();
|
||||
}
|
||||
|
||||
@@ -149,7 +149,7 @@ if(librariesSb.length()>0){
|
||||
}
|
||||
%>
|
||||
Thread.sleep(1000);
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
@@ -312,7 +312,7 @@ for (IContextParameter ctxParam : params) {
|
||||
|
||||
try {
|
||||
run();
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
e.printStackTrace();
|
||||
return 1;
|
||||
|
||||
@@ -99,8 +99,8 @@ import java.util.Comparator;
|
||||
String talendJobInterfaces = "TalendJob";
|
||||
|
||||
boolean talendMdmJob = !process.getNodesOfType("tMDMTriggerInput").isEmpty() || !process.getNodesOfType("tMDMTriggerOutput").isEmpty();
|
||||
boolean talendEsbJob = !process.getNodesOfType("tESBProviderRequest").isEmpty() || !process.getNodesOfType("tESBConsumer").isEmpty() || !process.getNodesOfType("tRouteInput").isEmpty();
|
||||
boolean talendEsbJobFactory = !process.getNodesOfType("tESBProviderRequest").isEmpty() || !process.getNodesOfType("tRouteInput").isEmpty();
|
||||
boolean talendEsbJob = !process.getNodesOfType("tESBProviderRequest").isEmpty() || !process.getNodesOfType("tESBConsumer").isEmpty();
|
||||
boolean talendEsbJobFactory = !process.getNodesOfType("tESBProviderRequest").isEmpty();
|
||||
|
||||
if (talendMdmJob) {
|
||||
talendJobInterfaces += ", TalendMDMJob"; // Talend MDM job
|
||||
@@ -126,8 +126,6 @@ public class <%=process.getName()%> implements <%=talendJobInterfaces%> {
|
||||
}
|
||||
talendESBJob.setDataSources(dataSources);
|
||||
}
|
||||
// fix for TESB-7714
|
||||
talendESBJob.setEndpointRegistry(registry);
|
||||
return talendESBJob;
|
||||
}
|
||||
<% } %>
|
||||
@@ -307,30 +305,30 @@ public String getExceptionStackTrace() {
|
||||
return null;
|
||||
}
|
||||
|
||||
private java.lang.Exception exception = null;
|
||||
private Exception exception = null;
|
||||
|
||||
public java.lang.Exception getException() {
|
||||
public Exception getException() {
|
||||
if ("failure".equals(this.getStatus())) {
|
||||
return this.exception;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
private class TalendException extends java.lang.Exception {
|
||||
private class TalendException extends Exception {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private java.util.Map<String, Object> globalMap = null;
|
||||
private java.lang.Exception e = null;
|
||||
private Exception e = null;
|
||||
private String currentComponent = null;
|
||||
|
||||
private TalendException(java.lang.Exception e, String errorComponent, final java.util.Map<String, Object> globalMap) {
|
||||
private TalendException(Exception e, String errorComponent, final java.util.Map<String, Object> globalMap) {
|
||||
this.currentComponent= errorComponent;
|
||||
this.globalMap = globalMap;
|
||||
this.e = e;
|
||||
}
|
||||
|
||||
public java.lang.Exception getException() {
|
||||
public Exception getException() {
|
||||
return this.e;
|
||||
}
|
||||
|
||||
@@ -477,7 +475,7 @@ private class TalendException extends java.lang.Exception {
|
||||
for (INode node : processNodes) {
|
||||
if (node.isActivate()) {
|
||||
%>
|
||||
public void <%=node.getUniqueName() %>_error(java.lang.Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {
|
||||
public void <%=node.getUniqueName() %>_error(Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {
|
||||
end_Hash.put("<%=node.getUniqueName() %>", System.currentTimeMillis());
|
||||
<%
|
||||
boolean ifBeforRunError = NodeUtil.checkComponentErrorConnectionAfterNode(node);
|
||||
@@ -540,7 +538,7 @@ private class TalendException extends java.lang.Exception {
|
||||
}
|
||||
%>
|
||||
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
<%
|
||||
@@ -611,7 +609,7 @@ private class TalendException extends java.lang.Exception {
|
||||
for (INode node : processNodes) {
|
||||
if (node.isDesignSubjobStartNode()) {
|
||||
%>
|
||||
public void <%=node.getUniqueName() %>_onSubJobError(java.lang.Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {
|
||||
public void <%=node.getUniqueName() %>_onSubJobError(Exception exception, String errorComponent, final java.util.Map<String, Object> globalMap) throws TalendException {
|
||||
<%
|
||||
List< ? extends IConnection> conns = node.getOutgoingConnections();
|
||||
int count = 0;
|
||||
@@ -661,7 +659,7 @@ resumeUtil.addLog("SYSTEM_LOG", "NODE:"+ errorComponent, "", Thread.currentThrea
|
||||
<%
|
||||
}
|
||||
%>
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
<%
|
||||
|
||||
@@ -58,7 +58,7 @@ if(execStat){
|
||||
<%
|
||||
}
|
||||
%>
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
this.status = "failure";
|
||||
Integer localErrorCode = (Integer) (((java.util.Map) threadLocal.get()).get("errorCode"));
|
||||
if (localErrorCode != null) {
|
||||
|
||||
@@ -203,7 +203,7 @@ if(execStat){
|
||||
for (IConnection inLineConn : allInLineJobConns) {
|
||||
%>
|
||||
if(execStat){
|
||||
runStat.updateStatOnConnection("<%=inLineConn.getUniqueName() %>", 3, 0);
|
||||
runStat.updateStatOnConnection("<%=inLineConn.getUniqueName() %>", 3, "exec" + NB_ITERATE_<%=iterateNodeName %>);
|
||||
}
|
||||
<%
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
if(isParallelize){
|
||||
%>
|
||||
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
this.status = "failure";
|
||||
Integer localErrorCode = (Integer) (((java.util.Map) threadLocal.get()).get("errorCode"));
|
||||
if (localErrorCode != null) {
|
||||
@@ -84,7 +84,7 @@
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
} catch (java.lang.Exception te) {
|
||||
} catch (Exception te) {
|
||||
throw new TalendException(te, currentComponent, globalMap);
|
||||
}
|
||||
<%
|
||||
@@ -204,7 +204,7 @@
|
||||
%>
|
||||
|
||||
|
||||
} catch(java.lang.Exception e) {
|
||||
} catch(Exception e) {
|
||||
|
||||
throw new TalendException(e, currentComponent, globalMap);
|
||||
|
||||
|
||||
@@ -134,12 +134,8 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
|
||||
if (metadata !=null) {
|
||||
for (IMetadataColumn column: metadata.getListColumns()) {
|
||||
JavaType javaType = JavaTypesManager.getJavaTypeFromId(column.getTalendType());
|
||||
String typeToGenerate = JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable());
|
||||
if("id_Document".equals(javaType.getId())) {
|
||||
typeToGenerate = javaType.getNullableClass().getCanonicalName();
|
||||
}
|
||||
%>
|
||||
public <%= typeToGenerate %> <%=column.getLabel() %><%
|
||||
public <%= JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable()) %> <%=column.getLabel() %><%
|
||||
|
||||
if(javaType == JavaTypesManager.CHARACTER && !column.isNullable()) {
|
||||
%> = ' '<%
|
||||
@@ -147,11 +143,11 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
|
||||
|
||||
%>;
|
||||
|
||||
public <%= typeToGenerate %> get<%=column.getLabel().substring(0, 1).toUpperCase()%><%=column.getLabel().substring(1)%> () {
|
||||
public <%= JavaTypesManager.getTypeToGenerate(column.getTalendType(), column.isNullable()) %> get<%=column.getLabel().substring(0, 1).toUpperCase()%><%=column.getLabel().substring(1)%> () {
|
||||
return this.<%=column.getLabel()%>;
|
||||
}
|
||||
<%
|
||||
if((conn.getLineStyle() == EConnectionType.FLOW_REF) && conn.getTarget().getUniqueName().startsWith("tXMLMap") && "id_Document".equals(javaType.getId())) {
|
||||
if("id_Document".equals(javaType.getId())) {
|
||||
%>
|
||||
public java.util.Map<String,Object> documentLookupResult = new java.util.HashMap<String,Object>();
|
||||
<%
|
||||
@@ -564,9 +560,6 @@ public static class <%=conn.getName() %>Struct<%=templateOrigin %> implements ro
|
||||
<%
|
||||
} else if(javaType.isObjectBased() || typeToGenerate.equals("Geometry") || typeToGenerate.equals("Dynamic")) {
|
||||
hasAtLeastOneObjectType = true;
|
||||
if("id_Document".equals(javaType.getId())) {
|
||||
typeToGenerate = javaType.getNullableClass().getCanonicalName();
|
||||
}
|
||||
%>
|
||||
this.<%=column.getLabel() %> = (<%= typeToGenerate %>) dis.readObject();
|
||||
<%
|
||||
@@ -740,9 +733,6 @@ 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")) {
|
||||
hasAtLeastOneObjectType = true;
|
||||
if("id_Document".equals(javaType.getId())) {
|
||||
typeToGenerate = javaType.getNullableClass().getCanonicalName();
|
||||
}
|
||||
%>
|
||||
this.<%=column.getLabel() %> = (<%= typeToGenerate %>) ois.readObject();
|
||||
<%
|
||||
@@ -1015,7 +1005,7 @@ public void <%=subTree.getName() %>Process(final java.util.Map<String, Object> g
|
||||
|
||||
try {
|
||||
|
||||
String currentMethodName = new java.lang.Exception().getStackTrace()[0].getMethodName();
|
||||
String currentMethodName = new Exception().getStackTrace()[0].getMethodName();
|
||||
boolean resumeIt = currentMethodName.equals(resumeEntryMethodName);
|
||||
if( resumeEntryMethodName == null || resumeIt || globalResumeTicket){//start the resume
|
||||
globalResumeTicket = true;
|
||||
|
||||
@@ -69,7 +69,7 @@ import org.talend.core.model.components.IComponentsFactory;
|
||||
import org.talend.core.model.general.Project;
|
||||
import org.talend.core.model.properties.ComponentSetting;
|
||||
import org.talend.core.ui.branding.IBrandingService;
|
||||
import org.talend.core.utils.TalendCacheUtils;
|
||||
import org.talend.core.utils.BrandingChecker;
|
||||
import org.talend.designer.codegen.CodeGeneratorActivator;
|
||||
import org.talend.designer.codegen.i18n.Messages;
|
||||
import org.talend.designer.core.ITisLocalProviderService;
|
||||
@@ -159,7 +159,7 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
Project currentProject = ProjectManager.getInstance().getCurrentProject();
|
||||
if (currentProject != null && currentProject.getEmfProject() != null) {
|
||||
|
||||
List<ComponentSetting> components = currentProject.getEmfProject().getComponentsSettings();
|
||||
List<ComponentSetting> components = (List<ComponentSetting>) currentProject.getEmfProject().getComponentsSettings();
|
||||
return components;
|
||||
}
|
||||
return Collections.emptyList();
|
||||
@@ -231,7 +231,8 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
ProjectManager manager = ProjectManager.getInstance();
|
||||
List<Project> referencedProjects = manager.getReferencedProjects();
|
||||
for (Project curProject : referencedProjects) {
|
||||
List<ComponentSetting> componentsSettings = curProject.getEmfProject().getComponentsSettings();
|
||||
List<ComponentSetting> componentsSettings = (List<ComponentSetting>) curProject.getEmfProject()
|
||||
.getComponentsSettings();
|
||||
for (ComponentSetting setting : componentsSettings) {
|
||||
if (setting.isHidden() && setting.getName().equals(settingInMain.getName())
|
||||
&& setting.getFamily().equals(settingInMain.getFamily())) {
|
||||
@@ -261,7 +262,7 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
skeletonList = new ArrayList<String>();
|
||||
String installLocation = new Path(Platform.getConfigurationLocation().getURL().getPath()).toFile().getAbsolutePath();
|
||||
componentToProviderMap = new HashMap<IComponent, AbstractComponentsProvider>();
|
||||
boolean isNeedClean = TalendCacheUtils.cleanComponentCache();
|
||||
boolean isNeedClean = cleanComponentCache();
|
||||
isCreated = hasComponentFile(installLocation) && !isNeedClean;
|
||||
if (isReset) {
|
||||
isCreated = false;
|
||||
@@ -347,7 +348,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
|
||||
FileFilter fileFilter = new FileFilter() {
|
||||
|
||||
@Override
|
||||
public boolean accept(final File file) {
|
||||
return file.isDirectory() && file.getName().charAt(0) != '.'
|
||||
&& !file.getName().equals(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER)
|
||||
@@ -482,6 +482,11 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
return file.exists();
|
||||
}
|
||||
|
||||
private boolean cleanComponentCache() {
|
||||
return ArrayUtils.contains(Platform.getApplicationArgs(), "--clean_component_cache")
|
||||
|| ArrayUtils.contains(Platform.getApplicationArgs(), "-clean") || BrandingChecker.isBrandingChanged();
|
||||
}
|
||||
|
||||
private void loadComponentsFromComponentsProviderExtension() {
|
||||
ComponentsProviderManager componentsProviderManager = ComponentsProviderManager.getInstance();
|
||||
for (AbstractComponentsProvider componentsProvider : componentsProviderManager.getProviders()) {
|
||||
@@ -512,7 +517,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadUserComponentsFromComponentsProviderExtension() {
|
||||
ComponentsProviderManager.getInstance().getProviders();
|
||||
ComponentsProviderManager componentsProviderManager = ComponentsProviderManager.getInstance();
|
||||
@@ -583,7 +587,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
|
||||
FileFilter fileFilter = new FileFilter() {
|
||||
|
||||
@Override
|
||||
public boolean accept(final File file) {
|
||||
return file.isDirectory() && file.getName().charAt(0) != '.'
|
||||
&& !file.getName().equals(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER)
|
||||
@@ -604,7 +607,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
|
||||
FileFilter skeletonFilter = new FileFilter() {
|
||||
|
||||
@Override
|
||||
public boolean accept(final File file) {
|
||||
String fileName = file.getName();
|
||||
return file.isFile() && fileName.charAt(0) != '.'
|
||||
@@ -911,7 +913,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
component.setImageRegistry(componentsImageRegistry);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int size() {
|
||||
if (componentList == null) {
|
||||
init(false);
|
||||
@@ -919,7 +920,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
return componentList.size();
|
||||
}
|
||||
|
||||
@Override
|
||||
public IComponent get(String name) {
|
||||
if (componentList == null) {
|
||||
init(false);
|
||||
@@ -933,7 +933,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initializeComponents(IProgressMonitor monitor) {
|
||||
this.monitor = monitor;
|
||||
if (componentList == null) {
|
||||
@@ -943,7 +942,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
this.subMonitor = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initializeComponents(IProgressMonitor monitor, boolean duringLogon) {
|
||||
this.monitor = monitor;
|
||||
if (componentList == null) {
|
||||
@@ -958,7 +956,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
*
|
||||
* @see org.talend.core.model.components.IComponentsFactory#getComponents()
|
||||
*/
|
||||
@Override
|
||||
public Set<IComponent> getComponents() {
|
||||
if (componentList == null) {
|
||||
init(false);
|
||||
@@ -966,7 +963,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
return componentList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IComponent> getCustomComponents() {
|
||||
if (customComponentList == null) {
|
||||
init(false);
|
||||
@@ -979,7 +975,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
*
|
||||
* @see org.talend.core.model.components.IComponentsFactory#getComponentPath()
|
||||
*/
|
||||
@Override
|
||||
public URL getComponentPath() throws IOException {
|
||||
String componentsPath = IComponentsFactory.COMPONENTS_LOCATION;
|
||||
IBrandingService breaningService = (IBrandingService) GlobalServiceRegister.getDefault().getService(
|
||||
@@ -997,7 +992,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
*
|
||||
* @see org.talend.core.model.components.IComponentsFactory#getSkeletons()
|
||||
*/
|
||||
@Override
|
||||
public List<String> getSkeletons() {
|
||||
if (skeletonList == null) {
|
||||
init(false);
|
||||
@@ -1005,7 +999,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
return skeletonList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {
|
||||
componentsImageRegistry.clear();
|
||||
componentList = null;
|
||||
@@ -1015,7 +1008,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void resetCache() {
|
||||
componentsImageRegistry.clear();
|
||||
componentList = null;
|
||||
@@ -1034,7 +1026,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
* @see org.talend.core.model.components.IComponentsFactory#getFamilyTranslation(IComponent component,
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public String getFamilyTranslation(Object component, String text) {
|
||||
String translated = Messages.getString(text);
|
||||
|
||||
@@ -1065,7 +1056,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
*
|
||||
* @see org.talend.core.model.components.IComponentsFactory#getAllComponentsCanBeProvided()
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> getAllComponentsCanBeProvided() {
|
||||
List source = new ArrayList();
|
||||
if (allComponents == null) {
|
||||
@@ -1090,7 +1080,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
|
||||
FileFilter fileFilter = new FileFilter() {
|
||||
|
||||
@Override
|
||||
public boolean accept(final File file) {
|
||||
return file.isDirectory() && file.getName().charAt(0) != '.'
|
||||
&& !file.getName().equals(IComponentsFactory.EXTERNAL_COMPONENTS_INNER_FOLDER);
|
||||
@@ -1149,17 +1138,14 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
analyseur = fabrique.newDocumentBuilder();
|
||||
analyseur.setErrorHandler(new ErrorHandler() {
|
||||
|
||||
@Override
|
||||
public void error(final SAXParseException exception) throws SAXException {
|
||||
throw exception;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fatalError(final SAXParseException exception) throws SAXException {
|
||||
throw exception;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void warning(final SAXParseException exception) throws SAXException {
|
||||
throw exception;
|
||||
}
|
||||
@@ -1211,12 +1197,10 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
*
|
||||
* @see org.talend.core.model.components.IComponentsFactory#resetSpecificComponents()
|
||||
*/
|
||||
@Override
|
||||
public void resetSpecificComponents() {
|
||||
loadComponentsFromExtensions();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, File> getComponentsProvidersFolder() {
|
||||
Map<String, File> list = new HashMap<String, File>();
|
||||
|
||||
@@ -1233,7 +1217,6 @@ public class ComponentsFactory implements IComponentsFactory {
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, ImageDescriptor> getComponentsImageRegistry() {
|
||||
return componentsImageRegistry;
|
||||
}
|
||||
|
||||
@@ -16,8 +16,6 @@ import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.core.runtime.FileLocator;
|
||||
@@ -99,11 +97,9 @@ public class UserComponentsProvider extends AbstractComponentsProvider {
|
||||
|
||||
// synchroniz shared custom component
|
||||
if (PluginChecker.isSVNProviderPluginLoaded()) {
|
||||
Set<Project> allProjects = new HashSet<Project>();
|
||||
allProjects.add(ProjectManager.getInstance().getCurrentProject());
|
||||
allProjects.addAll(ProjectManager.getInstance().getReferencedProjects());
|
||||
for (Project project : allProjects) {
|
||||
String projectLabel = project.getTechnicalLabel();
|
||||
Project currentProject = ProjectManager.getInstance().getCurrentProject();
|
||||
if (currentProject != null) {
|
||||
String projectLabel = currentProject.getTechnicalLabel();
|
||||
String sourcePath = new Path(Platform.getInstanceLocation().getURL().getPath()).toFile().getPath()
|
||||
+ File.separatorChar + projectLabel + File.separatorChar
|
||||
+ ERepositoryObjectType.getFolderName(ERepositoryObjectType.COMPONENTS);
|
||||
|
||||
@@ -80,14 +80,20 @@ public class XsdValidationCacheManager {
|
||||
|
||||
public boolean needCheck(java.io.File file, long currentCRC) {
|
||||
String path = file.getAbsolutePath();
|
||||
Long lastCheckedCRC = alreadyCheckedXsd.get(path);
|
||||
if (forceXSDAlreadyChecked) {
|
||||
alreadyCheckedXsd.put(path, currentCRC);
|
||||
return false;
|
||||
} else {
|
||||
Long lastCheckedCRC = alreadyCheckedXsd.get(path);
|
||||
|
||||
if (lastCheckedCRC == null) {
|
||||
return true;
|
||||
if (lastCheckedCRC == null) {
|
||||
return true;
|
||||
}
|
||||
|
||||
boolean isChanged = currentCRC != lastCheckedCRC;
|
||||
|
||||
return isChanged;
|
||||
}
|
||||
|
||||
boolean isChanged = currentCRC != lastCheckedCRC;
|
||||
return isChanged;
|
||||
}
|
||||
|
||||
public void setChecked(File file, long currentCRC) {
|
||||
|
||||
@@ -14,7 +14,6 @@ package org.talend.designer.codegen.config;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.File;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.Method;
|
||||
@@ -28,6 +27,7 @@ import java.util.StringTokenizer;
|
||||
|
||||
import org.apache.commons.lang.ArrayUtils;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.eclipse.core.resources.IContainer;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.resources.IFolder;
|
||||
import org.eclipse.core.resources.IMarker;
|
||||
@@ -52,10 +52,12 @@ import org.eclipse.emf.common.util.Monitor;
|
||||
import org.eclipse.jdt.core.IClasspathEntry;
|
||||
import org.eclipse.jdt.core.IJavaModel;
|
||||
import org.eclipse.jdt.core.IJavaProject;
|
||||
import org.eclipse.jdt.core.IPackageFragmentRoot;
|
||||
import org.eclipse.jdt.core.JavaCore;
|
||||
import org.eclipse.jdt.core.JavaModelException;
|
||||
import org.talend.commons.debug.TalendDebugHandler;
|
||||
import org.talend.commons.ui.runtime.exception.ExceptionHandler;
|
||||
import org.talend.core.model.components.ComponentCompilations;
|
||||
import org.talend.designer.codegen.i18n.Messages;
|
||||
|
||||
/**
|
||||
@@ -298,107 +300,93 @@ public class TalendJetEmitter extends JETEmitter {
|
||||
|
||||
progressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETOpeningJavaProject_message", //$NON-NLS-1$
|
||||
new Object[] { project.getName() }));
|
||||
// javaProject.open(new SubProgressMonitor(progressMonitor, 1));
|
||||
|
||||
IPackageFragmentRoot[] packageFragmentRoots = javaProject.getPackageFragmentRoots();
|
||||
IPackageFragmentRoot sourcePackageFragmentRoot = null;
|
||||
for (int j = 0; j < packageFragmentRoots.length; ++j) {
|
||||
IPackageFragmentRoot packageFragmentRoot = packageFragmentRoots[j];
|
||||
if (packageFragmentRoot.getKind() == IPackageFragmentRoot.K_SOURCE) {
|
||||
sourcePackageFragmentRoot = packageFragmentRoot;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
String packageName = jetCompiler.getSkeleton().getPackageName();
|
||||
StringTokenizer stringTokenizer = new StringTokenizer(packageName, "."); //$NON-NLS-1$
|
||||
IProgressMonitor subProgressMonitor = new SubProgressMonitor(progressMonitor, 1);
|
||||
subProgressMonitor.beginTask("", stringTokenizer.countTokens() + 4); //$NON-NLS-1$
|
||||
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_CreateTargetFile_message")); //$NON-NLS-1$
|
||||
IFolder sourceContainer = project.getFolder("src");
|
||||
|
||||
IContainer sourceContainer = (IContainer) sourcePackageFragmentRoot.getCorrespondingResource();
|
||||
while (stringTokenizer.hasMoreElements()) {
|
||||
String folderName = stringTokenizer.nextToken();
|
||||
sourceContainer = sourceContainer.getFolder(new Path(folderName));
|
||||
if (!sourceContainer.exists()) {
|
||||
try {
|
||||
sourceContainer.create(true, true, new SubProgressMonitor(subProgressMonitor, 1));
|
||||
((IFolder) sourceContainer).create(true, true, new SubProgressMonitor(subProgressMonitor, 1));
|
||||
} catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
ExceptionHandler.process(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
boolean needRebuild = true;
|
||||
IFile targetFile = sourceContainer.getFile(new Path(jetCompiler.getSkeleton().getClassName() + ".java")); //$NON-NLS-1$
|
||||
if (!targetFile.exists()) {
|
||||
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETCreating_message", //$NON-NLS-1$
|
||||
new Object[] { targetFile.getFullPath() }));
|
||||
targetFile.create(contents, true, new SubProgressMonitor(subProgressMonitor, 1));
|
||||
} else {
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
|
||||
DataInputStream dis = new DataInputStream(targetFile.getContents());
|
||||
int len = 0;
|
||||
byte[] buf = new byte[1024];
|
||||
while (((len = dis.read(buf))) != -1) {
|
||||
baos.write(buf, 0, len);
|
||||
}
|
||||
dis.close();
|
||||
|
||||
String currentContent = baos.toString();
|
||||
String newContent = outputStream.toString();
|
||||
// since the build is done on linux, if use windows, it will use different rules for \r + \n
|
||||
// so compare without \r, at least to see if original string is the same
|
||||
// if yes, consider all is ok, no need to replace the content and recompile
|
||||
currentContent = currentContent.replace("\r", ""); //$NON-NLS-1$//$NON-NLS-2$
|
||||
newContent = newContent.replace("\r", ""); //$NON-NLS-1$//$NON-NLS-2$
|
||||
if (!newContent.equals(currentContent)) {
|
||||
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETUpdating_message", //$NON-NLS-1$
|
||||
new Object[] { targetFile.getFullPath() }));
|
||||
targetFile.setContents(contents, true, true, new SubProgressMonitor(subProgressMonitor, 1));
|
||||
} else {
|
||||
needRebuild = false;
|
||||
}
|
||||
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETUpdating_message", //$NON-NLS-1$
|
||||
new Object[] { targetFile.getFullPath() }));
|
||||
targetFile.setContents(contents, true, true, new SubProgressMonitor(subProgressMonitor, 1));
|
||||
}
|
||||
|
||||
// if jetEmitter.getMethod() == null, means the class file doesn't exist anymore
|
||||
// it should be impossible to have only the class file deleted and the .java never modified, but still
|
||||
// handle this case.
|
||||
if (needRebuild || jetEmitter.getMethod() == null) {
|
||||
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETBuilding_message", //$NON-NLS-1$
|
||||
new Object[] { project.getName() }));
|
||||
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETBuilding_message", //$NON-NLS-1$
|
||||
new Object[] { project.getName() }));
|
||||
|
||||
if (!ComponentCompilations.getMarkers()) {
|
||||
project.build(IncrementalProjectBuilder.INCREMENTAL_BUILD, new SubProgressMonitor(subProgressMonitor, 1));
|
||||
}
|
||||
|
||||
IMarker[] markers = targetFile.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
|
||||
boolean errors = false;
|
||||
for (int i = 0; i < markers.length; ++i) {
|
||||
IMarker marker = markers[i];
|
||||
if (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) == IMarker.SEVERITY_ERROR) {
|
||||
errors = true;
|
||||
subProgressMonitor.subTask(marker.getAttribute(IMarker.MESSAGE) + " : " //$NON-NLS-1$
|
||||
+ (CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
|
||||
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) })));
|
||||
log.error(jetEmitter.templateURI.substring(jetEmitter.templateURI.lastIndexOf("/") + 1) //$NON-NLS-1$
|
||||
+ Messages.getString(
|
||||
"TalendJetEmitter.compileFail", //$NON-NLS-1$
|
||||
marker.getAttribute(IMarker.MESSAGE),
|
||||
(CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
|
||||
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) }))));
|
||||
}
|
||||
IMarker[] markers = targetFile.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
|
||||
boolean errors = false;
|
||||
for (int i = 0; i < markers.length; ++i) {
|
||||
IMarker marker = markers[i];
|
||||
if (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) == IMarker.SEVERITY_ERROR) {
|
||||
errors = true;
|
||||
subProgressMonitor.subTask(marker.getAttribute(IMarker.MESSAGE) + " : " //$NON-NLS-1$
|
||||
+ (CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
|
||||
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) })));
|
||||
log.error(jetEmitter.templateURI.substring(jetEmitter.templateURI.lastIndexOf("/") + 1) //$NON-NLS-1$
|
||||
+ Messages.getString(
|
||||
"TalendJetEmitter.compileFail", //$NON-NLS-1$
|
||||
marker.getAttribute(IMarker.MESSAGE),
|
||||
(CodeGenPlugin.getPlugin().getString("jet.mark.file.line", new Object[] { //$NON-NLS-1$
|
||||
targetFile.getLocation(), marker.getAttribute(IMarker.LINE_NUMBER) }))));
|
||||
}
|
||||
}
|
||||
|
||||
if (!errors) {
|
||||
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETLoadingClass_message", //$NON-NLS-1$
|
||||
new Object[] { jetCompiler.getSkeleton().getClassName() + ".class" })); //$NON-NLS-1$
|
||||
if (!errors) {
|
||||
subProgressMonitor.subTask(CodeGenPlugin.getPlugin().getString("_UI_JETLoadingClass_message", //$NON-NLS-1$
|
||||
new Object[] { jetCompiler.getSkeleton().getClassName() + ".class" })); //$NON-NLS-1$
|
||||
|
||||
// Construct a proper URL for relative lookup.
|
||||
//
|
||||
URL url = new File(project.getLocation()
|
||||
+ "/" + javaProject.getOutputLocation().removeFirstSegments(1) + "/") //$NON-NLS-1$ //$NON-NLS-2$
|
||||
.toURL();
|
||||
URLClassLoader theClassLoader = new URLClassLoader(new URL[] { url }, jetEmitter.classLoader);
|
||||
Class theClass = theClassLoader.loadClass((packageName.length() == 0 ? "" : packageName + ".") //$NON-NLS-1$ //$NON-NLS-2$
|
||||
+ jetCompiler.getSkeleton().getClassName());
|
||||
String methodName = jetCompiler.getSkeleton().getMethodName();
|
||||
Method[] methods = theClass.getDeclaredMethods();
|
||||
for (int i = 0; i < methods.length; ++i) {
|
||||
if (methods[i].getName().equals(methodName)) {
|
||||
jetEmitter.setMethod(methods[i]);
|
||||
break;
|
||||
}
|
||||
// Construct a proper URL for relative lookup.
|
||||
//
|
||||
URL url = new File(project.getLocation() + "/" + javaProject.getOutputLocation().removeFirstSegments(1) + "/") //$NON-NLS-1$ //$NON-NLS-2$
|
||||
.toURL();
|
||||
URLClassLoader theClassLoader = new URLClassLoader(new URL[] { url }, jetEmitter.classLoader);
|
||||
Class theClass = theClassLoader.loadClass((packageName.length() == 0 ? "" : packageName + ".") //$NON-NLS-1$ //$NON-NLS-2$
|
||||
+ jetCompiler.getSkeleton().getClassName());
|
||||
String methodName = jetCompiler.getSkeleton().getMethodName();
|
||||
Method[] methods = theClass.getDeclaredMethods();
|
||||
for (int i = 0; i < methods.length; ++i) {
|
||||
if (methods[i].getName().equals(methodName)) {
|
||||
jetEmitter.setMethod(methods[i]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subProgressMonitor.done();
|
||||
} catch (CoreException exception) {
|
||||
TalendDebugHandler.debug(exception);
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
DownloadComponenentsAction.Label=\u4E0B\u8F7D\u9009\u62E9\u7684\u7EC4\u4EF6
|
||||
RefreshComponenentsAction.Label=\u5237\u65B0\u7EC4\u4EF6\u6E05\u5355
|
||||
@@ -1,7 +1,6 @@
|
||||
ExchangeView.Exchange=Exchange
|
||||
AvailableExtensionsComposite.ExtensionName=Nom de l'extension
|
||||
AvailableExtensionsComposite.Version=Version
|
||||
AvailableExtensionsComposite.Rating=Note
|
||||
AvailableExtensionsComposite.Author=Auteur
|
||||
AvailableExtensionsComposite.ViewDetail.installOperateStatus=Installer
|
||||
AvailableExtensionsComposite.ViewDetail.WriteReview=Donnez votre avis
|
||||
@@ -10,7 +9,6 @@ DownloadedExtensionsComposite.DownloadedVersion=Version t
|
||||
DownloadedExtensionsComposite.DownloadDate=Date de téléchargement
|
||||
DownloadedExtensionsComposite.installedOperateStatus=Installé
|
||||
DownloadedExtensionsComposite.updateOperateStatus=Mettre à jour
|
||||
MyExtensionsComposite.Version=Version
|
||||
MyExtensionsComposite.UploadDate=Date du chargement
|
||||
MyExtensionsComposite.AddNewExtensionTitle=Ajouter une nouvelle extension
|
||||
MyExtensionsComposite.UpLoadNewVersionOperateStatus=Charger une nouvelle version
|
||||
@@ -21,7 +19,6 @@ MyExtensionsComposite.Form.ExtensionTitle=Titre de l'extension
|
||||
MyExtensionsComposite.Form.InitialVersion=Version initiale
|
||||
MyExtensionsComposite.Form.Compatibility=Compatibilité
|
||||
MyExtensionsComposite.Form.Compatibility.AllVersions=Toutes les versions
|
||||
MyExtensionsComposite.Form.Compatibility.Version=Version
|
||||
MyExtensionsComposite.Form.Compatibility.AllVersionsExcept=Toutes les versions sauf :
|
||||
MyExtensionsComposite.Form.Compatibility.OnlyTheseVersions=Uniquement ces versions :
|
||||
MyExtensionsComposite.Form.Description=Description
|
||||
|
||||
@@ -1,13 +1,4 @@
|
||||
AvailableExtensionsComposite.Version=Versie
|
||||
DownloadedExtensionsComposite.updateOperateStatus=Update
|
||||
MyExtensionsComposite.Version=Versie
|
||||
MyExtensionsComposite.UpdateOperateStatus=Update
|
||||
MyExtensionsComposite.ModifyOperateStatus=Wijzigen
|
||||
MyExtensionsComposite.DeleteOperateStatus=Verwijderen
|
||||
MyExtensionsComposite.Form.Compatibility.Version=Versie
|
||||
MyExtensionsComposite.Form.Upload.Browse=Blader...
|
||||
RefreshJob.FindExtensions.Title=Beschikbare extensies zoeken
|
||||
RefreshJob.FindExtensions.Message=Extensies zoeken op Exchange...
|
||||
UploadRevisionJob.Title=Upload Revisie...
|
||||
UploadRevisionJob.Message=Upload Revisie...
|
||||
UploadRevisionAction.InstalledFailure=Upload Revisie gefaald.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
DownloadedExtensionsComposite.updateOperateStatus=UPDATE
|
||||
MyExtensionsComposite.UpdateOperateStatus=UPDATE
|
||||
MyExtensionsComposite.DeleteOperateStatus=DELETE
|
||||
ImportExchangeDialog.TEMPLATES_BUTTON=SQL \u0161abloni
|
||||
ImportExchangeDialog.REFRESH_BUTTON=Osve\u017Eavanje
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
AvailableExtensionsComposite.ExtensionName=\u6269\u5C55\u540D
|
||||
AvailableExtensionsComposite.Version=\u7248\u672C
|
||||
AvailableExtensionsComposite.Author=\u4F5C\u8005
|
||||
AvailableExtensionsComposite.FilterTitle=\u8FC7\u6EE4
|
||||
DownloadedExtensionsComposite.ExtensionName=\u6269\u5C55\u540D
|
||||
DownloadedExtensionsComposite.installedOperateStatus=\u5DF2\u88C5\u8F7D
|
||||
DownloadedExtensionsComposite.updateOperateStatus=\u66F4\u65B0
|
||||
MyExtensionsComposite.ExtensionName=\u6269\u5C55\u540D
|
||||
MyExtensionsComposite.Version=\u7248\u672C
|
||||
MyExtensionsComposite.UpdateOperateStatus=\u66F4\u65B0
|
||||
MyExtensionsComposite.DeleteOperateStatus=\u5220\u9664
|
||||
MyExtensionsComposite.Form.Compatibility.Version=\u7248\u672C
|
||||
MyExtensionsComposite.Form.Description=\u5FC5\u8981\u7684
|
||||
MyExtensionsComposite.Form.Upload.Browse=\u6D4F\u89C8...
|
||||
DownloadComponenentsAction.DownloadTaskName=\u4ECEURL\u4E0B\u8F7D\u6587\u4EF6
|
||||
ImportExchangeDialog.dialogTitle=\u4ECETalend Exchange\u9009\u62E9\u4E00\u4E2A\u9879\u76EE
|
||||
ImportExchangeDialog.WARNING=\u8B66\u544A
|
||||
ImportExchangeDialog.EXTENSION_NAME=\u6269\u5C55\u540D
|
||||
ImportExchangeDialog.LATEST_REVISION=\u6700\u65B0\u7248\u672C
|
||||
ImportExchangeDialog.JOB_BUTTON=\u4F5C\u4E1A\u8BBE\u8BA1
|
||||
ImportExchangeDialog.DOWNLOAD_JOB=\u4E0B\u8F7D\u4F5C\u4E1A\u8BBE\u8BA1
|
||||
ImportExchangeDialog.ROUTINES_BUTTON=\u5E38\u89C4
|
||||
ImportExchangeDialog.TEMPLATES_PROGRESSBAR=\u4E0B\u8F7DSQL\u6A21\u677F......
|
||||
ImportExchangeDialog.REFRESH_BUTTON=\u5237\u65B0
|
||||
ImportExchangeDialog.OPERATION_CANCELLED=\u64CD\u4F5C\u5DF2\u53D6\u6D88
|
||||
@@ -234,7 +234,7 @@ public class DownloadExtensionProvider implements IIntroXHTMLContentProvider {
|
||||
String url = "http://org.eclipse.ui.intro/runAction?pluginId=org.talend.designer.components.exchange&"
|
||||
+ "class=org.talend.designer.components.exchange.ui.actions.UpdateAction&"
|
||||
+ "id=org.talend.designer.components.exchange.ui.actions.UpdateAction&"
|
||||
+ AvailableCompositeProvider.NUMBER + "=" + count;
|
||||
+ AvailableCompositeProvider.NUMBER + count;
|
||||
;
|
||||
hyperlink.setAttribute("href", url);
|
||||
Text view = dom.createTextNode(Messages
|
||||
|
||||
@@ -1,55 +1,32 @@
|
||||
package org.talend.mdm.bulkload.client;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.io.BufferedInputStream;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
import java.net.URL;
|
||||
import java.util.List;
|
||||
|
||||
public class BulkloadClient {
|
||||
|
||||
private String url;
|
||||
|
||||
private String username;
|
||||
|
||||
private String password;
|
||||
|
||||
private String universe;
|
||||
|
||||
private String cluster;
|
||||
|
||||
private String concept;
|
||||
|
||||
private String dataModel;
|
||||
|
||||
private BulkloadOptions options = new BulkloadOptions();
|
||||
|
||||
private static final AtomicInteger startedBulkloadCount = new AtomicInteger(0);
|
||||
|
||||
public BulkloadClient(String url, String username, String password, String universe, String cluster, String concept, String dataModel) {
|
||||
String url;
|
||||
String username;
|
||||
String password;
|
||||
String universe;
|
||||
String cluster;
|
||||
String concept;
|
||||
String datamodel;
|
||||
BulkloadOptions options=new BulkloadOptions();
|
||||
|
||||
public BulkloadClient(String url, String username,String password,String universe,String cluster,String concept,String datamodel) {
|
||||
this.url=url;
|
||||
this.username=username;
|
||||
this.password=password;
|
||||
this.universe=universe;
|
||||
this.cluster=cluster;
|
||||
this.concept=concept;
|
||||
this.dataModel = dataModel;
|
||||
this.datamodel=datamodel;
|
||||
}
|
||||
|
||||
public void startThreadCount(){
|
||||
// Kept for compatibility with tMDMBulkload.
|
||||
}
|
||||
|
||||
public void waitForEndOfQueue() {
|
||||
try {
|
||||
synchronized (startedBulkloadCount) {
|
||||
while (startedBulkloadCount.get() > 0) {
|
||||
System.out.println(startedBulkloadCount.get() + " remaining.");
|
||||
startedBulkloadCount.wait();
|
||||
}
|
||||
}
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
@@ -99,11 +76,11 @@ public class BulkloadClient {
|
||||
}
|
||||
|
||||
public String getDatamodel() {
|
||||
return dataModel;
|
||||
return datamodel;
|
||||
}
|
||||
|
||||
public void setDatamodel(String dataModel) {
|
||||
this.dataModel = dataModel;
|
||||
public void setDatamodel(String datamodel) {
|
||||
this.datamodel = datamodel;
|
||||
}
|
||||
|
||||
public BulkloadOptions getOptions() {
|
||||
@@ -113,75 +90,93 @@ public class BulkloadClient {
|
||||
public void setOptions(BulkloadOptions options) {
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
/**
|
||||
* load from a huge xml string
|
||||
* @param xmlString A full xml document.
|
||||
* @throws Exception Thrown in case of bulk load error.
|
||||
*/
|
||||
public void load(String xmlString) throws Exception {
|
||||
load(new ByteArrayInputStream(xmlString.getBytes("UTF-8")));
|
||||
public void load(List<String > items) {
|
||||
doLoad(items);
|
||||
}
|
||||
/**
|
||||
* load from a huge xml string
|
||||
* @param xmlString
|
||||
*/
|
||||
public void load(String xmlString)throws Exception {
|
||||
List<String > items=BulkloadClientUtil.getItemXmls(xmlString);
|
||||
doLoad(items);
|
||||
}
|
||||
|
||||
private void doLoad(List<String> items) {
|
||||
if(items.size()>options.getArraySize()) {
|
||||
int loop=items.size()/options.getArraySize();
|
||||
int left=items.size()-options.getArraySize()*loop;
|
||||
for(int i=0; i<loop; i++) {
|
||||
List<String> subItems=items.subList(i*options.getArraySize(), (i+1)*options.getArraySize());
|
||||
try {
|
||||
BulkloadClientUtil.bulkload(url, cluster, concept, datamodel, options.isValidate(), options.isSmartpk(), subItems, username, password,universe);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
if(left>0) {
|
||||
List<String> subItems=items.subList(loop*options.getArraySize(), loop*options.getArraySize()+left);
|
||||
try {
|
||||
BulkloadClientUtil.bulkload(url, cluster, concept, datamodel, options.isValidate(), options.isSmartpk(), subItems, username, password,universe);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}else {
|
||||
try {
|
||||
BulkloadClientUtil.bulkload(url, cluster, concept, datamodel, options.isValidate(), options.isSmartpk(), items, username, password,universe);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* load from File
|
||||
* @param inputXmlFile
|
||||
*/
|
||||
public void load(Reader inputXmlFile) {
|
||||
BufferedReader reader=null;
|
||||
try {
|
||||
reader=new BufferedReader(inputXmlFile);
|
||||
StringBuffer sb=new StringBuffer();
|
||||
String line=reader.readLine();
|
||||
while(line!=null) {
|
||||
sb=sb.append(line);
|
||||
line=reader.readLine();
|
||||
}
|
||||
List<String > items=BulkloadClientUtil.getItemXmls(sb.toString());
|
||||
doLoad(items);
|
||||
}catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
}finally {
|
||||
if(reader!=null)
|
||||
try {
|
||||
reader.close();
|
||||
} catch (IOException e) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
//test
|
||||
//FileReader reader=new FileReader(file)
|
||||
URL url=BulkloadClient.class.getResource("test.xml");
|
||||
try {
|
||||
BufferedInputStream in=((BufferedInputStream)url.getContent());
|
||||
byte[] buf=new byte[in.available()];
|
||||
in.read(buf);
|
||||
String xml=new String(buf);
|
||||
BulkloadClient client=new BulkloadClient("http://localhost:8080/datamanager/loadServlet","admin","talend",null,"Order","Country","Order");
|
||||
client.setOptions(new BulkloadOptions());
|
||||
client.load(xml);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Loads XML documents in MDM using an InputStream. All documents should follow each other.
|
||||
* For instance this InputStream can be used with this method.
|
||||
* </p>
|
||||
*
|
||||
* <code>
|
||||
* InputStream is = new ByteArrayInputStream("<doc></doc><doc></doc><doc></doc>".getBytes());
|
||||
* </code>
|
||||
*
|
||||
* <p>
|
||||
* This method blocks until all documents in <code>xmlDocuments</code> are read. For non blocking use cases
|
||||
* see {@link #load()}.
|
||||
* </p>
|
||||
*
|
||||
* @param xmlDocuments A stream that contains several XML documents.
|
||||
* @throws Exception Thrown in case of bulk load error
|
||||
*/
|
||||
public void load(InputStream xmlDocuments) throws Exception {
|
||||
BulkloadClientUtil.bulkload(url,
|
||||
cluster,
|
||||
concept,
|
||||
dataModel,
|
||||
options.isValidate(),
|
||||
options.isSmartpk(),
|
||||
xmlDocuments,
|
||||
username,
|
||||
password,
|
||||
universe);
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Loads XML documents in MDM using an InputStream created for the load. This method creates a {@link Thread} that
|
||||
* wait for {@link InputStreamMerger#push(java.io.InputStream)} to get called.
|
||||
* </p>
|
||||
*
|
||||
* <code>
|
||||
* BulkloadClient client = ...<br/>
|
||||
* InputStreamMerger is = client.load();<br/>
|
||||
* for(...) {<br/>
|
||||
* is.push(new ByteArrayInputStream("...".getBytes());<br/>
|
||||
* }
|
||||
* </code>
|
||||
*
|
||||
* @throws Exception Thrown in case of communication error
|
||||
* @see InputStreamMerger
|
||||
* @return A {@link InputStreamMerger} that allow asynchronous push to bulkload client.
|
||||
*/
|
||||
public InputStreamMerger load() throws Exception {
|
||||
return BulkloadClientUtil.bulkload(url,
|
||||
cluster,
|
||||
concept,
|
||||
dataModel,
|
||||
options.isValidate(),
|
||||
options.isSmartpk(),
|
||||
username,
|
||||
password,
|
||||
universe,
|
||||
startedBulkloadCount);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,131 +1,189 @@
|
||||
package org.talend.mdm.bulkload.client;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.io.IOException;
|
||||
import java.io.StringReader;
|
||||
import java.io.StringWriter;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.transform.Transformer;
|
||||
import javax.xml.transform.TransformerException;
|
||||
import javax.xml.transform.TransformerFactory;
|
||||
import javax.xml.transform.dom.DOMSource;
|
||||
import javax.xml.transform.stream.StreamResult;
|
||||
|
||||
import org.apache.commons.httpclient.HostConfiguration;
|
||||
import org.apache.commons.httpclient.HttpClient;
|
||||
import org.apache.commons.httpclient.HttpException;
|
||||
import org.apache.commons.httpclient.NameValuePair;
|
||||
import org.apache.commons.httpclient.URI;
|
||||
import org.apache.commons.httpclient.UsernamePasswordCredentials;
|
||||
import org.apache.commons.httpclient.auth.AuthScope;
|
||||
import org.apache.commons.httpclient.cookie.CookiePolicy;
|
||||
import org.apache.commons.httpclient.methods.InputStreamRequestEntity;
|
||||
import org.apache.commons.httpclient.methods.PutMethod;
|
||||
import org.apache.commons.httpclient.methods.PostMethod;
|
||||
import org.apache.commons.httpclient.params.HttpClientParams;
|
||||
import org.apache.commons.httpclient.params.HttpMethodParams;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Element;
|
||||
import org.w3c.dom.Node;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
/**
|
||||
* Bulkload amount items client
|
||||
* @author achen
|
||||
*
|
||||
*/
|
||||
public class BulkloadClientUtil {
|
||||
|
||||
public static void bulkload(String url, String cluster, String concept, String datamodel, boolean validate, boolean smartpk, InputStream itemdata,
|
||||
String username, String password, String universe) throws Exception {
|
||||
HostConfiguration config = new HostConfiguration();
|
||||
URI uri = new URI(url, false, "UTF-8"); //$NON-NLS-1$
|
||||
config.setHost(uri);
|
||||
/**
|
||||
* @param args
|
||||
*/
|
||||
public static void main(String[] args)throws Exception {
|
||||
if((!args[0].startsWith("http://") && args.length>0) && (args.length != 9 || args.length!=7 || args.length!=6)) {
|
||||
usage();
|
||||
return;
|
||||
}
|
||||
String url= args[0];
|
||||
String username=args[1];
|
||||
String password=args[2];
|
||||
String cluster= args[3];
|
||||
String concept= args[4];
|
||||
String datamodel= args[5];
|
||||
boolean validate= false;
|
||||
boolean smartpk= false;
|
||||
List<String> itemdata= new ArrayList<String>();
|
||||
if(args.length==9) {
|
||||
validate= Boolean.valueOf(args[6]);
|
||||
smartpk= Boolean.valueOf(args[7]);
|
||||
itemdata=getItemXmls(args[8]);
|
||||
}
|
||||
if(args.length==7) {
|
||||
itemdata=getItemXmls(args[6]);
|
||||
}
|
||||
if(args.length==6) {//get itemdata from System.in
|
||||
byte[] buf=new byte[System.in.available()];
|
||||
System.in.read(buf);
|
||||
itemdata=getItemXmls(new String(buf));
|
||||
}
|
||||
try {
|
||||
bulkload(url,cluster, concept,datamodel, validate, smartpk, itemdata,username,password,null);
|
||||
} catch (Exception e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
public static List<String> getItemXmls(String itemdata)throws Exception {
|
||||
Element root=parse(itemdata).getDocumentElement();
|
||||
List<String> items=new ArrayList<String>();
|
||||
for(int i=0; i<root.getChildNodes().getLength(); i++) {
|
||||
Node node=root.getChildNodes().item(i);
|
||||
if(node.getNodeType() == Node.ELEMENT_NODE) {
|
||||
items.add(nodeToString(node, true));
|
||||
}
|
||||
}
|
||||
return items;
|
||||
}
|
||||
|
||||
private static String nodeToString(Node n, boolean omitXMLDeclaration) throws TransformerException{
|
||||
StringWriter sw = new StringWriter();
|
||||
Transformer transformer = TransformerFactory.newInstance().newTransformer();
|
||||
if (omitXMLDeclaration)
|
||||
transformer.setOutputProperty("omit-xml-declaration","yes");
|
||||
else
|
||||
transformer.setOutputProperty("omit-xml-declaration","no");
|
||||
transformer.setOutputProperty("indent","yes");
|
||||
transformer.transform(
|
||||
new DOMSource(n),
|
||||
new StreamResult(sw)
|
||||
);
|
||||
if (sw==null) return null;
|
||||
return sw.toString().replaceAll("\r\n", "\n");
|
||||
}
|
||||
|
||||
private static Document parse(String xmlString) throws ParserConfigurationException,IOException, SAXException{
|
||||
//parse
|
||||
Document d=null;
|
||||
|
||||
NameValuePair[] parameters = {new NameValuePair("cluster", cluster), //$NON-NLS-1$
|
||||
new NameValuePair("concept", concept), //$NON-NLS-1$
|
||||
new NameValuePair("datamodel", datamodel), //$NON-NLS-1$
|
||||
new NameValuePair("validate", String.valueOf(validate)), //$NON-NLS-1$
|
||||
new NameValuePair("action", "load"), //$NON-NLS-1$ //$NON-NLS-2$
|
||||
new NameValuePair("smartpk", String.valueOf(smartpk))}; //$NON-NLS-1$
|
||||
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
||||
//Schema validation based on schemaURL
|
||||
factory.setNamespaceAware(true);
|
||||
factory.setAttribute(
|
||||
"http://java.sun.com/xml/jaxp/properties/schemaLanguage",
|
||||
"http://www.w3.org/2001/XMLSchema");
|
||||
DocumentBuilder builder;
|
||||
builder = factory.newDocumentBuilder();
|
||||
|
||||
HttpClient client = new HttpClient();
|
||||
String user = universe == null || universe.trim().length() == 0 ? username : universe + "/" + username; //$NON-NLS-1$
|
||||
client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(user, password));
|
||||
HttpClientParams clientParams = client.getParams();
|
||||
clientParams.setAuthenticationPreemptive(true);
|
||||
clientParams.setCookiePolicy(CookiePolicy.IGNORE_COOKIES);
|
||||
d = builder.parse(new InputSource(new StringReader(xmlString)));
|
||||
|
||||
PutMethod putMethod = new PutMethod();
|
||||
// This setPath call is *really* important (if not set, request will be sent to the JBoss root '/')
|
||||
putMethod.setPath(url);
|
||||
String responseBody;
|
||||
try {
|
||||
// Configuration
|
||||
putMethod.setRequestHeader("Content-Type", "text/xml; charset=utf8"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
putMethod.setQueryString(parameters);
|
||||
putMethod.setContentChunked(true);
|
||||
// Set the content of the PUT request
|
||||
putMethod.setRequestEntity(new InputStreamRequestEntity(itemdata));
|
||||
return d;
|
||||
}
|
||||
private static void usage() {
|
||||
String usage="Usage:\n"+
|
||||
"\t java -jar bulkloadclient.jar <url> <username> <password> <datacontainer> <concept> <datamodel> [validate] [smartpk] [itemdata] \n"+
|
||||
"\t example1: java -jar bulkloadclient.jar http://localhost:8080/datamanager/loadServlet admin talend Order Country Order <itemdata><Country><isoCode>zh</isoCode><label>china</label><Continent>Asia</Continent></Country></itemdata>"+
|
||||
"\t example2(on linux): cat myfile.xml|java -jar bulkloadclient.jar http://localhost:8080/datamanager/loadServlet admin talend Order Country Order";
|
||||
|
||||
System.out.println(usage);
|
||||
}
|
||||
|
||||
|
||||
public static boolean bulkload(String URL, String cluster,String concept,String datamodel, boolean validate, boolean smartpk, List<String> itemdata,
|
||||
String username, String password,String universe) throws Exception {
|
||||
HttpClient client = new HttpClient();
|
||||
HttpClientParams params = new HttpClientParams();
|
||||
// params.setSoTimeout(1000);
|
||||
// params.setConnectionManagerTimeout(200);
|
||||
client.setParams(params);
|
||||
String user=universe==null||universe.trim().length()==0?username:universe+"/"+username;
|
||||
client.getState().setCredentials(AuthScope.ANY,
|
||||
new UsernamePasswordCredentials(user, password));
|
||||
|
||||
client.executeMethod(config, putMethod);
|
||||
responseBody = putMethod.getResponseBodyAsString();
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
} finally {
|
||||
putMethod.releaseConnection();
|
||||
}
|
||||
URI uri = new URI(URL, false, "utf-8");
|
||||
HostConfiguration config = new HostConfiguration();
|
||||
config.setHost(uri);
|
||||
|
||||
int statusCode = putMethod.getStatusCode();
|
||||
if (statusCode >= 400) {
|
||||
throw new BulkloadException(responseBody);
|
||||
}
|
||||
}
|
||||
PostMethod postMethod = new PostMethod(URL);
|
||||
HttpMethodParams reqParams = postMethod.getParams();
|
||||
reqParams.setContentCharset("UTF-8");
|
||||
List<NameValuePair> list=new ArrayList<NameValuePair>();
|
||||
NameValuePair[] data = { new NameValuePair("cluster", cluster),
|
||||
new NameValuePair("concept", concept),
|
||||
new NameValuePair("datamodel", datamodel),
|
||||
new NameValuePair("validate", String.valueOf(validate)),
|
||||
new NameValuePair("smartpk", String.valueOf(smartpk))};
|
||||
list.addAll(Arrays.asList(data));
|
||||
for(int i=0; i<itemdata.size(); i++) {
|
||||
list.add(new NameValuePair("itemdata"+i, itemdata.get(i)));
|
||||
}
|
||||
postMethod.setRequestBody((NameValuePair[])list.toArray(new NameValuePair[list.size()]));
|
||||
// post method
|
||||
int statusCode = 0;
|
||||
try {
|
||||
statusCode = client.executeMethod(config,postMethod);
|
||||
} catch (HttpException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
public static InputStreamMerger bulkload(String url, String cluster, String concept, String dataModel, boolean validate, boolean smartPK, String username, String password, String universe, AtomicInteger startedBulkloadCount) {
|
||||
InputStreamMerger merger = new InputStreamMerger();
|
||||
if (statusCode >= 400)
|
||||
return false;
|
||||
String str = "";
|
||||
try {
|
||||
str = postMethod.getResponseBodyAsString();
|
||||
} catch (IOException e) {
|
||||
|
||||
Runnable loadRunnable = new AsyncLoadRunnable(url, cluster, concept, dataModel, validate, smartPK, merger, username, password, universe, startedBulkloadCount);
|
||||
Thread loadThread = new Thread(loadRunnable);
|
||||
loadThread.start();
|
||||
}
|
||||
System.out.println(str);
|
||||
|
||||
return merger;
|
||||
}
|
||||
postMethod.releaseConnection();
|
||||
return true;
|
||||
}
|
||||
|
||||
private static class AsyncLoadRunnable implements Runnable {
|
||||
|
||||
private final String url;
|
||||
|
||||
private final String cluster;
|
||||
|
||||
private final String concept;
|
||||
|
||||
private final String dataModel;
|
||||
|
||||
private final boolean validate;
|
||||
|
||||
private final boolean smartPK;
|
||||
|
||||
private final InputStreamMerger inputStream;
|
||||
|
||||
private final String userName;
|
||||
|
||||
private final String password;
|
||||
|
||||
private final String universe;
|
||||
|
||||
private final AtomicInteger startedBulkloadCount;
|
||||
|
||||
public AsyncLoadRunnable(String url, String cluster, String concept, String dataModel, boolean validate, boolean smartPK, InputStreamMerger inputStream, String userName, String password, String universe, AtomicInteger startedBulkloadCount) {
|
||||
this.url = url;
|
||||
this.cluster = cluster;
|
||||
this.concept = concept;
|
||||
this.dataModel = dataModel;
|
||||
this.validate = validate;
|
||||
this.smartPK = smartPK;
|
||||
this.inputStream = inputStream;
|
||||
this.userName = userName;
|
||||
this.password = password;
|
||||
this.universe = universe;
|
||||
this.startedBulkloadCount = startedBulkloadCount;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
try {
|
||||
startedBulkloadCount.incrementAndGet();
|
||||
bulkload(url, cluster, concept, dataModel, validate, smartPK, inputStream, userName, password, universe);
|
||||
} catch (Throwable e) {
|
||||
inputStream.reportFailure(e);
|
||||
} finally {
|
||||
startedBulkloadCount.decrementAndGet();
|
||||
synchronized (startedBulkloadCount) {
|
||||
startedBulkloadCount.notifyAll();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2006-2012 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.mdm.bulkload.client;
|
||||
|
||||
import java.io.PrintStream;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class BulkloadException extends RuntimeException {
|
||||
|
||||
private static final String SERVER_EXCEPTION_SEPARATOR = "== SERVER EXCEPTION ==";
|
||||
|
||||
private static final String LINE_SEPARATOR = System.getProperty("line.separator"); //$NON-NLS-1$
|
||||
|
||||
private final String serverException;
|
||||
|
||||
public BulkloadException(String serverException) {
|
||||
super("An exception happened during bulk load on MDM server.");
|
||||
this.serverException = serverException;
|
||||
}
|
||||
|
||||
public String getServerException() {
|
||||
return serverException;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printStackTrace(PrintStream s) {
|
||||
super.printStackTrace(s);
|
||||
s.append(LINE_SEPARATOR);
|
||||
s.append(SERVER_EXCEPTION_SEPARATOR);
|
||||
s.append(LINE_SEPARATOR);
|
||||
s.append(serverException);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void printStackTrace(PrintWriter s) {
|
||||
super.printStackTrace(s);
|
||||
s.println(SERVER_EXCEPTION_SEPARATOR);
|
||||
s.println(serverException);
|
||||
}
|
||||
}
|
||||
@@ -1,191 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2006-2012 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.mdm.bulkload.client;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Queue;
|
||||
import java.util.concurrent.ConcurrentLinkedQueue;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public class InputStreamMerger extends InputStream {
|
||||
|
||||
private static final Logger log = Logger.getLogger(InputStreamMerger.class.getName());
|
||||
|
||||
private final Queue<InputStream> inputStreamBuffer = new ConcurrentLinkedQueue<InputStream>();
|
||||
|
||||
private final Object readLock = new Object();
|
||||
|
||||
private final Object exhaustLock = new Object();
|
||||
|
||||
private boolean isClosed;
|
||||
|
||||
private InputStream currentStream;
|
||||
|
||||
private boolean hasFinishedRead;
|
||||
|
||||
private Throwable lastFailure;
|
||||
|
||||
public void push(InputStream inputStream) throws IOException {
|
||||
if (inputStream == null) {
|
||||
throw new IllegalArgumentException("Input stream can not be null.");
|
||||
}
|
||||
if (isClosed) {
|
||||
throw new IOException("Stream is closed");
|
||||
}
|
||||
inputStreamBuffer.add(inputStream);
|
||||
debug("Added a new input stream (buffer now has " + inputStreamBuffer.size() + " streams)");
|
||||
}
|
||||
|
||||
public void reportFailure(Throwable e) {
|
||||
debug("Exception occurred in consumer thread: " + e.getMessage());
|
||||
lastFailure = e;
|
||||
synchronized (exhaustLock) {
|
||||
exhaustLock.notifyAll();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int available() throws IOException {
|
||||
return 4096;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean markSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* <p> Read block the current thread until data is pushed to this stream (using {@link #push(java.io.InputStream)}
|
||||
* or if {@link #close()} is called. </p>
|
||||
*
|
||||
* @return the next byte of data, or <code>-1</code> if the end of the stream is reached <b>or</b> if stream is
|
||||
* closed.
|
||||
* @throws IOException
|
||||
* @see java.io.InputStream#read()
|
||||
*/
|
||||
@Override
|
||||
public int read() throws IOException {
|
||||
int read = -1;
|
||||
if (currentStream != null) {
|
||||
read = currentStream.read();
|
||||
} else {
|
||||
moveToNextInputStream();
|
||||
if (currentStream != null) {
|
||||
read = currentStream.read();
|
||||
}
|
||||
}
|
||||
if (read < 0) {
|
||||
moveToNextInputStream();
|
||||
if (currentStream != null) {
|
||||
read = currentStream.read();
|
||||
}
|
||||
}
|
||||
if (read < 0) {
|
||||
synchronized (exhaustLock) {
|
||||
debug("Notify exhaust lock");
|
||||
exhaustLock.notifyAll();
|
||||
}
|
||||
}
|
||||
// Throw any exception that might have occurred during last record processing.
|
||||
throwLastFailure();
|
||||
return read;
|
||||
}
|
||||
|
||||
private void throwLastFailure() throws IOException {
|
||||
if (lastFailure != null) {
|
||||
debug("Report last failure exception to producer.");
|
||||
throw new IOException("An exception occurred while processing last record.", lastFailure);
|
||||
}
|
||||
}
|
||||
|
||||
private void moveToNextInputStream() throws IOException {
|
||||
// Throw any exception that might have occurred during previous records
|
||||
throwLastFailure();
|
||||
// Check the isClosed flag in case we've got waken up by a close()
|
||||
while (inputStreamBuffer.isEmpty() && !isClosed) {
|
||||
synchronized (readLock) {
|
||||
try {
|
||||
debug("Wait for more input...");
|
||||
readLock.wait();
|
||||
debug("Wait for more input done.");
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!inputStreamBuffer.isEmpty()) {
|
||||
if (currentStream != null) {
|
||||
currentStream.close();
|
||||
}
|
||||
currentStream = inputStreamBuffer.poll();
|
||||
} else {
|
||||
currentStream = null;
|
||||
hasFinishedRead = true;
|
||||
}
|
||||
debug("Remaining buffers : " + inputStreamBuffer.size());
|
||||
}
|
||||
|
||||
/**
|
||||
* <p> Close this stream and perform some checks: <ul> <li>Mark this stream as closed (no more calls to {@link
|
||||
* #push(java.io.InputStream)} are allowed)</li> <li>Closes any remaining stream pushed to this stream</li> </ul>
|
||||
* </p> <p> Calling this method wakes up any thread blocked on {@link #read()} </p> <p> Wait till all streams pushed
|
||||
* to this stream (and stored in <code>inputStreamBuffer</code>) are processed by a reader. </p> <p> When this
|
||||
* method exits, the buffer is empty and the last stream in buffer is fully read (i.e. until read() returns -1).
|
||||
* </p>
|
||||
*
|
||||
* @throws IOException In case at least one stream in buffer hasn't been read.
|
||||
* @see java.io.InputStream#close()
|
||||
*/
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
super.close();
|
||||
isClosed = true;
|
||||
synchronized (readLock) {
|
||||
readLock.notifyAll();
|
||||
}
|
||||
debug("Input stream buffer size: " + +inputStreamBuffer.size());
|
||||
debug("Has finished read: " + hasFinishedRead);
|
||||
debug("Stop condition: " + (!inputStreamBuffer.isEmpty() && !hasFinishedRead));
|
||||
while (!inputStreamBuffer.isEmpty() && !hasFinishedRead) {
|
||||
try {
|
||||
debug("Waiting for exhaust... (" + inputStreamBuffer.size() + " remaining)");
|
||||
synchronized (exhaustLock) {
|
||||
exhaustLock.wait();
|
||||
}
|
||||
// In case we got woken up due to a failure
|
||||
throwLastFailure();
|
||||
debug("Waiting for exhaust done.");
|
||||
} catch (InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
// In case failure happened on very last read.
|
||||
throwLastFailure();
|
||||
debug("Close completed.");
|
||||
}
|
||||
|
||||
private static void debug(String message) {
|
||||
Level debugLevel = Level.FINEST;
|
||||
if (log.isLoggable(debugLevel)) {
|
||||
log.log(debugLevel, "[" + Thread.currentThread() + "] " + message);
|
||||
}
|
||||
}
|
||||
|
||||
public Throwable getLastReportedFailure() {
|
||||
return lastFailure;
|
||||
}
|
||||
}
|
||||
@@ -15,8 +15,8 @@
|
||||
<pathelement location="${component.plugin.home}/tFileInputXML/dom4j-1.6.1.jar" />
|
||||
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/geronimo-stax-api_1.0_spec-1.0.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/log4j-1.2.15.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-3.8-20120913_modified_talend.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-3.8-20121127_modified_talend.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-3.8-20120326.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-3.8-20120326.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-schemas-3.8-20120326.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-scratchpad-3.8-20120326.jar" />
|
||||
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/xmlbeans-2.3.0.jar" />
|
||||
|
||||
@@ -27,41 +27,30 @@ public class DefaultTalendSheetContentsHandler implements TalendXSSFSheetXMLHand
|
||||
|
||||
private boolean stop = false;
|
||||
|
||||
private int currentColumnIndex = -1;
|
||||
|
||||
private int lastColumnIndex = -1;
|
||||
|
||||
public DefaultTalendSheetContentsHandler(DataBufferCache cache) {
|
||||
this.cache = cache;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void startRow(int rowNum) {
|
||||
row = new ArrayList<String>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endRow() {
|
||||
cache.writeData(row);
|
||||
row = null;
|
||||
// when each row end ,reset lastColumnIndex
|
||||
lastColumnIndex = -1;
|
||||
|
||||
if (stop) {
|
||||
throw new EnoughDataException("Get enough data,now stop the xml parse action");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cell(String cellReference, String formattedValue) {
|
||||
checkHasNullValue(cellReference);
|
||||
row.add(formattedValue);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void headerFooter(String text, boolean isHeader, String tagName) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void endSheet() {
|
||||
|
||||
}
|
||||
@@ -70,40 +59,4 @@ public class DefaultTalendSheetContentsHandler implements TalendXSSFSheetXMLHand
|
||||
this.stop = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* when currentCellReferecnce is "A1" ,and next currentCellReferecnce is "C1",we need add a null value for "B1"
|
||||
*/
|
||||
private void checkHasNullValue(String cellReference) {
|
||||
currentColumnIndex = getIndexOfColumn(cellReference);
|
||||
// Might be the empty string.
|
||||
for (int i = lastColumnIndex; i < currentColumnIndex - 1; i++) {
|
||||
row.add(null);
|
||||
}
|
||||
// Update column
|
||||
if (currentColumnIndex > -1) {
|
||||
lastColumnIndex = currentColumnIndex;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* get index of column,like "AB12" return 27
|
||||
*/
|
||||
private int getIndexOfColumn(String cellReference) {
|
||||
int columnIndex = -1;
|
||||
// get First Digit index ,like cellReferecnce is "AA13" ,firstDigitIndex return 2
|
||||
int firstDigitIndex = -1;
|
||||
for (int c = 0; c < cellReference.length(); ++c) {
|
||||
if (Character.isDigit(cellReference.charAt(c))) {
|
||||
firstDigitIndex = c;
|
||||
break;
|
||||
}
|
||||
}
|
||||
// get String part for cellReference,like "AB2" ,return "AB"
|
||||
String cellStringPart = cellReference.substring(0, firstDigitIndex);
|
||||
for (int i = 0; i < cellStringPart.length(); ++i) {
|
||||
int c = cellStringPart.charAt(i);
|
||||
columnIndex = (columnIndex + 1) * 26 + c - 'A';
|
||||
}
|
||||
return columnIndex;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1412,7 +1412,8 @@ public class MktowsApiSoapBindingStub extends org.apache.axis.client.Stub implem
|
||||
public void addMarketoAuthenticatioNHeader(org.apache.axis.client.Call _call) throws Exception {
|
||||
// Request timestamp: a timestamp string in W3C WSDL date format
|
||||
|
||||
String requestTimestamp = formatAsW3C(Calendar.getInstance().getTime());
|
||||
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
|
||||
String requestTimestamp = df.format(Calendar.getInstance().getTime());
|
||||
// System.out.println(requestTimestamp);
|
||||
|
||||
String stringToEncrypt = requestTimestamp + clientAccessID;
|
||||
@@ -1434,13 +1435,6 @@ public class MktowsApiSoapBindingStub extends org.apache.axis.client.Stub implem
|
||||
// System.out.println(authenticationHeader.getAsString());
|
||||
_call.addHeader(authenticationHeader);
|
||||
}
|
||||
|
||||
public String formatAsW3C(java.util.Date dt) {
|
||||
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
|
||||
String text = df.format(dt);
|
||||
String w3cValue = text.substring(0, 22) + ":" + text.substring(22);
|
||||
return w3cValue;
|
||||
}
|
||||
|
||||
public com.marketo.www.mktows.SuccessGetLeadActivity getLeadActivity(com.marketo.www.mktows.ParamsGetLeadActivity paramsGetLeadActivity) throws java.rmi.RemoteException {
|
||||
if (super.cachedEndpoint == null) {
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/geronimo-stax-api_1.0_spec-1.0.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/log4j-1.2.15.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-3.8-20120913_modified_talend.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-3.8-20121127_modified_talend.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-3.8-20120326.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-ooxml-schemas-3.8-20120326.jar" />
|
||||
<pathelement location="${component.plugin.home}/tFileInputExcel/poi-scratchpad-3.8-20120326.jar" />
|
||||
<pathelement location="${component.plugin.home}/tMicrosoftCrmInput/xmlbeans-2.3.0.jar" />
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//
|
||||
// Talend Community Edition
|
||||
//
|
||||
// Copyright (C) 2006-2013 Talend - www.talend.com
|
||||
// Copyright (C) 2006-2012 Talend - www.talend.com
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public
|
||||
@@ -565,14 +565,6 @@ public class TOSDelimitedReader {
|
||||
if (readCount < maxReadLength) {
|
||||
if (readCount == -1) {
|
||||
streamEndMeet = true;
|
||||
} else {
|
||||
if(inputStream.markSupported()) {
|
||||
inputStream.mark(1);
|
||||
if(inputStream.read() == -1) {
|
||||
streamEndMeet = true;
|
||||
}
|
||||
inputStream.reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -3,8 +3,6 @@ package org.talend.designer.components.hashfile.common;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.Iterator;
|
||||
import org.talend.designer.components.hashfile.memory.AdvancedMemoryHashFile;
|
||||
|
||||
public class MapHashFile {
|
||||
@@ -41,29 +39,4 @@ public class MapHashFile {
|
||||
public Map<String, String> getKeyMap() {
|
||||
return keyMap;
|
||||
}
|
||||
public void clearCache(String key){
|
||||
clearChildCache(getRootCache(key));
|
||||
}
|
||||
public void clearChildCache(String root){
|
||||
Set<String> set = keyMap.keySet();
|
||||
synchronized(keyMap) {
|
||||
Iterator<String> it = set.iterator();
|
||||
while(it.hasNext()){
|
||||
String key = it.next();
|
||||
if(keyMap.get(key).equals(root)){
|
||||
this.resourceMap.remove(key);
|
||||
clearChildCache(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
this.resourceMap.remove(root);
|
||||
}
|
||||
|
||||
public String getRootCache(String cache){
|
||||
String root;
|
||||
while((root = keyMap.get(cache))!=null){
|
||||
cache=root;
|
||||
}
|
||||
return cache;
|
||||
}
|
||||
}
|
||||
@@ -12,7 +12,6 @@
|
||||
// ============================================================================
|
||||
package org.talend.designer.components.hashfile.memory;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
@@ -35,9 +34,9 @@ public class AdvancedMemoryHashFile<V> {
|
||||
public AdvancedMemoryHashFile(MATCHING_MODE matchingMode) {
|
||||
this.matchingMode = matchingMode;
|
||||
if (matchingMode == MATCHING_MODE.KEEP_ALL) {
|
||||
allList = Collections.synchronizedList(new ArrayList<V>());
|
||||
allList = new ArrayList<V>();
|
||||
} else if (matchingMode == MATCHING_MODE.KEEP_FIRST) {
|
||||
firstHash = Collections.synchronizedMap(new HashMap<V, V>());
|
||||
firstHash = new HashMap<V, V>();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ bin.excludes = components/tBonitaDeploy/,\
|
||||
components/tMSSqlInput/jtds-1.2.5.jar,\
|
||||
components/tMicrosoftMQInput/msmq.jar,\
|
||||
components/tMysqlInput/mysql-connector-java-3.1.14-bin.jar,\
|
||||
components/tAmazonMysqlInput/mysql-connector-java-5.1.22-bin.jar,\
|
||||
components/tAmazonMysqlInput/mysql-connector-java-5.1.0-bin.jar,\
|
||||
components/tAmazonMysqlInput/mysql-connector-java-5.1.0-bin.jar,\
|
||||
components/tGreenplumGPLoad/namedpipe_jni.dll,\
|
||||
components/tNamedPipeOutput/namedpipe_jni.dll,\
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -1,3 +0,0 @@
|
||||
CLOSE.NAME=\u5173\u95ed\u8fde\u63a5
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -1,4 +1,2 @@
|
||||
PASS.NAME=Wachtwoord
|
||||
USER.NAME=Gebruikersnaam
|
||||
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4
|
||||
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
DBNAME.NAME=\u6570\u636e\u5e93
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
HOST.NAME=\u4e3b\u673a
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
NB_LINE.NAME=\u884c\u6570
|
||||
NULL_CHAR.NAME=Null\u5b57\u7b26
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
PORT.NAME=\u7aef\u53e3
|
||||
USER.NAME=\u7528\u6237\u540D
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
SHARED_CONNECTION_NAME.NAME=\u5171\u4EAB\u6570\u636E\u5E93\u8FDE\u63A5\u540D
|
||||
AUTO_COMMIT.NAME=\u81EA\u52A8\u63D0\u4EA4
|
||||
TYPE.NAME=\u6570\u636e\u5e93\u9a71\u52a8
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
@@ -7,7 +7,9 @@ imports="
|
||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||
org.talend.core.model.process.IConnection
|
||||
org.talend.core.model.process.IConnectionCategory
|
||||
org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils
|
||||
org.talend.core.model.metadata.types.JavaTypesManager
|
||||
org.talend.core.model.metadata.types.JavaType
|
||||
java.util.List
|
||||
java.util.Map"
|
||||
%>
|
||||
|
||||
@@ -1,4 +1,2 @@
|
||||
PASS.NAME=Wachtwoord
|
||||
USER.NAME=Gebruikersnaam
|
||||
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4
|
||||
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
DBNAME.NAME=\u6570\u636e\u5e93
|
||||
HOST.NAME=\u4e3b\u673a
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
QUERY.NAME=\u67e5\u8be2
|
||||
QUERYSTORE.NAME=\u67e5\u8be2\u7c7b\u578b
|
||||
SCHEMA_DB.NAME=\u67B6\u6784
|
||||
USER.NAME=\u7528\u6237\u540D
|
||||
USE_EXISTING_CONNECTION.NAME=\u5E94\u7528\u5DF2\u5B58\u5728\u7684\u8FDE\u63A5
|
||||
TRIM_COLUMN.ITEM.TRIM=\u6574\u7406\u7A7A\u683C
|
||||
TABLE.NAME=\u8868
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
GUESS_SCHEMA.NAME=\u8BA1\u7B97schema
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
TYPE.NAME=\u6570\u636e\u5e93\u9a71\u52a8
|
||||
SCHEMA.NAME=\u67B6\u6784
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
MAPPING.NAME=\u6620\u5c04
|
||||
@@ -1,6 +1,7 @@
|
||||
<%@ jet
|
||||
imports="
|
||||
org.talend.core.model.process.INode
|
||||
org.talend.core.model.process.ElementParameterParser
|
||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||
"
|
||||
%>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
SCHEMA.NAME=\u67B6\u6784
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -4,6 +4,9 @@ imports="
|
||||
org.talend.core.model.process.INode
|
||||
org.talend.core.model.process.ElementParameterParser
|
||||
org.talend.core.model.metadata.IMetadataTable
|
||||
org.talend.core.model.metadata.IMetadataColumn
|
||||
org.talend.core.model.metadata.types.JavaTypesManager
|
||||
org.talend.core.model.metadata.types.JavaType
|
||||
org.talend.core.model.metadata.MappingTypeRetriever
|
||||
org.talend.core.model.metadata.MetadataTalendType
|
||||
org.talend.core.model.process.IConnection
|
||||
@@ -11,6 +14,7 @@ imports="
|
||||
java.util.ArrayList
|
||||
java.util.Map
|
||||
java.util.HashMap
|
||||
java.util.LinkedList
|
||||
"
|
||||
skeleton="../templates/db_output_bulk.skeleton"
|
||||
%>
|
||||
|
||||
@@ -4,8 +4,10 @@ imports="
|
||||
org.talend.core.model.process.INode
|
||||
org.talend.core.model.process.ElementParameterParser
|
||||
org.talend.core.model.process.IConnection
|
||||
org.talend.core.model.metadata.IMetadataColumn
|
||||
org.talend.core.model.metadata.IMetadataTable
|
||||
org.talend.core.model.metadata.types.JavaTypesManager
|
||||
org.talend.core.model.metadata.types.JavaType
|
||||
org.talend.core.model.metadata.MappingTypeRetriever
|
||||
org.talend.core.model.metadata.MetadataTalendType
|
||||
org.talend.core.model.process.IConnectionCategory
|
||||
@@ -13,6 +15,7 @@ imports="
|
||||
java.util.ArrayList
|
||||
java.util.Map
|
||||
java.util.HashMap
|
||||
java.util.LinkedList
|
||||
"
|
||||
skeleton="../templates/db_output_bulk.skeleton"
|
||||
%>
|
||||
|
||||
@@ -24,7 +24,7 @@ DATA_ACTION.ITEM.INSERT_OR_UPDATE=Insert ou update
|
||||
DATA_ACTION.ITEM.UPDATE=UPDATE
|
||||
DATA_ACTION.ITEM.UPDATE_OR_INSERT=Update ou insert
|
||||
DATA_ACTION.NAME=Action sur les données
|
||||
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
|
||||
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
|
||||
ENCODING.NAME=Encodage
|
||||
FIELD_OPTIONS.ITEM.DELETE_KEY=Clé pour suppression
|
||||
FIELD_OPTIONS.ITEM.INSERTABLE=Insérable
|
||||
|
||||
@@ -6,9 +6,5 @@ ADD_COLS.ITEM.OPERATOR.ITEM.IS=IS
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.LESS_THAN=Kleiner dan
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
|
||||
COMMIT_EVERY.NAME=Commit iedere
|
||||
DATA_ACTION.ITEM.DELETE=Verwijderen
|
||||
DATA_ACTION.ITEM.UPDATE=Update
|
||||
PASS.NAME=Wachtwoord
|
||||
USER.NAME=Gebruikersnaam
|
||||
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4
|
||||
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1
|
||||
|
||||
@@ -6,5 +6,6 @@ ADD_COLS.ITEM.OPERATOR.ITEM.LESS_THAN=Manje od
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
|
||||
ADD_COLS.ITEM.REFCOL=Referentna kolona
|
||||
ADD_COLS.ITEM.SQL=SQL izraz
|
||||
DATA_ACTION.ITEM.DELETE=DELETE
|
||||
DATA_ACTION.ITEM.INSERT=INSERT
|
||||
DATA_ACTION.ITEM.UPDATE=UPDATE
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
ADD_COLS.ITEM.DATATYPE=\u6570\u636e\u7c7b\u578b
|
||||
ADD_COLS.ITEM.NAME=\u540d\u79f0
|
||||
ADD_COLS.ITEM.OPERATOR=\u64cd\u4f5c
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.EQUAL=>=
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_EQUAL_THAN=>=
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_THAN=>=
|
||||
ADD_COLS.ITEM.POS=\u4f4d\u7f6e
|
||||
ADD_COLS.ITEM.POS.ITEM.AFTER=\u4e4b\u540e
|
||||
ADD_COLS.ITEM.POS.ITEM.BEFORE=\u4e4b\u524d
|
||||
ADD_COLS.ITEM.POS.ITEM.REPLACE=\u66ff\u4ee3
|
||||
ADD_COLS.ITEM.REFCOL=\u76f8\u5173\u7684\u5217
|
||||
ADD_COLS.ITEM.SQL=SQL\u8868\u8fbe\u5f0f
|
||||
ADD_COLS.NAME=\u9644\u52a0\u5217
|
||||
CLEAR_TABLE.NAME=\u6e05\u9664\u8868\u4e2d\u7684\u6570\u636e
|
||||
COMMIT_EVERY.NAME=\u63d0\u4ea4\u95f4\u9694
|
||||
DATA_ACTION.ITEM.DELETE=\u5220\u9664
|
||||
DATA_ACTION.ITEM.INSERT=\u63D2\u5165
|
||||
DATA_ACTION.ITEM.INSERT_OR_UPDATE=\u63d2\u5165\u6216\u66f4\u65b0
|
||||
DATA_ACTION.ITEM.UPDATE=\u66F4\u65B0
|
||||
DATA_ACTION.ITEM.UPDATE_OR_INSERT=\u66f4\u65b0\u6216\u63d2\u5165
|
||||
DATA_ACTION.NAME=\u6570\u636E\u64CD\u4F5C
|
||||
DBNAME.NAME=\u6570\u636e\u5e93
|
||||
DIE_ON_ERROR.NAME=\u9519\u8bef\u65f6\u7ec8\u6b62
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
HOST.NAME=\u4e3b\u673a
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
NB_LINE.NAME=\u884c\u6570
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
QUERY.NAME=\u67e5\u8be2
|
||||
SCHEMA_FLOW.NAME=\u67B6\u6784
|
||||
TABLE.NAME=\u8868
|
||||
TABLE_ACTION.ITEM.CLEAR=\u6E05\u9664\u8868\u4E2D\u6570\u636E
|
||||
TABLE_ACTION.ITEM.CREATE=\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.CREATE_IF_NOT_EXISTS=\u5982\u679C\u8868\u4E0D\u5B58\u5728\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.DROP_CREATE=\u5220\u9664\u5E76\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.DROP_IF_EXISTS_AND_CREATE=\u5982\u679c\u8868\u5b58\u5728\u5220\u9664\u7136\u540e\u521b\u5efa
|
||||
TABLE_ACTION.ITEM.NONE=\u65E0
|
||||
TABLE_ACTION.NAME=\u8868\u64CD\u4F5C
|
||||
USER.NAME=\u7528\u6237\u540D
|
||||
USE_EXISTING_CONNECTION.NAME=\u5E94\u7528\u5DF2\u5B58\u5728\u7684\u8FDE\u63A5
|
||||
ENABLE_DEBUG_MODE.NAME=\u542F\u7528\u8C03\u8BD5\u6A21\u5F0F
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
TYPE.NAME=\u6570\u636e\u5e93\u9a71\u52a8
|
||||
MAPPING.NAME=\u6620\u5c04
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -1,3 +0,0 @@
|
||||
CLOSE.NAME=\u5173\u95ed\u8fde\u63a5
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
<CONNECTORS>
|
||||
<CONNECTOR CTYPE="FLOW" MAX_INPUT="1" MAX_OUTPUT="1"/>
|
||||
<CONNECTOR NAME="REJECT" NOT_SHOW_IF="(DIE_ON_ERROR == 'true')" CTYPE="FLOW" MAX_INPUT="0" MAX_OUTPUT="1" LINE_STYLE="2" COLOR="FF0000" BASE_SCHEMA="FLOW" />
|
||||
<CONNECTOR NAME="REJECT" CTYPE="FLOW" MAX_INPUT="0" MAX_OUTPUT="1" LINE_STYLE="2" COLOR="FF0000" BASE_SCHEMA="FLOW" />
|
||||
<CONNECTOR CTYPE="ITERATE" MAX_OUTPUT="1" MAX_INPUT="1"/>
|
||||
<CONNECTOR CTYPE="SUBJOB_OK" MAX_INPUT="1" />
|
||||
<CONNECTOR CTYPE="SUBJOB_ERROR" MAX_INPUT="1" />
|
||||
|
||||
@@ -131,7 +131,7 @@ try {
|
||||
}
|
||||
}
|
||||
%>
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
COMMIT_EVERY.NAME=Commiter toutes les
|
||||
DBD-DB2.INFO=Requis
|
||||
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
|
||||
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
|
||||
ENCODING.NAME=Encodage
|
||||
HELP=org.talend.help.tAS400Row
|
||||
HOST.NAME=Hôte
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
COMMIT_EVERY.NAME=Commit iedere
|
||||
PASS.NAME=Wachtwoord
|
||||
USER.NAME=Gebruikersnaam
|
||||
DB_VERSION.ITEM.V5R2_V5R4=V5R2 to V5R4
|
||||
DB_VERSION.ITEM.V5R3_V6R1=V5R3 to V6R1
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
COMMIT_EVERY.NAME=\u63d0\u4ea4\u95f4\u9694
|
||||
DBD-DB2.INFO=\u5fc5\u987b\u7684
|
||||
DBNAME.NAME=\u6570\u636e\u5e93
|
||||
DIE_ON_ERROR.NAME=\u9519\u8bef\u65f6\u7ec8\u6b62
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
HOST.NAME=\u4e3b\u673a
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
NB_LINE.NAME=\u884c\u6570
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
QUERY.NAME=\u67e5\u8be2
|
||||
SCHEMA_DB.NAME=\u67B6\u6784
|
||||
USER.NAME=\u7528\u6237\u540D
|
||||
USE_EXISTING_CONNECTION.NAME=\u5E94\u7528\u5DF2\u5B58\u5728\u7684\u8FDE\u63A5
|
||||
TABLE.NAME=\u8868
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
TYPE.NAME=\u6570\u636e\u5e93\u9a71\u52a8
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
SCHEMA_FLOW.NAME=\u67B6\u6784
|
||||
QUERYSTORE.NAME=\u67e5\u8be2\u7c7b\u578b
|
||||
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.Time=\u65f6\u95f4
|
||||
@@ -4,6 +4,7 @@ imports="
|
||||
org.talend.core.model.process.ElementParameterParser
|
||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||
org.talend.core.model.metadata.IMetadataTable
|
||||
org.talend.core.model.metadata.IMetadataColumn
|
||||
org.talend.core.model.metadata.MetadataTalendType
|
||||
org.talend.core.model.metadata.MappingTypeRetriever
|
||||
java.util.List
|
||||
|
||||
@@ -1,4 +1,2 @@
|
||||
PASS.NAME=Wachtwoord
|
||||
USER.NAME=Gebruikersnaam
|
||||
DB_VERSION.ITEM.Access_2003=Access 2003
|
||||
DB_VERSION.ITEM.Access_2007=Access 2007
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
NULL_CHAR.NAME=\u7a7a\u5b57\u7b26\u5fc5\u987b\u88ab\u6307\u5b9a
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
TABLE.NAME=\u540E\u8FD0\u884C
|
||||
TABLE_ACTION.NAME=\u8868\u64CD\u4F5C
|
||||
TABLE_ACTION.ITEM.CLEAR=\u6E05\u9664\u8868\u4E2D\u6570\u636E
|
||||
TABLE_ACTION.ITEM.CREATE=\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.CREATE_IF_NOT_EXISTS=\u5982\u679C\u8868\u4E0D\u5B58\u5728\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.DROP_CREATE=\u5220\u9664\u5E76\u521B\u5EFA\u8868
|
||||
DATA_ACTION.NAME=\u6570\u636E\u64CD\u4F5C
|
||||
DATA_ACTION.ITEM.INSERT=\u63D2\u5165
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
MAPPING.NAME=\u6620\u5c04
|
||||
SCHEMA.NAME=\u67B6\u6784
|
||||
NOTE.NAME=\u8282\u70b9
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
INCLUDEHEADER.NAME=\u52A0\u5165\u5934\u90E8\u5206
|
||||
USE_EXISTING_CONNECTION.NAME=\u5E94\u7528\u5DF2\u5B58\u5728\u7684\u8FDE\u63A5
|
||||
@@ -1 +0,0 @@
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -1,2 +0,0 @@
|
||||
CLOSE.NAME=\u5173\u95ED\u8FDE\u63A5
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -1,4 +1,2 @@
|
||||
PASS.NAME=Wachtwoord
|
||||
USER.NAME=Gebruikersnaam
|
||||
DB_VERSION.ITEM.Access_2003=Access 2003
|
||||
DB_VERSION.ITEM.Access_2007=Access 2007
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
HOST.NAME=\u4e3b\u673a
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
PORT.NAME=\u7aef\u53e3
|
||||
SHARED_CONNECTION_NAME.NAME=\u5171\u4EAB\u6570\u636E\u5E93\u8FDE\u63A5\u540D
|
||||
TYPE.NAME=\u6570\u636e\u5e93\u9a71\u52a8
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
@@ -7,7 +7,9 @@ imports="
|
||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||
org.talend.core.model.process.IConnection
|
||||
org.talend.core.model.process.IConnectionCategory
|
||||
org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils
|
||||
org.talend.core.model.metadata.types.JavaTypesManager
|
||||
org.talend.core.model.metadata.types.JavaType
|
||||
java.util.List
|
||||
java.util.Map
|
||||
"
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
PASS.NAME=Wachtwoord
|
||||
DB_VERSION.ITEM.Access_2003=Access 2003
|
||||
DB_VERSION.ITEM.Access_2007=Access 2007
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
DBNAME.NAME=\u6570\u636e\u5e93
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
QUERY.NAME=\u67e5\u8be2
|
||||
QUERYSTORE.NAME=\u67e5\u8be2\u7c7b\u578b
|
||||
SCHEMA.NAME=\u67B6\u6784
|
||||
USER.NAME=\u7528\u6237\u540D
|
||||
TABLE.NAME=\u8868
|
||||
TRIM_COLUMN.ITEM.TRIM=\u6574\u7406\u7A7A\u683C
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
GUESS_SCHEMA.NAME=\u8BA1\u7B97schema
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
TYPE.NAME=\u6570\u636e\u5e93\u9a71\u52a8
|
||||
MAPPING.NAME=\u6620\u5c04
|
||||
USE_EXISTING_CONNECTION.NAME=\u5E94\u7528\u5DF2\u5B58\u5728\u7684\u8FDE\u63A5
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -3,12 +3,16 @@ imports="org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||
org.talend.core.model.process.INode
|
||||
org.talend.core.model.process.ElementParameterParser
|
||||
org.talend.core.model.metadata.IMetadataTable
|
||||
org.talend.core.model.metadata.IMetadataColumn
|
||||
org.talend.core.model.metadata.types.JavaTypesManager
|
||||
org.talend.core.model.metadata.types.JavaType
|
||||
org.talend.core.model.metadata.MappingTypeRetriever
|
||||
org.talend.core.model.metadata.MetadataTalendType
|
||||
java.util.List
|
||||
java.util.ArrayList
|
||||
java.util.Map
|
||||
java.util.HashMap"
|
||||
java.util.HashMap
|
||||
java.util.LinkedList"
|
||||
skeleton="../templates/db_output_bulk.skeleton"
|
||||
%>
|
||||
|
||||
|
||||
@@ -4,8 +4,10 @@ imports="
|
||||
org.talend.core.model.process.INode
|
||||
org.talend.core.model.process.ElementParameterParser
|
||||
org.talend.core.model.process.IConnection
|
||||
org.talend.core.model.metadata.IMetadataColumn
|
||||
org.talend.core.model.metadata.IMetadataTable
|
||||
org.talend.core.model.metadata.types.JavaTypesManager
|
||||
org.talend.core.model.metadata.types.JavaType
|
||||
org.talend.core.model.metadata.MappingTypeRetriever
|
||||
org.talend.core.model.metadata.MetadataTalendType
|
||||
org.talend.core.model.process.IConnectionCategory
|
||||
@@ -13,6 +15,7 @@ imports="
|
||||
java.util.ArrayList
|
||||
java.util.Map
|
||||
java.util.HashMap
|
||||
java.util.LinkedList
|
||||
"
|
||||
skeleton="../templates/db_output_bulk.skeleton"
|
||||
%>
|
||||
@@ -140,7 +143,7 @@ skeleton="../templates/db_output_bulk.skeleton"
|
||||
try {
|
||||
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
|
||||
nb_line_<%=cid%>++;
|
||||
} catch(java.lang.Exception e) {
|
||||
} catch(Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
@@ -225,7 +228,7 @@ skeleton="../templates/db_output_bulk.skeleton"
|
||||
try {
|
||||
updatedCount_<%=cid%> = updatedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
|
||||
nb_line_<%=cid%>++;
|
||||
} catch(java.lang.Exception e) {
|
||||
} catch(Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
@@ -336,7 +339,7 @@ skeleton="../templates/db_output_bulk.skeleton"
|
||||
%>
|
||||
try {
|
||||
updatedCount_<%=cid%> = updatedCount_<%=cid%> + pstmtUpdate_<%=cid %>.executeUpdate();
|
||||
} catch(java.lang.Exception e) {
|
||||
} catch(Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
@@ -389,7 +392,7 @@ skeleton="../templates/db_output_bulk.skeleton"
|
||||
%>
|
||||
try{
|
||||
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmtInsert_<%=cid %>.executeUpdate();
|
||||
} catch(java.lang.Exception e) {
|
||||
} catch(Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
@@ -478,7 +481,7 @@ skeleton="../templates/db_output_bulk.skeleton"
|
||||
try {
|
||||
updateFlag_<%=cid%>=pstmtUpdate_<%=cid %>.executeUpdate();
|
||||
updatedCount_<%=cid%> = updatedCount_<%=cid%>+updateFlag_<%=cid%>;
|
||||
} catch(java.lang.Exception e) {
|
||||
} catch(Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
@@ -536,7 +539,7 @@ skeleton="../templates/db_output_bulk.skeleton"
|
||||
%>
|
||||
try {
|
||||
insertedCount_<%=cid%> = insertedCount_<%=cid%> + pstmtInsert_<%=cid %>.executeUpdate();
|
||||
} catch(java.lang.Exception e) {
|
||||
} catch(Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
@@ -607,7 +610,7 @@ skeleton="../templates/db_output_bulk.skeleton"
|
||||
%>
|
||||
try {
|
||||
deletedCount_<%=cid%> = deletedCount_<%=cid%> + pstmt_<%=cid %>.executeUpdate();
|
||||
} catch(java.lang.Exception e) {
|
||||
} catch(Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
|
||||
@@ -15,7 +15,7 @@ DATA_ACTION.ITEM.INSERT_OR_UPDATE=Insert ou update
|
||||
DATA_ACTION.ITEM.UPDATE=UPDATE
|
||||
DATA_ACTION.ITEM.UPDATE_OR_INSERT=Update ou insert
|
||||
DATA_ACTION.NAME=Action sur les données
|
||||
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
|
||||
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
|
||||
ENCODING.NAME=Encodage
|
||||
HELP=org.talend.help.tAccessOutput
|
||||
LONG_NAME=Insère ou met à jour des lignes dans une table Access.
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
ADD_COLS.ITEM.NAME=Naam
|
||||
COMMIT_EVERY.NAME=Commit iedere
|
||||
DATA_ACTION.ITEM.DELETE=Verwijderen
|
||||
DATA_ACTION.ITEM.UPDATE=Update
|
||||
PASS.NAME=Wachtwoord
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.LESS_THAN=Kleiner dan
|
||||
@@ -9,5 +7,3 @@ ADD_COLS.ITEM.OPERATOR.ITEM.LESS_EQUAL_THAN=Kleiner dan
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_THAN=Groter dan of gelijk aan
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_EQUAL_THAN=Groter dan of gelijk aan
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.IS=IS
|
||||
DB_VERSION.ITEM.Access_2003=Access 2003
|
||||
DB_VERSION.ITEM.Access_2007=Access 2007
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
ADD_COLS.ITEM.REFCOL=Referentna kolona
|
||||
ADD_COLS.ITEM.SQL=SQL izraz
|
||||
DATA_ACTION.ITEM.DELETE=DELETE
|
||||
DATA_ACTION.ITEM.INSERT=INSERT
|
||||
DATA_ACTION.ITEM.UPDATE=UPDATE
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.NOT_EQUAL=<>
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
ADD_COLS.ITEM.NAME=\u540d\u79f0
|
||||
ADD_COLS.ITEM.DATATYPE=\u6570\u636e\u7c7b\u578b
|
||||
ADD_COLS.ITEM.POS=\u4f4d\u7f6e
|
||||
ADD_COLS.ITEM.POS.ITEM.AFTER=\u4e4b\u540e
|
||||
ADD_COLS.ITEM.POS.ITEM.BEFORE=\u4e4b\u524d
|
||||
ADD_COLS.ITEM.POS.ITEM.REPLACE=\u66ff\u4ee3
|
||||
ADD_COLS.ITEM.REFCOL=\u76f8\u5173\u7684\u5217
|
||||
ADD_COLS.ITEM.SQL=SQL\u8868\u8fbe\u5f0f
|
||||
ADD_COLS.NAME=\u9644\u52a0\u5217
|
||||
CLEAR_TABLE.NAME=\u6e05\u9664\u8868\u4e2d\u7684\u6570\u636e
|
||||
COMMIT_EVERY.NAME=\u63d0\u4ea4\u95f4\u9694
|
||||
DATA_ACTION.ITEM.DELETE=\u5220\u9664
|
||||
DATA_ACTION.ITEM.INSERT=\u63D2\u5165
|
||||
DATA_ACTION.ITEM.INSERT_OR_UPDATE=\u63d2\u5165\u6216\u66f4\u65b0
|
||||
DATA_ACTION.ITEM.UPDATE=\u66F4\u65B0
|
||||
DATA_ACTION.ITEM.UPDATE_OR_INSERT=\u66f4\u65b0\u6216\u63d2\u5165
|
||||
DATA_ACTION.NAME=\u6570\u636E\u64CD\u4F5C
|
||||
DBNAME.NAME=\u6570\u636e\u5e93
|
||||
DIE_ON_ERROR.NAME=\u9519\u8bef\u65f6\u7ec8\u6b62
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
QUERY.NAME=\u67e5\u8be2
|
||||
SCHEMA_FLOW.NAME=\u67B6\u6784
|
||||
TABLE.NAME=\u8868
|
||||
USER.NAME=\u7528\u6237\u540D
|
||||
TABLE_ACTION.ITEM.CLEAR=\u6E05\u9664\u8868\u4E2D\u6570\u636E
|
||||
TABLE_ACTION.ITEM.CREATE=\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.DROP_IF_EXISTS_AND_CREATE=\u5982\u679c\u8868\u5b58\u5728\u5220\u9664\u7136\u540e\u521b\u5efa
|
||||
TABLE_ACTION.ITEM.CREATE_IF_NOT_EXISTS=\u5982\u679C\u8868\u4E0D\u5B58\u5728\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.DROP_CREATE=\u5220\u9664\u5E76\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.NONE=\u65E0
|
||||
TABLE_ACTION.NAME=\u8868\u64CD\u4F5C
|
||||
ADD_COLS.ITEM.OPERATOR=\u64cd\u4f5c
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.EQUAL=\u5B9E\u6570\u7EDD\u5BF9\u503C
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_THAN=>=
|
||||
ADD_COLS.ITEM.OPERATOR.ITEM.GREAT_EQUAL_THAN=>=
|
||||
ENABLE_DEBUG_MODE.NAME=\u542F\u7528\u8C03\u8BD5\u6A21\u5F0F
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
TYPE.NAME=\u6570\u636e\u5e93\u9a71\u52a8
|
||||
MAPPING.NAME=\u6620\u5c04
|
||||
USE_EXISTING_CONNECTION.NAME=\u5E94\u7528\u5DF2\u5B58\u5728\u7684\u8FDE\u63A5
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -1,6 +1,5 @@
|
||||
APPEND.NAME=Ecrire après
|
||||
ENCODING.NAME=Encodage
|
||||
FILENAME.NAME=Nom de fichier
|
||||
HELP=org.talend.help.tAccessOutputBulk
|
||||
INCLUDEHEADER.NAME=Inclure l'en-tête
|
||||
LONG_NAME=Ecrit un fichier préparé pour chargement de masse Access
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
APPEND.NAME=\u8FFD\u52A0
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
INCLUDEHEADER.NAME=\u52A0\u5165\u5934\u90E8\u5206
|
||||
SCHEMA.NAME=\u67B6\u6784
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
CREATE.NAME=\u76EE\u5F55\u4E0D\u5B58\u5728\u65F6\u521B\u5EFA\u76EE\u5F55
|
||||
@@ -1,7 +1,6 @@
|
||||
APPEND.NAME=Ecrire après
|
||||
DBNAME.NAME=Nom de la base de données
|
||||
DB_SCHEMA.NAME=Schéma
|
||||
FILENAME.NAME=Nom de fichier
|
||||
HELP=org.talend.help.tAccessOutputBulkExec
|
||||
INCLUDEHEADER.NAME=Inclure l'en-tête
|
||||
LONG_NAME=Construit un fichier de masse au format Access, et demande à la base de données de charger ce fichier
|
||||
@@ -32,4 +31,3 @@ CREATE.NAME=Cr
|
||||
PROPERTIES.NAME=Paramètres JDBC supplémentaires
|
||||
USE_EXISTING_CONNECTION.NAME=Utiliser une connexion existante
|
||||
USE_FIELDS_ENCLOSURE.NAME=Utiliser l'entourage du texte
|
||||
FIELDS_ENCLOSURE.NAME=Entourage du champ
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
APPEND.NAME=Toevoegen
|
||||
PASS.NAME=Wachtwoord
|
||||
USER.NAME=Gebruikersnaam
|
||||
DB_VERSION.ITEM.Access_2003=Access 2003
|
||||
DB_VERSION.ITEM.Access_2007=Access 2007
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
APPEND.NAME=\u8FFD\u52A0
|
||||
DBNAME.NAME=\u6570\u636e\u5e93\u540d
|
||||
DB_SCHEMA.NAME=\u67B6\u6784
|
||||
INCLUDEHEADER.NAME=\u52A0\u5165\u5934\u90E8\u5206
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
ROWSEPARATOR.NAME=\u884c\u5206\u9694\u7b26
|
||||
RUN_IF.MENU=\u6B63\u5E38\u65F6\u8FD0\u884C
|
||||
SCHEMA.NAME=\u67B6\u6784
|
||||
TABLE.NAME=\u540E\u8FD0\u884C
|
||||
TABLE_ACTION.ITEM.CLEAR=\u6E05\u9664\u8868\u4E2D\u6570\u636E
|
||||
TABLE_ACTION.ITEM.CREATE=\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.CREATE_IF_NOT_EXISTS=\u5982\u679C\u8868\u4E0D\u5B58\u5728\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.ITEM.DROP_CREATE=\u5220\u9664\u5E76\u521B\u5EFA\u8868
|
||||
TABLE_ACTION.NAME=\u8868\u64CD\u4F5C
|
||||
CODE_PAGE.NAME=\u4EE3\u7801\u9875
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
MAPPING.NAME=\u6620\u5c04
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
DATA_ACTION.NAME=\u6570\u636E\u64CD\u4F5C
|
||||
DATA_ACTION.ITEM.INSERT=\u63D2\u5165
|
||||
CREATE.NAME=\u76EE\u5F55\u4E0D\u5B58\u5728\u65F6\u521B\u5EFA\u76EE\u5F55
|
||||
USE_EXISTING_CONNECTION.NAME=\u5E94\u7528\u5DF2\u5B58\u5728\u7684\u8FDE\u63A5
|
||||
@@ -1,2 +0,0 @@
|
||||
CLOSE.NAME=\u5173\u95ED\u8FDE\u63A5
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
<CONNECTORS>
|
||||
<CONNECTOR CTYPE="FLOW" MAX_INPUT="1" MAX_OUTPUT="1"/>
|
||||
<CONNECTOR NAME="REJECT" NOT_SHOW_IF="(DIE_ON_ERROR == 'true')" CTYPE="FLOW" MAX_INPUT="0"
|
||||
<CONNECTOR NAME="REJECT" CTYPE="FLOW" MAX_INPUT="0"
|
||||
MAX_OUTPUT="1" LINE_STYLE="2" COLOR="FF0000" BASE_SCHEMA="FLOW" />
|
||||
<CONNECTOR CTYPE="ITERATE" MAX_OUTPUT="1" MAX_INPUT="1" />
|
||||
<CONNECTOR CTYPE="SUBJOB_OK" MAX_INPUT="1" />
|
||||
|
||||
@@ -135,7 +135,7 @@ whetherReject_<%=cid%> = false;
|
||||
}
|
||||
}
|
||||
%>
|
||||
} catch (java.lang.Exception e) {
|
||||
} catch (Exception e) {
|
||||
whetherReject_<%=cid%> = true;
|
||||
<%
|
||||
if (("true").equals(dieOnError)) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
COMMIT_EVERY.NAME=Commiter toutes les
|
||||
TABLE.NAME=Nom de la table
|
||||
DIE_ON_ERROR.NAME=Arrêter en cas d'erreur
|
||||
DIE_ON_ERROR.NAME=Terminer en cas d'erreur
|
||||
ENCODING.NAME=Encodage
|
||||
HELP=org.talend.help.tAccessRow
|
||||
LONG_NAME=Exécute une requête SQL à chaque itération de flux Talend
|
||||
|
||||
@@ -1,4 +1,2 @@
|
||||
COMMIT_EVERY.NAME=Commit iedere
|
||||
PASS.NAME=Wachtwoord
|
||||
DB_VERSION.ITEM.Access_2003=Access 2003
|
||||
DB_VERSION.ITEM.Access_2007=Access 2007
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
COMMIT_EVERY.NAME=\u63d0\u4ea4\u95f4\u9694
|
||||
DBNAME.NAME=\u6570\u636e\u5e93
|
||||
TABLE.NAME=\u8868
|
||||
DIE_ON_ERROR.NAME=\u9519\u8bef\u65f6\u7ec8\u6b62
|
||||
ENCODING.NAME=\u7f16\u7801
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
PASS.NAME=\u5bc6\u7801
|
||||
QUERY.NAME=\u67e5\u8be2
|
||||
SCHEMA_DB.NAME=\u67B6\u6784
|
||||
USER.NAME=\u7528\u6237\u540D
|
||||
DB_VERSION.NAME=\u6570\u636e\u5e93\u7248\u672c
|
||||
PROPERTY.NAME=\u5c5e\u6027\u7c7b\u578b
|
||||
SCHEMA.NAME=\u67B6\u6784
|
||||
QUERYSTORE.NAME=\u67e5\u8be2\u7c7b\u578b
|
||||
SET_PREPAREDSTATEMENT_PARAMETERS.ITEM.PARAMETER_TYPE.ITEM.Time=\u65f6\u95f4
|
||||
USE_EXISTING_CONNECTION.NAME=\u5E94\u7528\u5DF2\u5B58\u5728\u7684\u8FDE\u63A5
|
||||
CONNECTION.NAME=\u7ec4\u4ef6\u5217\u8868
|
||||
@@ -1,7 +1,10 @@
|
||||
<%@ jet
|
||||
imports="
|
||||
org.talend.core.model.process.INode
|
||||
org.talend.core.model.process.ElementParameterParser
|
||||
org.talend.core.model.metadata.IMetadataTable
|
||||
org.talend.designer.codegen.config.CodeGeneratorArgument
|
||||
java.util.List
|
||||
"
|
||||
%>
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
LONG_NAME=\u521B\u5EFA\u4E00\u4E2A\u6C38\u4E0D\u505C\u6B62\u7684\u5FAA\u73AF
|
||||
FIELDSEPARATOR.NAME=\u5206\u5272\u7b26
|
||||
NB_LINE.NAME=\u884c\u6570
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user