Compare commits

..

4 Commits

Author SHA1 Message Date
zyuan-talend
44978b1438 fix(TUP-37016):CVE-2022-41853, upgrade org.hsqldb:hsqldb:2.3.1 to 2.7.1. (#5806) 2022-11-16 19:44:44 +08:00
pyzhou
af3b199fbc fix(TDI-48676):ResumeUtil OOM
* fix(TDI-48676):ResumeUtil OOM

* replace duplicate variable
2022-11-15 20:21:09 +08:00
zyuan-talend
1c32872057 fix(TUP-37016):CVE-2022-41853, upgrade org.hsqldb:hsqldb:2.3.1 to 2.7.1 (#5783) 2022-11-15 14:53:20 +08:00
Samuel ANTOINE
f859033bb3 feat(TBD-14288): add dynamic schema on tAvroInput (#5792)
Co-authored-by: samuel_antoine <santoine@talend.com>
2022-11-14 10:10:42 +01:00
76 changed files with 738 additions and 1059 deletions

View File

@@ -120,7 +120,7 @@ public class NetworkUtil {
if (StringUtils.isNotBlank(customUrl)) {
return customUrl;
} else {
return "https://talend-update.talend.com/nexus/content/groups/studio-libraries/";
return "https://talend-update.talend.com/nexus/content/repositories/libraries/";
}
}

View File

@@ -56,7 +56,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.Description=\u8AAC\u660E
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.Name=\u540D\u524D
PropertiesWizardPage.NameEmptyError=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002

View File

@@ -2380,12 +2380,10 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
String str[] = new String[] { getRepositoryContext().getUser() + "", projectManager.getCurrentProject() + "" }; //$NON-NLS-1$ //$NON-NLS-2$
log.info(Messages.getString("ProxyRepositoryFactory.log.loggedOn", str)); //$NON-NLS-1$
} catch (LoginException e) {
if (!LoginException.RESTART.equals(e.getKey())) {
try {
logOffProject();
} catch (Exception e1) {
ExceptionHandler.process(e1);
}
try {
logOffProject();
} catch (Exception e1) {
ExceptionHandler.process(e1);
}
throw e;
} catch (PersistenceException e) {
@@ -2563,6 +2561,7 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
public void logOffProject() {
// getRepositoryContext().setProject(null);
repositoryFactoryFromProvider.logOffProject();
if (!CommonsPlugin.isHeadless()) {
ProjectRepositoryNode root = ProjectRepositoryNode.getInstance();
if (root != null) {
@@ -2618,7 +2617,6 @@ public final class ProxyRepositoryFactory implements IProxyRepositoryFactory {
ReferenceProjectProvider.clearTacReferenceList();
ReferenceProjectProblemManager.getInstance().clearAll();
repositoryFactoryFromProvider.logOffProject();
fullLogonFinished = false;
}

View File

@@ -21,8 +21,7 @@ bin.includes = META-INF/,\
plugin_ja.properties,\
plugin_ru.properties,\
plugin_swtbot.properties,\
plugin_zh_CN.properties,\
resources/
plugin_zh_CN.properties
src.includes = META-INF/,\
mappingMetadataTypes.xml,\
mappings/,\

View File

@@ -1,59 +0,0 @@
# Component
tSnowflakeConnection=java.base/java.nio
tSnowflakeClose=java.base/java.nio
tSnowflakeCommit=java.base/java.nio
tSnowflakeInput=java.base/java.nio
tSnowflakeOutput=java.base/java.nio
tSnowflakeOutputBulk=java.base/java.nio
tSnowflakeOutputBulkExec=java.base/java.nio
tSnowflakeRow=java.base/java.nio
tSnowflakeBulkExec=java.base/java.nio
tSnowflakeRollback=java.base/java.nio
tCouchbaseInput=java.base/java.lang.invoke
tCouchbaseOutput=java.base/java.lang.invoke
tCouchbaseDCPInput=java.base/java.lang.invoke
tCouchbaseDCPOutput=java.base/java.lang.invoke
tWriteJSONField=java.xml/com.sun.org.apache.xerces.internal.parsers,java.xml/com.sun.org.apache.xerces.internal.util
tFTPClose=java.base/sun.security.ssl,java.base/sun.security.util
tFTPConnection=java.base/sun.security.ssl,java.base/sun.security.util
tFTPDelete=java.base/sun.security.ssl,java.base/sun.security.util
tFTPFileExist=java.base/sun.security.ssl,java.base/sun.security.util
tFTPFileList=java.base/sun.security.ssl,java.base/sun.security.util
tFTPFileProperties=java.base/sun.security.ssl,java.base/sun.security.util
tFTPGet=java.base/sun.security.ssl,java.base/sun.security.util
tFTPPut=java.base/sun.security.ssl,java.base/sun.security.util
tFTPRename=java.base/sun.security.ssl,java.base/sun.security.util
tFTPTruncate=java.base/sun.security.ssl,java.base/sun.security.util
tNeo4jBatchOutput=java.base/java.lang,java.base/sun.nio.ch
tNeo4jBatchOutputRelationship=java.base/java.lang,java.base/sun.nio.ch
tNeo4jBatchSchema=java.base/java.lang,java.base/sun.nio.ch
tNeo4jClose=java.base/java.lang,java.base/sun.nio.ch
tNeo4jConnection=java.base/java.lang,java.base/sun.nio.ch
tNeo4jImportTool=java.base/java.lang,java.base/sun.nio.ch
tNeo4jInput=java.base/java.lang,java.base/sun.nio.ch
tNeo4jRow=java.base/java.lang,java.base/sun.nio.ch
tMongoDBOutput=java.xml/com.sun.org.apache.xerces.internal.parsers,java.xml/com.sun.org.apache.xerces.internal.util
tCosmosDBOutput=java.xml/com.sun.org.apache.xerces.internal.parsers,java.xml/com.sun.org.apache.xerces.internal.util
tMatchGroup=java.base/java.io
tRuleSurvivorship=java.base/java.lang
tRecordMatching=java.base/java.io
tDqReportRun=java.base/java.lang,java.base/java.nio
tWebService=java.base/java.lang
tWebServiceInput=java.base/java.lang
# TCK framework
TCK_COMMON_ARGS=java.base/java.io,java.base/java.lang.invoke,java.base/java.lang.reflect,java.base/java.lang,java.base/java.net,java.base/java.nio,java.base/java.util,java.base/sun.nio.ch
# BigData distribution
SPARK_3_3_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_2_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_3_1_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar
SPARK_2_4_x=java.base/java.nio,java.base/sun.nio.ch,java.base/java.util,java.base/java.lang.invoke,java.base/sun.util.calendar

View File

@@ -58,10 +58,6 @@ public final class JavaUtils {
public static final List<String> AVAILABLE_VERSIONS = Arrays.asList(JavaCore.VERSION_1_8 );
public static final String ALLOW_JAVA_INTERNAL_ACCESS = "allow.java.internal.access"; //$NON-NLS-1$
public static final String CUSTOM_ACCESS_SETTINGS = "custom.access.settings"; //$NON-NLS-1$
public static final String PROCESSOR_TYPE = "javaProcessor"; //$NON-NLS-1$
public static final String PATH_SEPARATOR = "/"; //$NON-NLS-1$

View File

@@ -83,7 +83,7 @@ public enum EDatabaseVersion4Drivers {
"Microsoft SQL Server 2012", "Microsoft SQL Server 2012", "jtds-1.3.1-patch-20190523.jar")), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MSSQL_PROP(new DbVersion4Drivers(EDatabaseTypeName.MSSQL,
"Microsoft", "MSSQL_PROP", //$NON-NLS-1$ //$NON-NLS-2$
new String[] { "mssql-jdbc.jar", "slf4j-api-1.7.34.jar", "slf4j-reload4j-1.7.34.jar", "msal4j-1.11.0.jar", //$NON-NLS-1$
new String[] { "mssql-jdbc.jar", "slf4j-api-1.7.29.jar", "slf4j-log4j12-1.7.29.jar", "msal4j-1.11.0.jar", //$NON-NLS-1$
"oauth2-oidc-sdk-9.7.jar", "reload4j-1.2.22.jar", "jackson-core-2.13.4.jar",
"jackson-databind-2.13.4.2.jar", "jackson-annotations-2.13.4.jar", "jcip-annotations-1.0-1.jar",
"json-smart-2.4.7.jar", "nimbus-jose-jwt-9.22.jar", "accessors-smart-2.4.7.jar", "asm-9.1.jar",

View File

@@ -19,6 +19,7 @@ public class SparkBatchMetadataTalendTypeFilter extends SparkMetadataTalendTypeF
"tJDBCInput",
"tJDBCOutput",
"tLogRow",
"tSqlRow",
"tAvroInput",
"tMongoDBInput",
"tMongoDBOutput",

View File

@@ -85,7 +85,7 @@ public class TalendLibsServerManager {
public static final String TALEND_LIB_PASSWORD = "";//$NON-NLS-1$
public static final String TALEND_LIB_REPOSITORY = "studio-libraries";//$NON-NLS-1$
public static final String TALEND_LIB_REPOSITORY = "libraries";//$NON-NLS-1$
private static TalendLibsServerManager manager = null;

View File

@@ -203,12 +203,4 @@ public interface ITalendCorePrefConstants {
public static final boolean NEXUS_SHARE_LIBS_DEFAULT = false;
public static final String PERSPECTIVE_PERSIST_SCOPE = "PERSPECTIVE_PERSIST_SCOPE"; //$NON-NLS-1$
public static final String PERSPECTIVE_PERSIST_SCOPE_PROJECT_AND_BRANCH = "PROJECT_AND_BRANCH"; //$NON-NLS-1$
public static final String PERSPECTIVE_PERSIST_SCOPE_STUDIO = "STUDIO"; //$NON-NLS-1$
public static final String PERSPECTIVE_PERSIST_SCOPE_DEFAULT = PERSPECTIVE_PERSIST_SCOPE_PROJECT_AND_BRANCH;
}

View File

@@ -281,7 +281,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.Description=\u8AAC\u660E
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.Name=\u540D\u524D
PropertiesWizardPage.NameEmptyError=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002

View File

@@ -1,234 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.runtime.util;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Optional;
import java.util.Properties;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.apache.commons.lang3.StringUtils;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.common.util.EList;
import org.talend.commons.CommonsPlugin;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.utils.generation.JavaUtils;
import org.talend.core.model.general.Project;
import org.talend.core.model.process.EParameterFieldType;
import org.talend.core.model.process.IProcess;
import org.talend.core.model.process.JobInfo;
import org.talend.core.model.properties.JobletProcessItem;
import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.Property;
import org.talend.core.runtime.CoreRuntimePlugin;
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.designer.runprocess.IProcessor;
import org.talend.repository.ProjectManager;
public class ModuleAccessHelper {
private static final String FORMAT_ADD_OPPENS = "--add-opens=@=ALL-UNNAMED"; //$NON-NLS-1$
private static final String CLASS_PREVIEW_PROCESS = "org.talend.designer.component.preview.shadow.PreviewComponentDataProcess"; //$NON-NLS-1$
private static final String CLASS_GUESS_SCHEMA_PROCESS = "org.talend.designer.core.ui.editor.properties.controllers.AbstractGuessSchemaProcess"; //$NON-NLS-1$
private static Properties PROPS;
public static Properties getProperties() {
if (PROPS == null) {
PROPS = new Properties();
try (InputStream input = getConfigFileURL().openStream()) {
PROPS.load(input);
} catch (IOException e) {
ExceptionHandler.process(e);
}
Optional.ofNullable(System.getProperty("internal.custom.modules")).filter(StringUtils::isNotBlank)
.ifPresent(modules -> put("GLOBAL", modules));
List<Project> allProjects = new ArrayList<>();
allProjects.add(ProjectManager.getInstance().getCurrentProject());
allProjects.addAll(ProjectManager.getInstance().getAllReferencedProjects(true));
for (Project ref : allProjects) {
ProjectPreferenceManager prefManager = new ProjectPreferenceManager(ref, CoreRuntimePlugin.PLUGIN_ID, false);
String settings = prefManager.getValue(JavaUtils.CUSTOM_ACCESS_SETTINGS);
if (StringUtils.isNotBlank(settings)) {
Properties customProps = new Properties();
try {
customProps.load(new ByteArrayInputStream(settings.getBytes()));
customProps.entrySet().stream().filter(en -> StringUtils.isNotBlank((String) en.getValue()))
.forEach(en -> put((String) en.getKey(), (String) en.getValue()));
} catch (IOException e) {
ExceptionHandler.process(e);
}
}
}
}
return PROPS;
}
private static void put(String key, String value) {
PROPS.put(key, PROPS.containsKey(key) ? PROPS.getProperty(key) + "," + value : value);
}
public static URL getConfigFileURL() {
return Platform.getBundle(CoreRuntimePlugin.PLUGIN_ID).getEntry("resources/module_access.properties"); //$NON-NLS-1$
}
private static boolean containsKey(String key) {
return getProperties().containsKey(key);
}
private static Set<String> getModules(String key) {
String modules = getProperties().getProperty(key);
if (modules != null) {
return Stream.of(modules.split(",")).map(module -> FORMAT_ADD_OPPENS.replace("@", module.trim())) //$NON-NLS-1$ //$NON-NLS-2$
.collect(Collectors.toSet());
}
return Collections.emptySet();
}
private static boolean allowJavaInternalAcess(Property property) {
String allow = System.getProperty(JavaUtils.ALLOW_JAVA_INTERNAL_ACCESS);
if (allow != null) {
return Boolean.valueOf(allow);
}
if (CommonsPlugin.isTUJTest() || CommonsPlugin.isJUnitTest() || CommonsPlugin.isJunitWorking()) {
return true;
}
Project project;
if (property != null) {
project = ProjectManager.getInstance()
.getProjectFromProjectTechLabel(ProjectManager.getInstance().getProject(property).getTechnicalLabel());
} else {
project = ProjectManager.getInstance().getCurrentProject();
}
ProjectPreferenceManager preferenceManager = new ProjectPreferenceManager(project, CoreRuntimePlugin.PLUGIN_ID, false);
return preferenceManager.getBoolean(JavaUtils.ALLOW_JAVA_INTERNAL_ACCESS);
}
public static Set<String> getModuleAccessVMArgsForProcessor(IProcessor processor) {
Property property = processor.getProperty();
if (property == null) {
return Collections.emptySet();
}
if (isPreviewProcess(processor)) {
// add all for preview process
return getProperties().entrySet().stream().filter(en -> StringUtils.isNotBlank((String) en.getValue()))
.flatMap(en -> getModules((String) en.getKey()).stream()).collect(Collectors.toSet());
}
if (!allowJavaInternalAcess(property)) {
return Collections.emptySet();
}
ProcessItem mainJobItem = (ProcessItem) property.getItem();
Set<JobInfo> allJobInfos = new HashSet<>();
allJobInfos.add(new JobInfo(mainJobItem, mainJobItem.getProcess().getDefaultContext()));
allJobInfos.addAll(processor.getBuildChildrenJobsAndJoblets());
return ModuleAccessHelper.getModuleAccessVMArgs(property, allJobInfos);
}
@SuppressWarnings("unchecked")
public static Set<String> getModuleAccessVMArgs(Property property, Set<JobInfo> allJobInfos) {
if (property == null || property.getItem() == null || !allowJavaInternalAcess(property)) {
return Collections.emptySet();
}
Set<String> vmArgs = new HashSet<>();
boolean hasTck = false;
for (JobInfo info : allJobInfos) {
EList<NodeType> nodes = null;
EList<ElementParameterType> parameters = null;
if (info.getJobletProperty() != null) {
JobletProcessItem item = (JobletProcessItem) info.getJobletProperty().getItem();
if (item.getJobletProcess() != null) {
nodes = item.getJobletProcess().getNode();
if (item.getJobletProcess().getParameters() != null) {
parameters = item.getJobletProcess().getParameters().getElementParameter();
}
}
} else if (info.getProcessItem() != null && info.getProcessItem().getProcess() != null) {
nodes = info.getProcessItem().getProcess().getNode();
if (info.getProcessItem().getProcess().getParameters() != null) {
parameters = info.getProcessItem().getProcess().getParameters().getElementParameter();
}
}
if (nodes != null) {
nodes.stream().filter(node -> containsKey(node.getComponentName()))
.forEach(node -> vmArgs.addAll(getModules(node.getComponentName())));
}
if (parameters != null) {
// FIXME currently it depends on spark version, refine the condition if needed
Optional<ElementParameterType> optional = parameters.stream()
.filter(p -> "SUPPORTED_SPARK_VERSION".equals(p.getName()) && containsKey(p.getValue())).findFirst();
if (optional.isPresent()) {
vmArgs.addAll(getModules(optional.get().getValue()));
}
}
if (!hasTck) {
hasTck = nodes.stream()
.anyMatch(node -> node.getElementParameter().stream()
.anyMatch(p -> ((ElementParameterType) p).getField() != null
&& EParameterFieldType.TECHNICAL.getName().equals(((ElementParameterType) p).getField())
&& ((ElementParameterType) p).getName().equals("TACOKIT_COMPONENT_ID")));
}
}
if (hasTck) {
vmArgs.addAll(getModules("TCK_COMMON_ARGS"));
}
if (getProperties().containsKey("GLOBAL")) {
vmArgs.addAll(getModules("GLOBAL"));
}
return vmArgs;
}
public static void reset() {
PROPS = null;
}
private static boolean isPreviewProcess(IProcessor processor) {
IProcess process = processor.getProcess();
if (process == null) {
return false;
}
Property property = processor.getProperty();
if ("ID".equals(property.getId()) && "Mock_job_for_Guess_schema".equals(property.getLabel())) {
return true;
}
Class<?> clazz = process.getClass();
// preview process
if (CLASS_PREVIEW_PROCESS.equals(clazz.getName()) || CLASS_PREVIEW_PROCESS.equals(clazz.getSuperclass().getName())) {
return true;
}
// guess schema process
if (CLASS_GUESS_SCHEMA_PROCESS.equals(clazz.getSuperclass().getName())) {
return true;
}
return false;
}
}

View File

@@ -81,8 +81,6 @@ public interface ITestContainerProviderService extends IService {
public List<ProcessItem> getAllTestContainers(ProcessItem item);
public List<ProcessItem> getAllTestContainers(ProcessItem item, boolean latest, boolean excludeDeleted);
public void copyDataSetFiles(IProcess process, IPath srcPath);
public String getTestDataValue(IProcess process, String instance, String testData);

View File

@@ -208,7 +208,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.Description=\u8AAC\u660E
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u306E\u7A7A\u767D\u306F\u907F\u3051\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u306E\u7A7A\u767D\u306F\u907F\u3051\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.Name=\u540D\u524D
PropertiesWizardPage.NameEmptyError=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002

View File

@@ -1,13 +1,9 @@
package org.talend.core.ui.services;
import java.io.Serializable;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.Map;
import org.apache.commons.codec.binary.StringUtils;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.widgets.Composite;
@@ -15,6 +11,7 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetWidgetFactory;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.IService;
import org.talend.core.model.general.Project;
import org.talend.core.model.repository.IRepositoryViewObject;
import org.talend.core.ui.properties.tab.IDynamicProperty;
@@ -43,7 +40,7 @@ public interface IGitUIProviderService extends IService {
void showSwithGitModePopup();
List<ProjectBranchNode> getInvalidProjectBranchNodes();
Map<Project, List<Project>> getInvalidReferencedProjects();
public static IGitUIProviderService get() {
GlobalServiceRegister register = GlobalServiceRegister.getDefault();
@@ -53,80 +50,4 @@ public interface IGitUIProviderService extends IService {
return register.getService(IGitUIProviderService.class);
}
public static class ProjectBranchNode {
private String branch;
private String techLabel;
private ProjectBranchNode parent;
private Set<ProjectBranchNode> children = new HashSet<ProjectBranchNode>();
public ProjectBranchNode(String techLabel, String branch) {
this.branch = branch;
this.techLabel = techLabel;
}
/**
* @return the branch
*/
public String getBranch() {
return branch;
}
/**
* @return the techLabel
*/
public String getTechLabel() {
return techLabel;
}
/**
* @return the parent
*/
public ProjectBranchNode getParent() {
return parent;
}
/**
* @return the children
*/
public Collection<ProjectBranchNode> getChildren() {
return Collections.unmodifiableCollection(children);
}
public void addChild(ProjectBranchNode c) {
c.parent = this;
this.children.add(c);
}
public boolean hasChildren() {
return !this.children.isEmpty();
}
public int hashCode() {
int hash = 7;
hash = hash * 31 + this.techLabel.hashCode();
hash = hash * 31 + this.branch.hashCode();
return hash;
}
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof ProjectBranchNode)) {
return false;
}
ProjectBranchNode thatObj = (ProjectBranchNode) o;
if (!StringUtils.equals(techLabel, thatObj.getTechLabel())) {
return false;
}
return StringUtils.equals(this.branch, thatObj.getBranch());
}
}
}

View File

@@ -99,8 +99,6 @@ public class CorePreferenceInitializer extends AbstractPreferenceInitializer {
CorePlugin.getDefault().getPreferenceStore()
.setDefault(ITalendCorePrefConstants.FORBIDDEN_MAPPING_LENGTH_PREC_LOGIC, false);
CorePlugin.getDefault().getPreferenceStore().setDefault(ITalendCorePrefConstants.PERSPECTIVE_PERSIST_SCOPE,
ITalendCorePrefConstants.PERSPECTIVE_PERSIST_SCOPE_DEFAULT);
}
}

View File

@@ -69,8 +69,6 @@ public interface IGITProviderService extends IService {
*/
void setStandardMode(boolean standardMode);
String getProjectLocationKey(Project project) throws PersistenceException;
/**
* Get clean git repository url
* @param project project

View File

@@ -15,7 +15,7 @@ _UI_DataType_type=\u6570\u636E\u7C7B\u578B
_UI_Package_type=\u5305
_UI_Subsystem_type=\u5B50\u7CFB\u7EDF
_UI_Model_type=\u6A21\u578B
_UI_Feature_type=\u7279\u6027
_UI_Feature_type=\u529F\u80FD
_UI_StructuralFeature_type=\u7ED3\u6784\u7279\u5F81
_UI_Constraint_type=\u7EA6\u675F
_UI_Dependency_type=\u4F9D\u8D56\u5173\u7CFB
@@ -27,7 +27,7 @@ _UI_MultiplicityRange_type=\u591A\u91CD\u6027\u8303\u56F4
_UI_Stereotype_type=\u6784\u9020\u578B
_UI_TaggedValue_type=\u6807\u8BB0\u503C
_UI_Argument_type=\u53C2\u6570
_UI_BehavioralFeature_type=\u7279\u6027
_UI_BehavioralFeature_type=\u529F\u80FD
_UI_CallAction_type=\u8C03\u7528\u64CD\u4F5C
_UI_Event_type=\u4E8B\u4EF6
_UI_Interface_type=\u754C\u9762
@@ -344,7 +344,7 @@ _UI_ModelElement_changeRequest_feature=\u66F4\u6539\u8BF7\u6C42
_UI_ModelElement_dasdlProperty_feature=Dasdl \u5C5E\u6027
_UI_Namespace_ownedElement_feature=\u62E5\u6709\u7684\u5143\u7D20
_UI_Classifier_isAbstract_feature=\u662F\u62BD\u8C61\u7684
_UI_Classifier_feature_feature=\u7279\u6027
_UI_Classifier_feature_feature=\u529F\u80FD
_UI_Classifier_structuralFeature_feature=\u7ED3\u6784\u7279\u5F81
_UI_Classifier_parameter_feature=\u53C2\u6570
_UI_Classifier_generalization_feature=\u6982\u62EC
@@ -425,7 +425,7 @@ _UI_Instance_valueSlot_feature=\u503C\u69FD
_UI_Instance_classifier_feature=\u5206\u7C7B\u5668
_UI_Slot_value_feature=\u503C
_UI_Slot_object_feature=\u5BF9\u8C61
_UI_Slot_feature_feature=\u7279\u6027
_UI_Slot_feature_feature=\u529F\u80FD
_UI_DataValue_value_feature=\u503C
_UI_Object_slot_feature=\u69FD
_UI_ResponsibleParty_responsibility_feature=\u8D23\u4EFB
@@ -470,19 +470,19 @@ _UI_ExpressionNode_type_feature=\u7C7B\u578B
_UI_ExpressionNode_featureNode_feature=\u7279\u5F81\u8282\u70B9
_UI_ConstantNode_value_feature=\u503C
_UI_ElementNode_modelElement_feature=\u6A21\u578B\u5143\u7D20
_UI_FeatureNode_feature_feature=\u7279\u6027
_UI_FeatureNode_feature_feature=\u529F\u80FD
_UI_FeatureNode_argument_feature=\u53C2\u6570
_UI_UniqueKey_feature_feature=\u7279\u6027
_UI_UniqueKey_feature_feature=\u529F\u80FD
_UI_UniqueKey_keyRelationship_feature=\u952E\u5173\u7CFB
_UI_Index_isPartitioning_feature=\u4E3A\u5206\u533A
_UI_Index_isSorted_feature=\u4E3A\u6392\u5E8F\u7684
_UI_Index_isUnique_feature=\u4E3A\u552F\u4E00\u7684
_UI_Index_indexedFeature_feature=\u7D22\u5F15\u529F\u80FD
_UI_Index_spannedClass_feature=\u8DE8\u7C7B
_UI_KeyRelationship_feature_feature=\u7279\u6027
_UI_KeyRelationship_feature_feature=\u529F\u80FD
_UI_KeyRelationship_uniqueKey_feature=\u552F\u4E00\u952E
_UI_IndexedFeature_isAscending_feature=\u4E3A\u5347\u5E8F
_UI_IndexedFeature_feature_feature=\u7279\u6027
_UI_IndexedFeature_feature_feature=\u529F\u80FD
_UI_IndexedFeature_index_feature=\u7D22\u5F15
_UI_Site_containingSite_feature=\u5305\u542B\u7F51\u7AD9
_UI_Site_containedSite_feature=\u5305\u542B\u7F51\u7AD9
@@ -647,7 +647,7 @@ _UI_ClassifierFeatureMap_functionDescription_feature=\u529F\u80FD\u63CF\u8FF0
_UI_ClassifierFeatureMap_classifierToFeature_feature=\u5206\u7C7B\u5668\u529F\u80FD
_UI_ClassifierFeatureMap_classifierMap_feature=\u5206\u7C7B\u5668\u6620\u5C04
_UI_ClassifierFeatureMap_classifier_feature=\u5206\u7C7B\u5668
_UI_ClassifierFeatureMap_feature_feature=\u7279\u6027
_UI_ClassifierFeatureMap_feature_feature=\u529F\u80FD
_UI_ContentMap_cubeDeployment_feature=\u591A\u7EF4\u6570\u636E\u96C6\u90E8\u7F72
_UI_Cube_isVirtual_feature=\u4E3A\u865A\u62DF\u7684
_UI_Cube_cubeDimensionAssociation_feature=\u591A\u7EF4\u6570\u636E\u96C6\u7EF4\u5EA6\u5173\u8054

View File

@@ -12,20 +12,9 @@
<properties>
<maven.resolver.version>1.3.1</maven.resolver.version>
<wagon.version>3.4.3</wagon.version>
<slf4j.version>1.7.34</slf4j.version>
</properties>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-api</artifactId>

View File

@@ -46,8 +46,6 @@ import org.talend.designer.maven.aether.util.TalendAetherProxySelector;
*/
public class RepositorySystemFactory {
private static Boolean ignoreArtifactDescriptorRepositories;
private static Map<LocalRepository, DefaultRepositorySystemSession> sessions = new HashMap<LocalRepository, DefaultRepositorySystemSession>();
private static DefaultRepositorySystemSession newRepositorySystemSession(String localRepositoryPath)
@@ -63,8 +61,6 @@ public class RepositorySystemFactory {
repositorySystemSession.setTransferListener(new ChainedTransferListener());
repositorySystemSession.setRepositoryListener(new ChainedRepositoryListener());
repositorySystemSession.setProxySelector(new TalendAetherProxySelector());
repositorySystemSession.setIgnoreArtifactDescriptorRepositories(
RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
sessions.put(localRepo, repositorySystemSession);
}
@@ -161,13 +157,4 @@ public class RepositorySystemFactory {
doDeploy(content, pomFile, localRepository, repositoryId, repositoryUrl, userName, password, groupId, artifactId,
classifier, extension, version);
}
public static boolean isIgnoreArtifactDescriptorRepositories() {
if (ignoreArtifactDescriptorRepositories == null) {
ignoreArtifactDescriptorRepositories = Boolean.valueOf(
System.getProperty("talend.studio.aether.ignoreArtifactDescriptorRepositories", Boolean.TRUE.toString()));
}
return ignoreArtifactDescriptorRepositories;
}
}

View File

@@ -63,7 +63,6 @@ import org.eclipse.m2e.core.MavenPlugin;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.designer.maven.aether.DummyDynamicMonitor;
import org.talend.designer.maven.aether.IDynamicMonitor;
import org.talend.designer.maven.aether.RepositorySystemFactory;
import org.talend.designer.maven.aether.node.DependencyNode;
import org.talend.designer.maven.aether.node.ExclusionNode;
import org.talend.designer.maven.aether.selector.DynamicDependencySelector;
@@ -514,7 +513,6 @@ public class DynamicDistributionAetherUtils {
LocalRepository localRepo = new LocalRepository(repositoryPath);
session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo));
session.setProxySelector(new TalendAetherProxySelector());
session.setIgnoreArtifactDescriptorRepositories(RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
updateDependencySelector(session, monitor);

View File

@@ -34,6 +34,7 @@ import org.codehaus.plexus.PlexusContainerException;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
import org.eclipse.aether.impl.DefaultServiceLocator;
@@ -59,7 +60,6 @@ import org.talend.core.nexus.ArtifactRepositoryBean;
import org.talend.core.nexus.NexusConstants;
import org.talend.core.nexus.TalendLibsServerManager;
import org.talend.core.runtime.maven.MavenArtifact;
import org.talend.designer.maven.aether.RepositorySystemFactory;
public class MavenLibraryResolverProvider {
@@ -292,7 +292,6 @@ public class MavenLibraryResolverProvider {
ExceptionHandler.process(e);
}
session.setProxySelector(new TalendAetherProxySelector());
session.setIgnoreArtifactDescriptorRepositories(RepositorySystemFactory.isIgnoreArtifactDescriptorRepositories());
return session;
}

View File

@@ -12,7 +12,7 @@
<properties>
<jackson.version>2.13.4</jackson.version>
<jackson-databind.version>2.13.4.2</jackson-databind.version>
<slf4j.version>1.7.34</slf4j.version>
<slf4j.version>1.7.32</slf4j.version>
<tycho.buildtimestamp.format>${timestamp}</tycho.buildtimestamp.format>
</properties>
<repositories>

View File

@@ -20,7 +20,7 @@
<microprofile.version>1.2.1</microprofile.version>
<owb.version>2.0.27</owb.version>
<slf4j.version>1.7.34</slf4j.version>
<tomcat.version>9.0.68</tomcat.version>
<tomcat.version>9.0.63</tomcat.version>
<xbean.version>4.20</xbean.version>
<reload4j.version>1.2.22</reload4j.version>
<log4j2.version>2.17.2</log4j2.version>
@@ -370,8 +370,14 @@
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>ch.qos.reload4j</groupId>

View File

@@ -120,7 +120,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.34</version>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>

View File

@@ -10,11 +10,6 @@
<artifactId>karaf-maven-plugin-4-2-10-tos</artifactId>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.34</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
@@ -57,7 +52,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.34</version>
<version>1.7.29</version>
</dependency>
<dependency>
<groupId>org.apache.maven.shared</groupId>

View File

@@ -17,11 +17,6 @@
</properties>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.34</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>

View File

@@ -134,17 +134,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<exclusions>
<exclusion>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>

View File

@@ -56,8 +56,8 @@
<version>17</version>
<type>pom</type>
</dependency>
<!-- It fixes provided dependency scope to compile, because maven-dependency-plugin is setup to include
only compile and runtime scopes, but provided is also required. It's not possible to setup plugin to
<!-- It fixes provided dependency scope to compile, because maven-dependency-plugin is setup to include
only compile and runtime scopes, but provided is also required. It's not possible to setup plugin to
include all: compile, runtime and provided dependencies -->
<dependency>
<groupId>biz.aQute.bnd</groupId>
@@ -76,7 +76,7 @@
</dependencyManagement>
<dependencies>
<!-- Dependencies in provided scope should be explicitly added as dependency in this module,
<!-- Dependencies in provided scope should be explicitly added as dependency in this module,
because provided scope is not transitive -->
<dependency>
<groupId>org.osgi</groupId>
@@ -97,7 +97,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.34</version>
<version>1.7.12</version>
</dependency>
<dependency>
<groupId>junit</groupId>

View File

@@ -11,11 +11,6 @@
<packaging>pom</packaging>
<dependencies>
<!--add log4j dependency https://jira.talendforge.org/browse/TUP-29704 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.34</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>

View File

@@ -65,11 +65,6 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.34</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-core</artifactId>

View File

@@ -50,7 +50,7 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.34</version>
<version>1.7.32</version>
</dependency>
</dependencies>
<build>

View File

@@ -11,7 +11,7 @@
<packaging>pom</packaging>
<properties>
<tcomp.version>1.51.2</tcomp.version>
<tcomp.version>1.50.1</tcomp.version>
<slf4j.version>1.7.34</slf4j.version>
<reload4j.version>1.2.22</reload4j.version>
</properties>
@@ -99,7 +99,7 @@
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<exclusions>
<exclusion>

View File

@@ -10,7 +10,6 @@ ProjectPomProjectSettingPage_ConfirmMessage=Cela appliquera et mettra \u00E0 jou
ProjectPomProjectSettingPage_FilterPomLabel=Filtrer pour utiliser la g\u00E9n\u00E9ration des POM :
ProjectPomProjectSettingPage_FilterErrorMessage=Le filtre n'est pas valide.
ProjectPomProjectSettingPage.syncAllPomsButtonText=Forcer la resynchronisation compl\u00E8te des POM
ProjectPomProjectSettingPage.syncBuildTypesButtonText=Forcer la resynchronisation compl\u00E8te des types de build
AbstractPersistentProjectSettingPage.syncAllPoms=Mettre \u00E0 jour tous les POM ? \n Cette op\u00E9ration peut prendre un moment, selon la taille de votre projet.
MavenProjectSettingPage.filterExampleMessage=Exemples de filtres\u00A0:\nlibell\u00E9=monJob \t\t\t\t=> G\u00E9n\u00E9rer uniquement le Job nomm\u00E9 "monJob"\n!(libell\u00E9=monJob) \t\t\t\t=> G\u00E9n\u00E9rer tous les Jobs sauf celui nomm\u00E9 "monJob"\n(path=folder1/folder2) \t\t\t=> G\u00E9n\u00E9rer tous Jobs dans le dossier "dossier1/dossier2"\n(chemin=dossier1/dossier2)ou(libell\u00E9=monJob)\t=> G\u00E9n\u00E9rer tous Jobs dans le dossier "dossier1/dossier2" ou nomm\u00E9 "monJob"\n(libell\u00E9=monJob)et(version=0.2)\t\t=> G\u00E9n\u00E9rer uniquement le Job nomm\u00E9 "monJob" avec une version 0.2\n!((libell\u00E9=monJob)et(version=0.1))\t\t=> G\u00E9n\u00E9rer tous les Jobs sauf "monJob" version 0.1
MavenProjectSettingPage.refModuleText=Configurer les modules du projet de r\u00E9f\u00E9rence dans le profil
@@ -18,4 +17,3 @@ MavenProjectSettingPage.excludeDeletedItems=Exclure les \u00E9l\u00E9ments suppr
MavenProjectSettingPage.syncAllPomsWarning=Cliquez sur Forcer la nouvelle synchronisation compl\u00E8te des POM pour appliquer les nouveaux param\u00E8tres.
MavenProjectSettingPage.skipFolders=Ignorer les dossiers
BuildProjectSettingPage.allowRecursiveJobsJoblets=Autorise les Jobs et Joblets r\u00E9cursifs (non support\u00E9 - pour des raisons de compatibilit\u00E9)
BuildProjectSettingPage.allowRecursiveJobs=Autoriser les Jobs r\u00E9cursifs (non recommand\u00E9)

View File

@@ -10,7 +10,6 @@ ProjectPomProjectSettingPage_ConfirmMessage=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8
ProjectPomProjectSettingPage_FilterPomLabel=POM\u306E\u751F\u6210\u306B\u4F7F\u7528\u3059\u308B\u30D5\u30A3\u30EB\u30BF\u30FC:
ProjectPomProjectSettingPage_FilterErrorMessage=\u30D5\u30A3\u30EB\u30BF\u30FC\u304C\u7121\u52B9\u3067\u3059\u3002
ProjectPomProjectSettingPage.syncAllPomsButtonText=\u5B8C\u5168\u306A\u518D\u540C\u671FPOM\u3092\u5F37\u5236
ProjectPomProjectSettingPage.syncBuildTypesButtonText=\u5B8C\u5168\u306A\u518D\u540C\u671F\u30D3\u30EB\u30C9\u30BF\u30A4\u30D7\u3092\u5F37\u5236
AbstractPersistentProjectSettingPage.syncAllPoms=POM\u3092\u3059\u3079\u3066\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u304B? \n \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30B5\u30A4\u30BA\u306B\u3088\u3063\u3066\u306F\u3053\u306E\u64CD\u4F5C\u3067\u9577\u3044\u6642\u9593\u304C\u304B\u304B\u308B\u5834\u5408\u304C\u3042\u308A\u307E\u3059\u3002
MavenProjectSettingPage.filterExampleMessage=\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u4F8B:\nlabel=myJob \t\t\t\t=> "myJob"\u3068\u3044\u3046\u540D\u524D\u306E\u30B8\u30E7\u30D6\u3060\u3051\u3092\u751F\u6210\n!(label=myJob) \t\t\t\t=> "myJob"\u3068\u3044\u3046\u540D\u524D\u4EE5\u5916\u306E\u30B8\u30E7\u30D6\u3092\u3059\u3079\u3066\u751F\u6210\n(path=folder1/folder2) \t\t\t=> "folder1/folder2"\u3068\u3044\u3046\u30D5\u30A3\u30EB\u30C0\u30FC\u306B\u3042\u308B\u30B8\u30E7\u30D6\u3092\u3059\u3079\u3066\u751F\u6210\n(path=folder1/folder2)or(label=myJob)\t=> "folder1/folder2"\u3068\u3044\u3046\u30D5\u30A9\u30EB\u30C0\u30FC\u306B\u3042\u308B\u3059\u3079\u3066\u306E\u30B8\u30E7\u30D6\u3001\u307E\u305F\u306F"myJob"\u3068\u3044\u3046\u540D\u524D\u306E\u30B8\u30E7\u30D6\u3092\u751F\u6210\n(label=myJob)and(version=0.2)\t\t=> \u30D0\u30FC\u30B8\u30E7\u30F30.2\u3067"myJob"\u3068\u3044\u3046\u540D\u524D\u306E\u30B8\u30E7\u30D6\u306E\u307F\u751F\u6210\n!((label=myJob)and(version=0.1))\t\t=> \u30D0\u30FC\u30B8\u30E7\u30F30.1\u3067"myJob"\u3068\u3044\u3046\u540D\u524D\u4EE5\u5916\u306E\u30B8\u30E7\u30D6\u3092\u3059\u3079\u3066\u751F\u6210
MavenProjectSettingPage.refModuleText=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB\u3067\u53C2\u7167\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u8A2D\u5B9A
@@ -18,4 +17,3 @@ MavenProjectSettingPage.excludeDeletedItems=\u524A\u9664\u3055\u308C\u305F\u30A2
MavenProjectSettingPage.syncAllPomsWarning=[\u5B8C\u5168\u306A\u518D\u540C\u671FPOM\u3092\u5F37\u5236]\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u3001\u65B0\u3057\u3044\u8A2D\u5B9A\u3092\u9069\u7528\u3057\u307E\u3059\u3002
MavenProjectSettingPage.skipFolders=\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u30B9\u30AD\u30C3\u30D7
BuildProjectSettingPage.allowRecursiveJobsJoblets=\u518D\u5E30\u7684\u30B8\u30E7\u30D6\u3068\u30B8\u30E7\u30D6\u30EC\u30C3\u30C8\u3092\u8A31\u53EF(\u30B5\u30DD\u30FC\u30C8\u306A\u3057 - \u4E92\u63DB\u6027\u306E\u76EE\u7684\u306E\u307F)
BuildProjectSettingPage.allowRecursiveJobs=\u518D\u5E30\u7684\u30B8\u30E7\u30D6\u3092\u8A31\u53EF(\u975E\u63A8\u5968)

View File

@@ -10,7 +10,6 @@ ProjectPomProjectSettingPage_ConfirmMessage=\u5C06\u7ACB\u5373\u4E3A\u5DE5\u7A0B
ProjectPomProjectSettingPage_FilterPomLabel=\u7528\u4E8E\u751F\u6210 pom \u7684\u7B5B\u9009\u5668:
ProjectPomProjectSettingPage_FilterErrorMessage=\u7B5B\u9009\u5668\u65E0\u6548\u3002
ProjectPomProjectSettingPage.syncAllPomsButtonText=\u5F3A\u5236\u5B8C\u5168\u91CD\u65B0\u540C\u6B65 POM
ProjectPomProjectSettingPage.syncBuildTypesButtonText=\u5F3A\u5236\u91CD\u65B0\u540C\u6B65\u6784\u5EFA\u7C7B\u578B
AbstractPersistentProjectSettingPage.syncAllPoms=\u662F\u5426\u66F4\u65B0\u6240\u6709 POM \u6587\u4EF6? \n \u6B64\u64CD\u4F5C\u53EF\u80FD\u9700\u8981\u5F88\u957F\u65F6\u95F4\uFF0C\u5177\u4F53\u53D6\u51B3\u4E8E\u60A8\u7684\u5DE5\u7A0B\u5927\u5C0F\u3002
MavenProjectSettingPage.filterExampleMessage=\u7B5B\u9009\u5668\u793A\u4F8B\uFF1A\nlabel=myJob \t\t\t\t=> \u4EC5\u751F\u6210\u540D\u4E3A "myJob" \u7684\u4F5C\u4E1A\n!(label=myJob) \t\t\t\t=> \u751F\u6210\u540D\u4E3A "myJob" \u9664\u5916\u7684\u4EFB\u610F\u4F5C\u4E1A\n(path=folder1/folder2) \t\t\t=> \u751F\u6210\u6587\u4EF6\u5939 "folder1/folder2" \u4E2D\u4EFB\u610F\u4F5C\u4E1A\n(path=folder1/folder2)or(label=myJob)\t=> \u751F\u6210\u6587\u4EF6\u5939 "folder1/folder2" \u4E2D\u7684\u4EFB\u610F\u4F5C\u4E1A\u6216\u4EFB\u610F\u540D\u4E3A "myJob" \u7684\u4F5C\u4E1A\n(label=myJob)and(version=0.2)\t\t=> \u4EC5\u751F\u6210\u7248\u672C 0.2 \u4E14\u540D\u4E3A "myJob" \u7684\u4F5C\u4E1A\n!((label=myJob)and(version=0.1))\t\t=> \u751F\u6210\u4EFB\u610F\u540D\u79F0\u4E0D\u4E3A "myJob" \u4E14\u7248\u672C\u4E0D\u4E3A 0.1 \u7684\u4F5C\u4E1A
MavenProjectSettingPage.refModuleText=\u5728\u914D\u7F6E\u6587\u4EF6\u4E2D\u8BBE\u7F6E\u5F15\u7528\u5DE5\u7A0B\u6A21\u5757
@@ -18,4 +17,3 @@ MavenProjectSettingPage.excludeDeletedItems=\u6392\u9664\u5DF2\u5220\u9664\u9879
MavenProjectSettingPage.syncAllPomsWarning=\u5355\u51FB \u201C\u5F3A\u5236\u5B8C\u5168\u91CD\u65B0\u540C\u6B65 POM\u201D \u6309\u94AE\u4EE5\u5E94\u7528\u65B0\u7684\u8BBE\u7F6E\u3002
MavenProjectSettingPage.skipFolders=\u8DF3\u8FC7\u6587\u4EF6\u5939
BuildProjectSettingPage.allowRecursiveJobsJoblets=\u5141\u8BB8\u9012\u5F52\u4F5C\u4E1A\u548C\u5C0F\u4F5C\u4E1A (\u4E0D\u652F\u6301 - \u4EC5\u7528\u4E8E\u517C\u5BB9\u6027)
BuildProjectSettingPage.allowRecursiveJobs=\u5141\u8BB8\u9012\u5F52\u4F5C\u4E1A (\u4E0D\u63A8\u8350)

View File

@@ -9,7 +9,6 @@
<properties>
<encoding>UTF-8</encoding>
<slf4j-api.version>1.7.34</slf4j-api.version>
</properties>
<build>
@@ -219,22 +218,6 @@
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20</version>
<dependencies>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-sec-dispatcher</artifactId>
<version>1.3</version>
<exclusions>
<exclusion>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
@@ -250,21 +233,6 @@
<artifactId>maven-settings</artifactId>
<version>3.8.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j-api.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>${slf4j-api.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j-api.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>

View File

@@ -0,0 +1,149 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.maven.migration.common;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.PersistenceException;
import org.talend.core.GlobalServiceRegister;
import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.Property;
import org.talend.core.model.repository.ERepositoryObjectType;
import org.talend.core.ui.ITestContainerCoreService;
/**
* DOC jding class global comment. Detailled comment
*/
public class ItemReportRecorder {
protected Item item;
protected String detailMessage;
public String getItemType() {
String type = "";
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
if (itemType != null) {
if (ERepositoryObjectType.getAllTypesOfTestContainer().contains(itemType)) {
Item parentJobItem = getTestCaseParentJobItem(item);
if (parentJobItem != null) {
ERepositoryObjectType parentJobType = ERepositoryObjectType.getItemType(parentJobItem);
if (parentJobType != null) {
String parentTypePath = getCompleteObjectTypePath(parentJobType);
if (StringUtils.isNotBlank(parentTypePath)) {
type = parentTypePath + "/";
}
}
}
type += itemType;
} else {
type = getCompleteObjectTypePath(itemType);
}
}
return type;
}
public String getItemPath() {
String path = "";
StringBuffer buffer = new StringBuffer();
ERepositoryObjectType itemType = ERepositoryObjectType.getItemType(item);
if (ERepositoryObjectType.getAllTypesOfTestContainer().contains(itemType)) {
StringBuffer testcaseBuffer = new StringBuffer();
Item parentJobItem = getTestCaseParentJobItem(item);
if (parentJobItem != null) {
if (parentJobItem.getState() != null && StringUtils.isNotBlank(parentJobItem.getState().getPath())) {
testcaseBuffer.append(parentJobItem.getState().getPath()).append("/");
}
testcaseBuffer.append(parentJobItem.getProperty() != null ? parentJobItem.getProperty().getLabel() : "");
if (StringUtils.isNotBlank(testcaseBuffer.toString())) {
buffer.append(testcaseBuffer.toString()).append("/");
}
}
} else {
if (item.getState() != null && StringUtils.isNotBlank(item.getState().getPath())) {
buffer.append(item.getState().getPath()).append("/");
}
}
Property property = item.getProperty();
if (property != null) {
buffer.append(property.getLabel() + "_" + property.getVersion());
}
path = buffer.toString();
return path;
}
private Item getTestCaseParentJobItem(Item testcaseItem) {
Item parentJobItem = null;
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerCoreService.class)) {
ITestContainerCoreService testcaseService = GlobalServiceRegister.getDefault()
.getService(ITestContainerCoreService.class);
if (testcaseService != null) {
try {
parentJobItem = testcaseService.getParentJobItem(item);
} catch (PersistenceException e) {
ExceptionHandler.process(e);
}
}
}
return parentJobItem;
}
private String getCompleteObjectTypePath(ERepositoryObjectType itemType) {
ERepositoryObjectType rootItemType = itemType;
if (ERepositoryObjectType.JDBC != null && ERepositoryObjectType.JDBC.equals(rootItemType)) {
rootItemType = ERepositoryObjectType.METADATA_CONNECTIONS;
}
List<String> typeLabels = new ArrayList<String>();
findOutCompleteTypePath(rootItemType, typeLabels);
StringBuffer buffer = new StringBuffer();
if (!typeLabels.isEmpty()) {
for (int i = 0; i < typeLabels.size(); i++) {
if (i != 0) {
buffer.append("/");
}
buffer.append(typeLabels.get(i));
}
}
return buffer.toString();
}
private void findOutCompleteTypePath(ERepositoryObjectType type, List<String> typeLabels) {
ERepositoryObjectType parentType = ERepositoryObjectType.findParentType(type);
if (parentType != null) {
findOutCompleteTypePath(parentType, typeLabels);
}
typeLabels.add(type.getLabel());
}
public Item getItem() {
return item;
}
public void setItem(Item item) {
this.item = item;
}
public String getDetailMessage() {
return detailMessage;
}
public void setDetailMessage(String detailMessage) {
this.detailMessage = detailMessage;
}
}

View File

@@ -0,0 +1,81 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.maven.migration.common;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.eclipse.core.runtime.Path;
import org.talend.core.utils.TalendQuoteUtils;
/**
* DOC jding class global comment. Detailled comment
*/
public class ItemsReportUtil {
public static boolean generateReportFile(File reportFile, String header, List<String> records) throws Exception {
boolean generateDone = false;
BufferedWriter printWriter = null;
try {
File parentFolder = new Path(reportFile.getAbsolutePath()).removeLastSegments(1).toFile();
// File parentFolder = new File(parentPath);
if (!parentFolder.exists()) {
parentFolder.mkdirs();
}
if (!reportFile.exists()) {
reportFile.createNewFile();
}
FileOutputStream fos = new FileOutputStream(reportFile);
fos.write(new byte[] { (byte) 0xEF, (byte) 0xBB, (byte) 0xBF });
OutputStreamWriter outputWriter = new OutputStreamWriter(fos, "UTF-8");
printWriter = new BufferedWriter(outputWriter);
printWriter.write(header);
printWriter.newLine();
for (String recordStr : records) {
printWriter.write(recordStr);
printWriter.newLine();
}
printWriter.flush();
generateDone = true;
} finally {
if (printWriter != null) {
printWriter.close();
}
}
return generateDone;
}
public static String handleColumnQuotes(String text) {
String quoteMark = TalendQuoteUtils.QUOTATION_MARK;
text = StringUtils.isBlank(text) ? "" : text;
if (text.contains(quoteMark)) {
// replace to double quote surround
text = text.replace(quoteMark, quoteMark + quoteMark);
}
return quoteMark + text + quoteMark;
}
public static String getCurrentTimeString() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String time = dateFormat.format(new Date());
return time;
}
}

View File

@@ -0,0 +1,177 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.maven.migration.common;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.preferences.ConfigurationScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IScopeContext;
import org.osgi.service.prefs.BackingStoreException;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.PluginChecker;
import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.Property;
import org.talend.migration.IProjectMigrationTask;
/**
* DOC jding class global comment. Detailled comment
*/
public class MigrationReportHelper {
private static final String COMMA = ",";
private static final String PLUGIN_ID = "org.talend.designer.maven";
private static final String DO_NOT_SHOW_PREF_KEY = "talend.migrationReportDialog.doNotShowAgain";
private static final String MIGRATION_REPORT_HEAD = "Task name,Task description,Item type,Path to migrated item,Migration details";
private static final MigrationReportHelper instance = new MigrationReportHelper();
public static MigrationReportHelper getInstance() {
return instance;
}
private String reportGeneratedPath = "";
private Set<String> taskItemRecords = new HashSet<String>();
private List<MigrationReportRecorder> migrationReportRecorders = new ArrayList<MigrationReportRecorder>();
public void generateMigrationReport(String projectTecName) {
if (migrationReportRecorders == null || migrationReportRecorders.isEmpty()) {
return;
}
if (!PluginChecker.isTIS()) {
clearRecorders();
return;
}
File exportFolder = null;
File reportFile = null;
try {
String currentTime = getCurrentTime();
String filePath = getReportExportFolder(currentTime) + "/" + getReportFileName(currentTime, projectTecName);
reportGeneratedPath = filePath;
reportFile = new File(filePath);
List<String> recordLines = new ArrayList<String>();
for (MigrationReportRecorder record : migrationReportRecorders) {
StringBuffer buffer = new StringBuffer();
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getTaskClassName())).append(COMMA);
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getTaskDescription())).append(COMMA);
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getItemType())).append(COMMA);
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getItemPath())).append(COMMA);
buffer.append(ItemsReportUtil.handleColumnQuotes(record.getDetailMessage()));
recordLines.add(buffer.toString());
}
ItemsReportUtil.generateReportFile(reportFile, MIGRATION_REPORT_HEAD, recordLines);
} catch (Exception e) {
ExceptionHandler.process(e);
if (reportFile != null && reportFile.exists()) {
reportFile.delete();
}
if (exportFolder != null && exportFolder.exists()) {
exportFolder.delete();
}
} finally {
migrationReportRecorders.clear();
taskItemRecords.clear();
}
}
public boolean isRequireDefaultRecord(IProjectMigrationTask task, Item item) {
boolean require = true;
if (task.getOrder() != null) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(task.getOrder());
int year = calendar.get(Calendar.YEAR);
if (year <= 2016) {
return false;
}
}
if (item.getProperty() != null) {
Property property = item.getProperty();
String key = task.getId() + "_" + property.getId() + "_" + property.getVersion();
if (taskItemRecords.contains(key)) {
return false;
}
}
return require;
}
private String getCurrentTime() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
String time = dateFormat.format(new Date());
return time;
}
private String getReportExportFolder(String time) {
String folderName = "migrationReport" + "_" + time;
String path = ResourcesPlugin.getWorkspace().getRoot().getLocation().toString() + "/report/" + folderName;
return path;
}
private String getReportFileName(String time, String projectTecName) {
String fileName = time + "_" + projectTecName + "_" + "Migration" + "_" + "Report.csv";
return fileName;
}
public static void storeDoNotShowAgainPref(boolean selected) {
IScopeContext scopeContext = ConfigurationScope.INSTANCE;
IEclipsePreferences pref = scopeContext.getNode(PLUGIN_ID);
pref.putBoolean(DO_NOT_SHOW_PREF_KEY, selected);
try {
pref.flush();
} catch (BackingStoreException e) {
ExceptionHandler.process(e);
}
}
public static boolean isReportDialogDisable() {
IScopeContext scopeContext = ConfigurationScope.INSTANCE;
IEclipsePreferences pref = scopeContext.getNode(PLUGIN_ID);
return pref.getBoolean(DO_NOT_SHOW_PREF_KEY, false);
}
public void addRecorder(MigrationReportRecorder recorder) {
if (recorder != null) {
migrationReportRecorders.add(recorder);
if (recorder.getItem() != null && recorder.getItem().getProperty() != null) {
Property property = recorder.getItem().getProperty();
taskItemRecords.add(recorder.getTask().getId() + "_" + property.getId() + "_" + property.getVersion());
}
}
}
public void clearRecorders() {
reportGeneratedPath = "";
migrationReportRecorders.clear();
taskItemRecords.clear();
}
public String getReportGeneratedPath() {
return reportGeneratedPath;
}
}

View File

@@ -0,0 +1,197 @@
// ============================================================================
//
// Copyright (C) 2006-2021 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.maven.migration.common;
import org.apache.commons.lang.StringUtils;
import org.talend.core.model.components.ComponentUtilities;
import org.talend.core.model.properties.Item;
import org.talend.core.utils.TalendQuoteUtils;
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.migration.IProjectMigrationTask;
/**
* DOC jding class global comment. Detailled comment
*/
public class MigrationReportRecorder extends ItemReportRecorder {
private IProjectMigrationTask task;
private MigrationOperationType operationType;
private NodeType node;
private String paramName;
private String oldValue;
private String newValue;
public enum MigrationOperationType {
ADD,
MODIFY,
DELETE
}
public MigrationReportRecorder(IProjectMigrationTask task, Item item) {
super();
this.task = task;
this.item = item;
}
public MigrationReportRecorder(IProjectMigrationTask task, MigrationOperationType operationType, Item item, NodeType node,
String paramName, String oldValue, String newValue) {
super();
this.task = task;
this.operationType = operationType;
this.item = item;
this.node = node;
this.paramName = paramName;
this.oldValue = oldValue;
this.newValue = newValue;
}
public MigrationReportRecorder(IProjectMigrationTask task, Item item, String detailMessage) {
super();
this.task = task;
this.item = item;
this.detailMessage = detailMessage;
}
public String getTaskClassName() {
return task.getClass().getSimpleName();
}
public String getTaskDescription() {
String description = "";
if (StringUtils.isNotBlank(task.getDescription())) {
description = task.getDescription();
}
return description;
}
public String getDetailMessage() {
String details = detailMessage;
if (StringUtils.isNotBlank(detailMessage)) {
return details;
}
if (operationType == null || StringUtils.isBlank(paramName)) {
details = getTaskClassName() + " task is applied";
return details;
}
StringBuffer detailBuffer = new StringBuffer();
if (node != null) {
// migration for node, e.g. tRESTClient component "tRESTClient_2":
detailBuffer.append(node.getComponentName()).append(" component ");
ElementParameterType uniqueName = ComponentUtilities.getNodeProperty(node, "UNIQUE_NAME");
detailBuffer.append(TalendQuoteUtils.addQuotes(uniqueName.getValue())).append(":");
} else {
// migration for item, e.g. context item "testContext":
detailBuffer.append(getItemType() + " item ")
.append(TalendQuoteUtils.addQuotes(item.getProperty().getLabel())).append(":");
}
detailBuffer.append(paramName).append(" was ");
switch (operationType) {
case ADD:
detailBuffer.append("added");
if (StringUtils.isNotBlank(newValue)) {
detailBuffer.append(" with ").append(newValue);
}
break;
case MODIFY:
detailBuffer.append("changed");
if (StringUtils.isNotBlank(oldValue)) {
detailBuffer.append(" from ").append(oldValue);
}
if (StringUtils.isNotBlank(newValue)) {
detailBuffer.append(" to ").append(newValue);
}
break;
case DELETE:
detailBuffer.append("deleted");
break;
default:
break;
}
details = detailBuffer.toString();
return details;
}
/**
* Getter for task.
*
* @return the task
*/
public IProjectMigrationTask getTask() {
return task;
}
/**
* Sets the task.
*
* @param task the task to set
*/
public void setTask(IProjectMigrationTask task) {
this.task = task;
}
/**
* Sets the operationType.
*
* @param operationType the operationType to set
*/
public void setOperationType(MigrationOperationType operationType) {
this.operationType = operationType;
}
/**
* Sets the node.
*
* @param node the node to set
*/
public void setNode(NodeType node) {
this.node = node;
}
/**
* Sets the paramName.
*
* @param paramName the paramName to set
*/
public void setParamName(String paramName) {
this.paramName = paramName;
}
/**
* Sets the oldValue.
*
* @param oldValue the oldValue to set
*/
public void setOldValue(String oldValue) {
this.oldValue = oldValue;
}
/**
* Sets the newValue.
*
* @param newValue the newValue to set
*/
public void setNewValue(String newValue) {
this.newValue = newValue;
}
}

View File

@@ -18,8 +18,8 @@ import org.talend.core.repository.utils.ConvertJobsUtil;
import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
import org.talend.migration.MigrationReportHelper;
import org.talend.migration.MigrationReportRecorder;
import org.talend.designer.maven.migration.common.MigrationReportHelper;
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
import org.talend.repository.model.IProxyRepositoryFactory;
import org.talend.repository.model.IRepositoryService;

View File

@@ -13,8 +13,8 @@ import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.ProcessItem;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
import org.talend.designer.runprocess.ItemCacheManager;
import org.talend.migration.MigrationReportRecorder;
import org.talend.repository.ProjectManager;
/*

View File

@@ -11,7 +11,7 @@ import org.talend.core.model.components.filters.NameComponentFilter;
import org.talend.core.model.properties.Item;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
import org.talend.migration.MigrationReportRecorder;
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
/*
* (non-Javadoc)

View File

@@ -17,8 +17,8 @@ import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.core.runtime.process.TalendProcessArgumentConstant;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
import org.talend.designer.runprocess.ItemCacheManager;
import org.talend.migration.MigrationReportRecorder;
import org.talend.repository.ProjectManager;
/*

View File

@@ -11,7 +11,7 @@ import org.talend.core.model.components.filters.NameComponentFilter;
import org.talend.core.model.properties.Item;
import org.talend.designer.core.model.utils.emf.talendfile.NodeType;
import org.talend.designer.core.model.utils.emf.talendfile.ProcessType;
import org.talend.migration.MigrationReportRecorder;
import org.talend.designer.maven.migration.common.MigrationReportRecorder;
/*
* Data service SOAP = Job with "tESBProviderRequest"

View File

@@ -668,10 +668,7 @@ public class AggregatorPomsHelper {
Set<JobInfo> allJobInfos = ProcessorUtilities.getChildrenJobInfo(item, false, true);
allJobInfos.add(new JobInfo(item, item.getProcess().getDefaultContext()));
return allJobInfos.stream();
}).filter(info -> !info.isTestContainer() && ProjectManager.getInstance()
.isInCurrentMainProject(info.getJobletProperty() != null ? info.getJobletProperty() : info.getProcessItem()))
.distinct()
.map(info -> info.getJobletProperty() != null ? info.getJobletProperty().getItem() : info.getProcessItem())
}).map(info -> info.getJobletProperty() != null ? info.getJobletProperty().getItem() : info.getProcessItem())
.collect(Collectors.toSet());
} else {
allItems = objects.stream().map(object -> object.getProperty().getItem()).collect(Collectors.toSet());

View File

@@ -1,7 +1,6 @@
package org.talend.designer.maven.tools;
import java.lang.reflect.InvocationTargetException;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.resources.IWorkspaceRunnable;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -16,13 +15,14 @@ import org.eclipse.swt.widgets.Display;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.core.model.general.Project;
import org.talend.core.repository.model.ProxyRepositoryFactory;
import org.talend.designer.maven.migration.common.MigrationReportHelper;
import org.talend.designer.maven.migration.tasks.CorrectBuildTypeForDIJobMigrationTask;
import org.talend.designer.maven.migration.tasks.CorrectBuildTypeForDsRestMigrationTask;
import org.talend.designer.maven.migration.tasks.CorrectBuildTypeForRoutesMigrationTask;
import org.talend.designer.maven.migration.tasks.CorrectBuildTypeForSOAPServiceJobMigrationTask;
import org.talend.designer.maven.migration.tasks.ICorrectBuildTypeMigrationTask;
import org.talend.migration.IMigrationTask;
import org.talend.migration.MigrationReportHelper;
import org.talend.migration.IProjectMigrationTask;
import org.talend.repository.ProjectManager;
import org.talend.repository.RepositoryWorkUnit;

View File

@@ -59,6 +59,7 @@ import org.talend.core.model.process.IContext;
import org.talend.core.model.process.IProcess;
import org.talend.core.model.process.IProcess2;
import org.talend.core.model.process.JobInfo;
import org.talend.core.model.process.ProcessUtils;
import org.talend.core.model.properties.Item;
import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.Project;
@@ -77,7 +78,6 @@ import org.talend.core.runtime.process.TalendProcessOptionConstants;
import org.talend.core.runtime.projectsetting.IProjectSettingPreferenceConstants;
import org.talend.core.runtime.projectsetting.IProjectSettingTemplateConstants;
import org.talend.core.runtime.projectsetting.ProjectPreferenceManager;
import org.talend.core.runtime.util.ModuleAccessHelper;
import org.talend.core.services.IGITProviderService;
import org.talend.core.ui.ITestContainerProviderService;
import org.talend.core.utils.TemplateFileUtils;
@@ -202,9 +202,11 @@ public class CreateMavenJobPom extends AbstractMavenProcessorPom {
final IContext context = jProcessor.getContext();
Property property = jProcessor.getProperty();
if (ITestContainerProviderService.get() != null) {
ITestContainerProviderService testService = ITestContainerProviderService.get();
if (testService.isTestContainerProcess(process)) {
if (ProcessUtils.isTestContainer(process)) {
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerProviderService.class)) {
ITestContainerProviderService testService = (ITestContainerProviderService) GlobalServiceRegister
.getDefault()
.getService(ITestContainerProviderService.class);
try {
property = testService.getParentJobItem(property.getItem()).getProperty();
process = testService.getParentJobProcess(process);
@@ -212,21 +214,6 @@ public class CreateMavenJobPom extends AbstractMavenProcessorPom {
ExceptionHandler.process(e);
}
}
List<ProcessItem> testcaseItems = testService.getAllTestContainers((ProcessItem) property.getItem(), true, true);
testcaseItems.add((ProcessItem) property.getItem());
if (!testcaseItems.isEmpty()) {
Set<String> testVMArgs = testcaseItems.stream().flatMap(item -> {
Set<JobInfo> allInfos = new HashSet<>();
allInfos.add(new JobInfo(item, item.getProcess().getDefaultContext()));
allInfos.addAll(ProcessorUtilities.getChildrenJobInfo(item, false, true));
return ModuleAccessHelper.getModuleAccessVMArgs(item.getProperty(), allInfos).stream();
}).collect(Collectors.toSet());
if (testVMArgs != null && !testVMArgs.isEmpty()) {
StringBuilder vmArgsLine = new StringBuilder();
testVMArgs.forEach(arg -> vmArgsLine.append(arg + " "));
properties.setProperty("argLine", vmArgsLine.toString().trim());
}
}
}
Project project = ProjectManager.getInstance().getProject(property);

View File

@@ -11,7 +11,7 @@
<packaging>eclipse-plugin</packaging>
<properties>
<reload4j.version>1.2.22</reload4j.version>
<slf4j.version>1.7.34</slf4j.version>
<slf4j.version>1.7.29</slf4j.version>
<log4j2.version>2.17.1</log4j2.version>
</properties>
<dependencies>
@@ -22,7 +22,7 @@
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
<exclusions>
<exclusion>

View File

@@ -126,8 +126,6 @@ ConfigModuleDialog.error.missingName=Saisissez un nom de module.
ConfigModuleDialog.error.missingModule=S\u00E9lectionnez un module.
ConfigModuleDialog.search.noModules=Aucun module trouv\u00E9 pour la recherche de\u00A0: {0}.
ConfigModuleDialog.warn.artifactory=Impossible de connecter le r\u00E9f\u00E9rentiel d'artefacts des biblioth\u00E8ques utilisateur !
ConfigModuleDialog.btn.detectDependencies=Ajouter des d\u00E9pendances directes
ConfigModuleDialog.btn.detectDependenciesTip=Ajouter des d\u00E9pendances directes pour le module s\u00E9lectionn\u00E9
ImportCustomSettingsAction.title=Param\u00E8tres d'import personnalis\u00E9
ImportCustomSettingsAction.warning=\u00CAtes-vous s\u00FBr(e) de vouloir \u00E9craser les param\u00E8tres d'URI Maven personnalis\u00E9s par le fichier s\u00E9lectionn\u00E9 ?
ExportCustomSettingsAction.title=Param\u00E8tres d'export personnalis\u00E9

View File

@@ -114,7 +114,7 @@ ConfigModuleDialog.message=\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u9078\u629E\u305
ConfigModuleDialog.install.message=\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB: {0}
ConfigModuleDialog.platfromBtn=\u30D7\u30E9\u30C3\u30C8\u30D5\u30A9\u30FC\u30E0
ConfigModuleDialog.repositoryBtn=\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC(\u30ED\u30FC\u30AB\u30EBm2/nexus)
ConfigModuleDialog.installNewBtn=\u65B0\u3057\u3044\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
ConfigModuleDialog.installNewBtn=\u65B0\u898F\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB
ConfigModuleDialog.findExistByNameBtn=\u540D\u524D\u3067\u691C\u7D22
ConfigModuleDialog.moduleName=\u30E2\u30B8\u30E5\u30FC\u30EB\u540D
ConfigModuleDialog.shareInfo=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u304C\u518D\u30C7\u30D7\u30ED\u30A4\u3092\u3057\u306A\u3044\u5834\u5408\u306F\u3001\u30E9\u30A4\u30D6\u30E9\u30EA\u30FC\u3092\u30EA\u30E2\u30FC\u30C8\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u306B\u5171\u6709\u3067\u304D\u307E\u305B\u3093\u3002\u5171\u6709\u3092\u7D9A\u884C\u3057\u307E\u3059\u304B?
@@ -126,8 +126,6 @@ ConfigModuleDialog.error.missingName=\u30E2\u30B8\u30E5\u30FC\u30EB\u540D\u3092\
ConfigModuleDialog.error.missingModule=\u30E2\u30B8\u30E5\u30FC\u30EB\u3092\u9078\u629E\u3057\u3066\u304F\u3060\u3055\u3044!
ConfigModuleDialog.search.noModules={0}\u306E\u691C\u7D22\u3067\u30E2\u30B8\u30E5\u30FC\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F!
ConfigModuleDialog.warn.artifactory=\u30E6\u30FC\u30B6\u30FC\u30E9\u30A4\u30D6\u30E9\u30EA\u30FC\u30A2\u30FC\u30C6\u30A3\u30D5\u30A1\u30AF\u30C8\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u306B\u63A5\u7D9A\u3067\u304D\u307E\u305B\u3093!
ConfigModuleDialog.btn.detectDependencies=\u76F4\u63A5\u4F9D\u5B58\u9805\u76EE\u3092\u8FFD\u52A0
ConfigModuleDialog.btn.detectDependenciesTip=\u9078\u629E\u3057\u305F\u30E2\u30B8\u30E5\u30FC\u30EB\u3067\u76F4\u63A5\u4F9D\u5B58\u9805\u76EE\u3092\u8FFD\u52A0
ImportCustomSettingsAction.title=\u30AB\u30B9\u30BF\u30E0\u8A2D\u5B9A\u3092\u30A4\u30F3\u30DD\u30FC\u30C8
ImportCustomSettingsAction.warning=\u9078\u629E\u3057\u305F\u30D5\u30A1\u30A4\u30EB\u3067\u30AB\u30B9\u30BF\u30E0mvn URI\u8A2D\u5B9A\u3092\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B?
ExportCustomSettingsAction.title=\u30AB\u30B9\u30BF\u30E0\u8A2D\u5B9A\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8

View File

@@ -126,8 +126,6 @@ ConfigModuleDialog.error.missingName=\u8BF7\u8F93\u5165\u6A21\u5757\u540D\u79F0!
ConfigModuleDialog.error.missingModule=\u8BF7\u9009\u62E9\u6A21\u5757!
ConfigModuleDialog.search.noModules=\u641C\u7D22 {0} \u672A\u53D1\u73B0\u6A21\u5757!
ConfigModuleDialog.warn.artifactory=\u7528\u6237\u4F9D\u8D56\u5305\u6784\u4EF6\u5E93\u65E0\u6CD5\u8FDE\u63A5!
ConfigModuleDialog.btn.detectDependencies=\u6DFB\u52A0\u76F4\u63A5\u4F9D\u8D56\u5305
ConfigModuleDialog.btn.detectDependenciesTip=\u4E3A\u6240\u9009\u6A21\u5757\u6DFB\u52A0\u76F4\u63A5\u4F9D\u8D56\u5305
ImportCustomSettingsAction.title=\u5BFC\u5165\u81EA\u5B9A\u4E49\u8BBE\u7F6E
ImportCustomSettingsAction.warning=\u662F\u5426\u786E\u5B9A\u4F7F\u7528\u6240\u9009\u6587\u4EF6\u6539\u5199\u81EA\u5B9A\u4E49 mvn uri \u8BBE\u7F6E\uFF1F
ExportCustomSettingsAction.title=\u5BFC\u51FA\u81EA\u5B9A\u4E49\u8BBE\u7F6E

View File

@@ -4,7 +4,7 @@
<classpathentry kind="src" path="resources/java"/>
<classpathentry exported="true" kind="lib" path="lib/jboss-marshalling-2.0.12.Final.jar"/>
<classpathentry kind="lib" path="lib/crypto-utils.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.7.34.jar"/>
<classpathentry kind="lib" path="lib/slf4j-api-1.7.25.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>

View File

@@ -10,7 +10,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.Description=\u8AAC\u660E
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u306E\u7A7A\u767D\u306F\u907F\u3051\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u306E\u7A7A\u767D\u306F\u907F\u3051\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.SameAsProjectname=\u540D\u524D\u304C\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u3068\u540C\u3058\u3067\u3059\u3002
PropertiesWizardPage.Name=\u540D\u524D
@@ -140,7 +140,7 @@ DatabaseTableForm.retreiveButtonConfirmation=\u5909\u66F4\u3092\u78BA\u5B9A\u305
DatabaseTableForm.retreiveButtonConfirmationMessage=\u30B9\u30AD\u30FC\u30DE\u306E\u8A2D\u5B9A\u3092\u5909\u66F4\u3059\u308B\u3068\u3001\u73FE\u5728\u306E\u30B9\u30AD\u30FC\u30DE\u30D7\u30EC\u30D3\u30E5\u30FC\u3068\u7570\u306A\u308A\u307E\u3059\u3002\u30B9\u30AD\u30FC\u30DE\u306E\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u306F\u3059\u3079\u3066\u306E\u30AB\u30EC\u30F3\u30C8\u30C7\u30FC\u30BF\u306B\u4E0A\u66F8\u304D\u3055\u308C\u307E\u3059\u3002\u7D99\u7D9A\u3057\u307E\u3059\u304B\uFF1F
DatabaseTableForm.retreiveButtonIsAccessible=[Retrieve] (\u53D6\u5F97)\u30DC\u30BF\u30F3\u304C\u5229\u7528\u53EF\u80FD\u306B\u306A\u308A\u307E\u3057\u305F\u3002
DatabaseTableForm.retreiveButtonTip=\u30B9\u30AD\u30FC\u30DE\u3092\u5B9A\u7FA9\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u300C\u30B9\u30AD\u30FC\u30DE\u60C5\u5831\u3092\u53D6\u5F97\u300D\u304C\u4F7F\u7528\u3067\u304D\u307E\u3059!
DatabaseTableForm.retreiveButtonUse=[\u30B9\u30AD\u30FC\u30DE\u3092\u53D6\u5F97]\u30DC\u30BF\u30F3\u3092\u4F7F\u3063\u3066\u3001\u73FE\u5728\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u30C6\u30FC\u30D6\u30EB\u57FA\u672C\u30B9\u30AD\u30FC\u30DE\u306B\u7F6E\u63DB
DatabaseTableForm.retreiveButtonUse=[\u30B9\u30AD\u30FC\u30DE\u3092\u53D6\u5F97]\u30DC\u30BF\u30F3\u3092\u4F7F\u3063\u3066\u3001\u73FE\u5728\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u30C6\u30FC\u30D6\u30EB\u30D9\u30FC\u30B9\u30B9\u30AD\u30FC\u30DE\u306B\u7F6E\u63DB
DatabaseTableForm.retreiveSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u53D6\u5F97
DatabaseTableForm.guessSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u63A8\u6E2C
DatabaseTableForm.streamDetach=\u30B9\u30C8\u30EA\u30FC\u30E0\u5206\u96E2
@@ -300,7 +300,7 @@ FileStep3.guessIsDone=\u63A8\u5B9A\u306E\u6210\u529F
FileStep3.guessProgress=\u63A8\u5B9A\u3092\u5B9F\u884C\u4E2D...
FileStep3.guessTip=\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30B9\u30AD\u30FC\u30DE\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059
FileStep3.informationLabel=\u8A2D\u5B9A\u306B\u5F93\u3063\u3066\u4EE5\u4E0B\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3059\u308B[\u63A8\u6E2C]\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF
FileStep3.itemAlert=\u5C11\u306A\u304F\u3066\u30821\u3064\u306E\u9805\u76EE\u304C\u30B9\u30AD\u30FC\u30DE\u306B\u5FC5\u8981\u3067\u3059
FileStep3.itemAlert=\u5C11\u306A\u304F\u3066\u30821\u3064\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u30B9\u30AD\u30FC\u30DE\u306B\u5FC5\u8981\u3067\u3059
FileStep3.metadataComment=\u30B3\u30E1\u30F3\u30C8
FileStep3.metadataDescription=\u30B9\u30AD\u30FC\u30DE\u306E\u8AAC\u660E
FileStep3.metadataName=\u540D\u524D

View File

@@ -260,7 +260,7 @@ PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.Description=\u8AAC\u660E
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.Name=\u540D\u524D
PropertiesWizardPage.NameEmptyError=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002

View File

@@ -459,7 +459,7 @@ _UI_TalendTrigger_resumePauseUpdated_feature=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C
_UI_TalendTrigger_previouslyPaused_feature=\u524D\u3082\u3063\u3066\u4E00\u6642\u505C\u6B62
_UI_CronTalendTrigger_cronExpression_feature=Cron\u5F0F
_UI_CronUITalendTrigger_listDaysOfWeek_feature=\u9031\u6B21\u30EA\u30B9\u30C8
_UI_CronUITalendTrigger_listDaysOfMonth_feature=\u30DE\u30F3\u30B9\u30EA\u30FC\u30CE\u30FC\u30C8
_UI_CronUITalendTrigger_listDaysOfMonth_feature=\u6708\u6B21\u30EA\u30B9\u30C8
_UI_CronUITalendTrigger_listMonths_feature=\u6708\u30EA\u30B9\u30C8
_UI_CronUITalendTrigger_listYears_feature=\u5E74\u30EA\u30B9\u30C8
_UI_CronUITalendTrigger_listHours_feature=\u6642\u9593\u30EA\u30B9\u30C8
@@ -1051,7 +1051,7 @@ _UI_ValidationRulesConnection_isInsert_feature=\u633F\u5165
_UI_ValidationRulesConnection_isUpdate_feature=\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
_UI_ValidationRulesConnection_isDelete_feature=\u524A\u9664
_UI_ValidationRulesConnection_type_feature=\u30BF\u30A4\u30D7
_UI_ValidationRulesConnection_baseSchema_feature=\u57FA\u672C\u30B9\u30AD\u30FC\u30DE
_UI_ValidationRulesConnection_baseSchema_feature=\u30D9\u30FC\u30B9\u30B9\u30AD\u30FC\u30DE
_UI_ValidationRulesConnection_baseColumnNames_feature=\u30D9\u30FC\u30B9\u30AB\u30E9\u30E0\u540D
_UI_ValidationRulesConnection_refSchema_feature=\u53C2\u7167\u30B9\u30AD\u30FC\u30DE
_UI_ValidationRulesConnection_refColumnNames_feature=\u53C2\u7167\u30AB\u30E9\u30E0\u540D

View File

@@ -15,6 +15,7 @@ package org.talend.presentation.onboarding.ui.managers;
import java.util.Collection;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.Platform;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
@@ -106,9 +107,11 @@ public class OnBoardingUIManager {
int style = child.getStyle();
if (0 < (style & SWT.APPLICATION_MODAL) || 0 < (style & SWT.PRIMARY_MODAL)) {
child.open();
onBoardingManager.close();
log.info("force onBoardingShell to close to avoid studio freezed");
return;
if (!Platform.OS_WIN32.equals(Platform.getOS())) {
onBoardingManager.close();
log.info("force onBoardingShell to close for ubuntu and macos to avoid studio freezed");
return;
}
}
}
}

View File

@@ -12,36 +12,15 @@
// ============================================================================
package org.talend.rcp.intro;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.inject.Inject;
import org.apache.commons.lang.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.SubMonitor;
import org.eclipse.e4.core.contexts.ContextInjectionFactory;
import org.eclipse.e4.core.contexts.IEclipseContext;
import org.eclipse.e4.ui.model.application.MApplication;
import org.eclipse.e4.ui.model.application.ui.MElementContainer;
import org.eclipse.e4.ui.model.application.ui.MUIElement;
import org.eclipse.e4.ui.model.application.ui.advanced.MPerspective;
import org.eclipse.e4.ui.model.application.ui.advanced.MPlaceholder;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainer;
import org.eclipse.e4.ui.model.application.ui.basic.MWindow;
import org.eclipse.e4.ui.model.application.ui.basic.MWindowElement;
import org.eclipse.jface.dialogs.TrayDialog;
import org.eclipse.jface.preference.PreferenceManager;
import org.eclipse.ui.IPerspectiveDescriptor;
import org.eclipse.ui.IPerspectiveRegistry;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferenceConstants;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.application.IWorkbenchConfigurer;
@@ -49,7 +28,6 @@ import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;
import org.eclipse.ui.internal.WorkbenchPlugin;
import org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor;
import org.eclipse.ui.views.IViewRegistry;
import org.talend.commons.exception.ExceptionHandler;
import org.talend.commons.exception.LoginException;
import org.talend.commons.exception.PersistenceException;
@@ -85,15 +63,6 @@ public class ApplicationWorkbenchAdvisor extends IDEWorkbenchAdvisor {
private static final String PERSPECTIVE_ID = "org.talend.rcp.perspective"; //$NON-NLS-1$
@Inject
private MApplication mApp;
private void injectVariables() {
IWorkbench workbench = PlatformUI.getWorkbench();
IEclipseContext activeContext = ((IEclipseContext) workbench.getService(IEclipseContext.class)).getActiveLeaf();
ContextInjectionFactory.inject(this, activeContext);
}
@Override
public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
return new ApplicationWorkbenchWindowAdvisor(configurer);
@@ -101,7 +70,6 @@ public class ApplicationWorkbenchAdvisor extends IDEWorkbenchAdvisor {
@Override
public void initialize(IWorkbenchConfigurer configurer) {
injectVariables();
super.initialize(configurer);
configurer.setSaveAndRestore(false);
TrayDialog.setDialogHelpAvailable(false);
@@ -110,119 +78,6 @@ public class ApplicationWorkbenchAdvisor extends IDEWorkbenchAdvisor {
PlatformUI.getPreferenceStore().setDefault(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS, false);
PlatformUI.getPreferenceStore().setDefault(IWorkbenchPreferenceConstants.DOCK_PERSPECTIVE_BAR,
IWorkbenchPreferenceConstants.TOP_RIGHT);
try {
removeInvalidElement(mApp);
} catch (Exception e) {
ExceptionHandler.process(e);
}
}
private MApplication removeInvalidElement(MApplication appElement) {
boolean isOEM = false;
try {
isOEM = !IBrandingService.get().isPoweredbyTalend();
} catch (Exception e) {
ExceptionHandler.process(e);
}
final String cleanProp = "talend.studio.lite.cleanInvalidView";
String cleanPropValue = System.getProperty(cleanProp);
if (isOEM && (StringUtils.isBlank(cleanPropValue) || !Boolean.valueOf(cleanPropValue))) {
return appElement;
}
if (!Boolean.valueOf(System.getProperty(cleanProp, Boolean.TRUE.toString()))) {
return appElement;
}
org.eclipse.ui.IWorkbench workbench = PlatformUI.getWorkbench();
IPerspectiveRegistry perspectiveRegistry = workbench.getPerspectiveRegistry();
IViewRegistry viewRegistry = workbench.getViewRegistry();
List<MWindow> windows = appElement.getChildren();
Set<Object> visited = new HashSet<>();
for (MWindow window : windows) {
List<MWindowElement> winElems = window.getChildren();
for (MWindowElement winElem : new ArrayList<>(winElems)) {
if (winElem instanceof MElementContainer) {
cleanInvalidView((MElementContainer) winElem, perspectiveRegistry, viewRegistry, visited);
}
}
List<MUIElement> sharedElements = window.getSharedElements();
for (MUIElement sharedElement : new ArrayList<>(sharedElements)) {
if (sharedElement instanceof MPart) {
String elemId = sharedElement.getElementId();
if (StringUtils.isNotBlank(elemId) && viewRegistry.find(elemId) == null) {
sharedElements.remove(sharedElement);
}
}
}
}
return appElement;
}
private void cleanInvalidView(MElementContainer container, IPerspectiveRegistry perspectiveRegistry,
IViewRegistry viewRegistry, Set<Object> visited) {
if (container == null) {
return;
}
if (visited.contains(container)) {
return;
}
visited.add(container);
List children = container.getChildren();
if (children == null || children.isEmpty()) {
return;
}
MUIElement selectedElement = container.getSelectedElement();
String selectedId = null;
if (selectedElement != null) {
selectedId = selectedElement.getElementId();
}
boolean resetSelectedElem = false;
for (Object child : new ArrayList<>(children)) {
if (child instanceof MPerspective) {
String elemId = ((MPerspective) child).getElementId();
if (StringUtils.isNotBlank(elemId) && perspectiveRegistry.findPerspectiveWithId(elemId) == null) {
children.remove(child);
if (selectedId != null && selectedId.equals(elemId)) {
resetSelectedElem = true;
}
continue;
}
}
if (child instanceof MElementContainer) {
cleanInvalidView((MElementContainer) child, perspectiveRegistry, viewRegistry, visited);
if (((MElementContainer) child).getChildren().isEmpty()) {
children.remove(child);
}
} else if (child instanceof MPlaceholder) {
MUIElement ref = ((MPlaceholder) child).getRef();
if (ref instanceof MPartSashContainer) {
continue;
}
String viewId = ((MPlaceholder) child).getElementId();
if (StringUtils.isNotBlank(viewId) && viewRegistry.find(viewId) == null) {
if (selectedId != null && selectedId.equals(viewId)) {
resetSelectedElem = true;
}
children.remove(child);
continue;
}
}
}
if (resetSelectedElem) {
MUIElement newSelectedElem = null;
if (0 < children.size()) {
for (Object child : children) {
if (child instanceof MUIElement) {
if (((MUIElement) child).isToBeRendered()) {
newSelectedElem = (MUIElement) child;
break;
}
}
}
}
container.setSelectedElement(newSelectedElem);
}
}
@Override

View File

@@ -254,7 +254,7 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
CommonsPlugin.setWorkbenchCreated(true);
TimeMeasurePerformance.afterStartup();
TokenCollectorFactory.getFactory().monitor();
// TDQ-11355 avoid "java.nio.channels.ClosedChannelException" .If the current perspective is DQ, delay this
// commit at here,it will be committed with DQ side(see DQRespositoryView Constructor).
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
@@ -323,10 +323,6 @@ public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {
if (path == null) {
return;
}
/**
* FIXME: seems the correct name should be workbench.xmi, means the following logic never works in recent
* target platform
*/
final File stateFile = path.append("workbench.xml").toFile(); //$NON-NLS-1$
if (stateFile.exists()) {
FileInputStream input;

View File

@@ -854,8 +854,6 @@ public class ImportItemsWizardPage extends WizardPage {
toSelectSet.addAll(parentNodetoSelectSet);
}
// to make doCheckStateChanged execute from ContainerCheckedTreeViewer.setCheckedElements(Object[])
filteredCheckboxTree.getViewer().setCheckedElements(new Object[0]);
filteredCheckboxTree.getViewer().setCheckedElements(toSelectSet.toArray());
}

View File

@@ -132,12 +132,11 @@ public class ImportDependencyRelationsHelper {
id = split[1];
}
}
boolean isGlobalRoutine = RelationshipItemBuilder.ROUTINE_RELATION.equals(relation.getType());
if (RelationshipItemBuilder.LATEST_VERSION.equals(relation.getVersion())) {
relatedNode = getLatestVersionItemImportNode(id, projectLabel, allImportItemNodesList, isGlobalRoutine);
relatedNode = getLatestVersionItemImportNode(id, projectLabel, allImportItemNodesList);
} else {
relatedNode = getItemImportNodeByIdVersion(id, relation.getVersion(), projectLabel,
allImportItemNodesList, isGlobalRoutine);
relatedNode = getItemImportNodeByIdVersion(id, projectLabel, relation.getVersion(),
allImportItemNodesList);
}
if (relatedNode != null && !toSelectSet.contains(relatedNode)) {
// avoid loop
@@ -149,14 +148,13 @@ public class ImportDependencyRelationsHelper {
}
public ItemImportNode getLatestVersionItemImportNode(String id, String projectTecLabel,
List<ItemImportNode> allImportItemNodesList, boolean isGlobalRoutine) {
List<ItemImportNode> allImportItemNodesList) {
List<ItemImportNode> allItemImportNodesById = getItemImportNode(allImportItemNodesList, node -> {
Property property = node.getItemRecord().getProperty();
boolean projectFlag = true;
if (StringUtils.isNotBlank(projectTecLabel)) {
projectFlag = node.getProjectNode().getProject().getTechnicalLabel().equals(projectTecLabel);
}
return (isGlobalRoutine ? property.getLabel().equals(id) : property.getId().equals(id)) && projectFlag;
return node.getItemRecord().getProperty().getId().equals(id) && projectFlag;
});
Optional<ItemImportNode> optional = allItemImportNodesById.stream().max((node1, node2) -> VersionUtils
.compareTo(node1.getItemRecord().getProperty().getVersion(), node2.getItemRecord().getProperty().getVersion()));
@@ -164,15 +162,14 @@ public class ImportDependencyRelationsHelper {
}
public ItemImportNode getItemImportNodeByIdVersion(String id, String version, String projectTecLabel,
List<ItemImportNode> allImportItemNodesList, boolean isGlobalRoutine) {
List<ItemImportNode> allImportItemNodesList) {
List<ItemImportNode> importNodeList = getItemImportNode(allImportItemNodesList, node -> {
boolean projectFlag = true;
if (StringUtils.isNotBlank(projectTecLabel)) {
projectFlag = node.getProjectNode().getProject().getTechnicalLabel().equals(projectTecLabel);
}
Property property = node.getItemRecord().getProperty();
return (isGlobalRoutine ? property.getLabel().equals(id) : property.getId().equals(id))
&& property.getVersion().equals(version) && projectFlag;
return property.getId().equals(id) && property.getVersion().equals(version) && projectFlag;
});
return importNodeList == null || importNodeList.isEmpty() ? null : importNodeList.get(0);
}

View File

@@ -87,7 +87,6 @@ import org.talend.commons.ui.runtime.image.ImageUtils;
import org.talend.commons.utils.VersionUtils;
import org.talend.commons.utils.data.container.Container;
import org.talend.commons.utils.data.container.RootContainer;
import org.talend.commons.utils.generation.JavaUtils;
import org.talend.commons.utils.io.FilesUtils;
import org.talend.commons.utils.system.EclipseCommandLine;
import org.talend.commons.utils.workbench.resources.ResourceUtils;
@@ -950,22 +949,9 @@ public class LocalRepositoryFactory extends AbstractEMFRepositoryFactory impleme
project.getEmfProject().getMigrationTask().clear();
project.getEmfProject().getMigrationTask().addAll(FilteredTasks);
// set default prefs for new created project
// setPrefForNewProject(project);
ProjectDataJsonProvider.saveProjectData(project.getEmfProject());
}
private void setPrefForNewProject(Project project) throws PersistenceException {
IFile projectSettingsFile = ResourceUtils.getProject(project.getTechnicalLabel())
.getFolder(FileConstants.SETTINGS_FOLDER_NAME).getFile(FileConstants.PROJECTSETTING_FILE_NAME);
if (!projectSettingsFile.exists()) {
ProjectPreferenceManager manager = new ProjectPreferenceManager(project, CoreRuntimePlugin.PLUGIN_ID, false);
manager.setValue(JavaUtils.ALLOW_JAVA_INTERNAL_ACCESS, true);
manager.save();
}
}
private void removeContentsFromProject(Resource projectResource, EClassifier type) {
Collection<Object> contents = EcoreUtil.getObjectsByType(projectResource.getContents(), type);
if (!contents.isEmpty()) {

View File

@@ -112,4 +112,4 @@ FileStep3.guessIsDone=\u63A8\u5B9A\u306E\u6210\u529F
FileStep1.nameAlert=\u540D\u524D\u3092\u6307\u5B9A\u3057\u3066\u304F\u3060\u3055\u3044
FileStep1.nameAlertIllegalChar=\u540D\u524D\u30B3\u30F3\u30C6\u30F3\u30C4\u306E\u7981\u6B62\u6587\u5B57
CommonWizard.nameAlreadyExist=\u3053\u306E\u540D\u524D\u306F\u5B58\u5728\u3057\u307E\u3059\u3002
FileStep3.itemAlert=\u5C11\u306A\u304F\u3066\u30821\u3064\u306E\u9805\u76EE\u304C\u30B9\u30AD\u30FC\u30DE\u306B\u5FC5\u8981\u3067\u3059
FileStep3.itemAlert=\u5C11\u306A\u304F\u3066\u30821\u3064\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u30B9\u30AD\u30FC\u30DE\u306B\u5FC5\u8981\u3067\u3059

View File

@@ -984,7 +984,7 @@ DatabaseForm.redshift.driverVersion=Version du pilote
DatabaseForm.redshift.driverVersion.tip=S\u00E9lectionnez un pilote Redshift
DatabaseForm.redshift.useStringAdditionParam=Utiliser un param\u00E8tre de cha\u00EEne de caract\u00E8res
DatabaseForm.supportnls=Support de NLS
DatabaseForm.supportnls.warntip=Ce param\u00E8tre est pris en compte uniquement apr\u00E8s le red\u00E9marrage du Studio.
DatabaseForm.supportnls.warntip=Cette configuration sera prise en compte apr\u00E8s red\u00E9marrage du Studio
DatabaseTableFilterForm.allSynonyms=Tous les synonymes
DatabaseTableFilterForm.edit=Modifier...
DatabaseTableFilterForm.editFilterName=Modifier le nom du filtre

View File

@@ -44,7 +44,7 @@ CreateConnectionAction.action.editTitle=\u63A5\u7D9A\u306E\u7DE8\u96C6
CreateConnectionAction.action.openTitle=\u63A5\u7D9A\u3092\u958B\u304F
CreateContextAction.createContext=\u30B3\u30F3\u30C6\u30AD\u30B9\u30C8\u30B0\u30EB\u30FC\u30D7\u3092\u4F5C\u6210
CreateDocumentationAction.createDocActionText.addDoc=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u3092\u8FFD\u52A0
CreateDocumentationAction.createDocActionTipText.addDocItem=\u65B0\u898F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u9805\u76EE\u3092\u8FFD\u52A0
CreateDocumentationAction.createDocActionTipText.addDocItem=\u65B0\u898F\u30C9\u30AD\u30E5\u30E1\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u30A2\u30A4\u30C6\u30E0\u3092\u8FFD\u52A0
CreateFileDelimitedAction.action.createTitle=\u533A\u5207\u308A\u4ED8\u304D\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210
CreateFileDelimitedAction.action.editTitle=\u533A\u5207\u308A\u4ED8\u304D\u30D5\u30A1\u30A4\u30EB\u3092\u7DE8\u96C6
CreateFileDelimitedAction.action.openTitle=\u533A\u5207\u308A\u4ED8\u304D\u30D5\u30A1\u30A4\u30EB\u3092\u958B\u304F
@@ -129,7 +129,7 @@ DatabaseTableForm.nameAlert=\u30B9\u30AD\u30FC\u30DE\u306B\u7A7A\u306E\u540D\u52
DatabaseTableForm.navigatorTree=\u30B9\u30AD\u30FC\u30DE
DatabaseTableForm.retreiveButtonAlert= [\u30B9\u30AD\u30FC\u30DE\u3092\u53D6\u5F97]\u30DC\u30BF\u30F3\u3092\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u3001\u307E\u305A\u30C6\u30FC\u30D6\u30EB\u3092\u9078\u629E\u3057\u307E\u3059\u3002
DatabaseTableForm.retreiveButtonTip=\u30B9\u30AD\u30FC\u30DE\u3092\u5B9A\u7FA9\u3057\u3066\u304F\u3060\u3055\u3044\u3002\u300C\u30B9\u30AD\u30FC\u30DE\u60C5\u5831\u3092\u53D6\u5F97\u300D\u304C\u4F7F\u7528\u3067\u304D\u307E\u3059\u3002
DatabaseTableForm.retreiveButtonUse=[\u30B9\u30AD\u30FC\u30DE\u3092\u53D6\u5F97]\u30DC\u30BF\u30F3\u3092\u4F7F\u3063\u3066\u3001\u73FE\u5728\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u30C6\u30FC\u30D6\u30EB\u57FA\u672C\u30B9\u30AD\u30FC\u30DE\u306B\u7F6E\u63DB
DatabaseTableForm.retreiveButtonUse=[\u30B9\u30AD\u30FC\u30DE\u3092\u53D6\u5F97]\u30DC\u30BF\u30F3\u3092\u4F7F\u3063\u3066\u3001\u73FE\u5728\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u30C6\u30FC\u30D6\u30EB\u30D9\u30FC\u30B9\u30B9\u30AD\u30FC\u30DE\u306B\u7F6E\u63DB
DatabaseTableForm.retreiveSchema=\u30B9\u30AD\u30FC\u30DE\u3092\u53D6\u5F97
DatabaseTableForm.streamDetach=\u30B9\u30C8\u30EA\u30FC\u30E0\u5206\u96E2
DatabaseTableForm.table=\u30C6\u30FC\u30D6\u30EB\u306B\u57FA\u3065\u3044\u305F
@@ -181,7 +181,7 @@ ExportProjectsAsAction.actionTitle=\u30A2\u30FC\u30AB\u30D6\u30D5\u30A1\u30A4\u3
ExportProjectsAsAction.createLiberariesLink=\u5916\u90E8\u30E9\u30A4\u30D6\u30E9\u30EA\u30FC\u306E\u30EA\u30F3\u30AF\u3092\u4F5C\u6210
ExportProjectsAsAction.processProject=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u51E6\u7406
ExportTreeViewer.hideJobTree=\u30B8\u30E7\u30D6\u30C4\u30EA\u30FC\u3092\u975E\u8868\u793A
ExportTreeViewer.selectItems=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3059\u308B\u9805\u76EE\u3092\u9078\u629E:
ExportTreeViewer.selectItems=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3059\u308B\u30A2\u30A4\u30C6\u30E0\u3092\u9078\u629E:
ExportTreeViewer.showJobTree=\u30B8\u30E7\u30D6\u30C4\u30EA\u30FC\u3092\u8868\u793A
ExtractDocumentationAction.fileErrorMessages=\u30D5\u30A1\u30A4\u30EB\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002\u30C9\u30AD\u30E5\u30E1\u30F3\u30C6\u30FC\u30B7\u30E7\u30F3\u306E\u30EA\u30F3\u30AF\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u3066\u304F\u3060\u3055\u3044\u3002
ExtractDocumentationAction.fileErrorTitle=\u30D5\u30A1\u30A4\u30EB\u30A8\u30E9\u30FC
@@ -290,7 +290,7 @@ FileStep3.guessIsDone=\u63A8\u5B9A\u306E\u6210\u529F
FileStep3.guessProgress=\u63A8\u5B9A\u3092\u5B9F\u884C\u4E2D...
FileStep3.guessTip=\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u30B9\u30AD\u30FC\u30DE\u30D7\u30EC\u30D3\u30E5\u30FC\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059
FileStep3.informationLabel=\u8A2D\u5B9A\u306B\u5F93\u3063\u3066\u4EE5\u4E0B\u306E\u30B9\u30AD\u30FC\u30DE\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3059\u308B\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u304F\u3060\u3055\u3044
FileStep3.itemAlert=\u5C11\u306A\u304F\u3066\u30821\u3064\u306E\u9805\u76EE\u304C\u30B9\u30AD\u30FC\u30DE\u306B\u5FC5\u8981\u3067\u3059
FileStep3.itemAlert=\u5C11\u306A\u304F\u3066\u30821\u3064\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u30B9\u30AD\u30FC\u30DE\u306B\u5FC5\u8981\u3067\u3059
FileStep3.metadataComment=\u30B3\u30E1\u30F3\u30C8
FileStep3.metadataDescription=\u30B9\u30AD\u30FC\u30DE\u306E\u8AAC\u660E
FileStep3.metadataName=\u540D\u524D
@@ -340,7 +340,7 @@ ImportProjectsUtilities.task.importingProject=\u30D7\u30ED\u30B8\u30A7\u30AF\u30
ImportSchemaFileAction.Label=XML\u304B\u3089\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE\u3092\u4F5C\u6210
ImportSchemaFileWizard.WizardTitle=XML\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u6C4E\u7528\u30B9\u30AD\u30FC\u30DE\u3092\u4F5C\u6210
ItemsVersionChangedDialog.OriginalVersion=\u30AA\u30EA\u30B8\u30CA\u30EB\u30D0\u30FC\u30B8\u30E7\u30F3
ItemsVersionChangedDialog.Title=\u9805\u76EE\u306E\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u78BA\u8A8D
ItemsVersionChangedDialog.Title=\u30A2\u30A4\u30C6\u30E0\u306E\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u78BA\u8A8D
JavaJobScriptsExportWSWizardPage.actionRequest={0}_action_Request
JavaJobScriptsExportWSWizardPage.ApplyToChildren=\u5B50\u306B\u9069\u7528
JavaJobScriptsExportWSWizardPage.AxisLib=Axis 1.4 Lib
@@ -382,7 +382,7 @@ JobScriptsExportWizardPage.newExportJob1=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8 {0
JobScriptsExportWizardPage.newExportJobScript={0}\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D
JobScriptsExportWizardPage.newExportJobSucessful=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8 {0}: {1}_{2}\u304C\u6210\u529F\u3057\u307E\u3057\u305F!
JobScriptsExportWizardPage.exportResourceError=\u30EA\u30BD\u30FC\u30B9\u30A8\u30E9\u30FC\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8
JobScriptsExportWizardPage.newExportSuccess={0} \u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u6210\u529F\u3057\u307E\u3057\u305F!
JobScriptsExportWizardPage.newExportSuccess={0} \u306E\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u306B\u6210\u529F\u3057\u307E\u3057\u305F\uFF01
JobScriptsExportWizardPage.extractZipFile=zip\u30D5\u30A1\u30A4\u30EB\u3092\u62BD\u51FA
JobScriptsExportWizardPage.generatePerlFiles=Perl\u30D5\u30A1\u30A4\u30EB\u3092\u751F\u6210
JobScriptsExportWizardPage.jobPerlScripts=Perl\u30B9\u30AF\u30EA\u30D7\u30C8
@@ -521,7 +521,7 @@ MappingFileSelectDialog.setMessage=Talend\u306E\u30D7\u30EC\u30D5\u30A1\u30EC\u3
MoveObjectAction.0=[{0}]\u3092{1}\u306B\u79FB\u52D5\u3067\u304D\u307E\u305B\u3093
NameSection.Name=\u540D\u524D
NameSection.NameEmpty=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002
NameSection.NameExist=\u540C\u3058\u540D\u524D\u306E\u9805\u76EE\u304C\u65E2\u306B\u5B58\u5728\u3057\u3066\u3044\u307E\u3059\u3002
NameSection.NameExist=\u540C\u3058\u540D\u524D\u306E\u30A2\u30A4\u30C6\u30E0\u304C\u65E2\u306B\u5B58\u5728\u3057\u3066\u3044\u307E\u3059\u3002
NameSection.NameIncorrect=\u540D\u524D\u306B\u4E0D\u6B63\u306A\u6587\u5B57\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002
NewFolderWizard.description=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u306B\u65B0\u898F\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u4F5C\u6210
NewFolderWizard.failureText=\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002\u30D5\u30A9\u30EB\u30C0\u30FC\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093\u3002\u8A73\u7D30\u306F\u3001\u30ED\u30B0\u3092\u3054\u89A7\u304F\u3060\u3055\u3044\u3002
@@ -586,10 +586,10 @@ ReplaceRunBeforeAfterWithThenRunMigrationTask.RunAfter=RunAfter
ReplaceRunBeforeAfterWithThenRunMigrationTask.RunBefore=RunBefore
ReplaceRunBeforeAfterWithThenRunMigrationTask.ThenRun=ThenRun
RepositoryPreferencePage.ReferenceProjectMerged=\u53C2\u7167\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3092\u30DE\u30FC\u30B8
RepositoryPreferencePage.RefreshCreated=\u9805\u76EE\u306E\u4F5C\u6210\u6642\u306B\u66F4\u65B0
RepositoryPreferencePage.RefreshDeleted=\u9805\u76EE\u306E\u524A\u9664\u6642\u306B\u66F4\u65B0
RepositoryPreferencePage.RefreshCreated=\u30A2\u30A4\u30C6\u30E0\u306E\u4F5C\u6210\u6642\u306B\u66F4\u65B0
RepositoryPreferencePage.RefreshDeleted=\u30A2\u30A4\u30C6\u30E0\u306E\u524A\u9664\u6642\u306B\u66F4\u65B0
RepositoryPreferencePage.RefreshManually=\u624B\u52D5\u3067\u66F4\u65B0
RepositoryPreferencePage.RefreshSaved=\u9805\u76EE\u306E\u4FDD\u5B58\u6642\u306B\u66F4\u65B0
RepositoryPreferencePage.RefreshSaved=\u30A2\u30A4\u30C6\u30E0\u306E\u4FDD\u5B58\u6642\u306B\u66F4\u65B0
RepositoryPreferencePage.RefreshTitle=\u30EA\u30DD\u30B8\u30C8\u30EA\u30FC\u3092\u66F4\u65B0
RepositoryReviewDialog.0=\u7121\u52B9\u306A\u5F15\u6570:{0}
RepositoryReviewDialog.jobNameFormat=\u30B8\u30E7\u30D6\u540D\u306E\u63A5\u982D\u8A9E\u3001\u3042\u308B\u3044\u306F\u30D1\u30BF\u30FC\u30F3(*\u3001?\u3001\u307E\u305F\u306Fcamel case)\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
@@ -641,14 +641,14 @@ VersionAuthorSection.versionLabel=\u30D0\u30FC\u30B8\u30E7\u30F3
VersionManagementDialog.ConfirmMessage=\u9078\u629E\u3055\u308C\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u3059\u3079\u3066\u30D0\u30FC\u30B8\u30E7\u30F3{0}\u306B\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u304B?
VersionManagementDialog.ConfirmTitle=\u78BA\u8A8D
VersionManagementDialog.DeletedTip=\u524A\u9664
VersionManagementDialog.EachVersion=\u5404\u9805\u76EE\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u3002
VersionManagementDialog.FixedVersion=\u9805\u76EE\u3092\u3059\u3079\u3066\u4E00\u5B9A\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5909\u66F4\u3057\u307E\u3059\u3002
VersionManagementDialog.Items=\u9805\u76EE
VersionManagementDialog.EachVersion=\u5404\u30A2\u30A4\u30C6\u30E0\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8\u3057\u307E\u3059\u3002
VersionManagementDialog.FixedVersion=\u30A2\u30A4\u30C6\u30E0\u3092\u3059\u3079\u3066\u4E00\u5B9A\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5909\u66F4\u3057\u307E\u3059\u3002
VersionManagementDialog.Items=\u30A2\u30A4\u30C6\u30E0
VersionManagementDialog.MajorVersionTip=\u30E1\u30B8\u30E3\u30FC\u30D0\u30FC\u30B8\u30E7\u30F3
VersionManagementDialog.MinorVersionTip=\u30DE\u30A4\u30CA\u30FC\u30D0\u30FC\u30B8\u30E7\u30F3
VersionManagementDialog.NewVersion=\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3
VersionManagementDialog.Options=\u30AA\u30D7\u30B7\u30E7\u30F3
VersionManagementDialog.RemoveTip=\u9805\u76EE\u3092\u524A\u9664
VersionManagementDialog.RemoveTip=\u30A2\u30A4\u30C6\u30E0\u3092\u524A\u9664
VersionManagementDialog.Revert=\u5143\u306B\u623B\u3059
VersionManagementDialog.RevertTip=\u30C6\u30FC\u30D6\u30EB\u3067\u9078\u629E\u3055\u308C\u305F\u9805\u76EE\u306E\u6700\u5927\u5024\u307E\u3067\u3001\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5143\u306B\u623B\u3059\u3002
VersionManagementDialog.Title=\u30D0\u30FC\u30B8\u30E7\u30F3\u7BA1\u7406
@@ -706,37 +706,37 @@ WebServiceUI.Operation=\u64CD\u4F5C:
WebServiceUI.Port=\u30DD\u30FC\u30C8\u540D:
WebServiceUI.ParameterTree=\u30D1\u30E9\u30E1\u30FC\u30BF\u30FC\u30C4\u30EA\u30FC
WebServiceUI.Remove_element=\u30A8\u30EC\u30E1\u30F3\u30C8\u3092\u524A\u9664
ImportItemAction.Label=\u9805\u76EE\u3092\u30A4\u30F3\u30DD\u30FC\u30C8
ImportItemUtil.itemLogException=\u4E0D\u5B8C\u5168\u306A\u30A4\u30F3\u30DD\u30FC\u30C8\u9805\u76EE{0}(\u79FB\u884C\u30BF\u30B9\u30AF{1}\u306E\u5931\u6557)
ImportItemUtil.itemLogWarn=\u4E0D\u5B8C\u5168\u306A\u30A4\u30F3\u30DD\u30FC\u30C8\u9805\u76EE{0}(\u79FB\u884C\u30BF\u30B9\u30AF{1}\u306E\u5931\u6557)
ImportItemAction.Label=\u30A2\u30A4\u30C6\u30E0\u3092\u30A4\u30F3\u30DD\u30FC\u30C8
ImportItemUtil.itemLogException=\u4E0D\u5B8C\u5168\u306A\u30A4\u30F3\u30DD\u30FC\u30C8\u30A2\u30A4\u30C6\u30E0{0}(\u79FB\u884C\u30BF\u30B9\u30AF{1}\u306E\u5931\u6557)
ImportItemUtil.itemLogWarn=\u4E0D\u5B8C\u5168\u306A\u30A4\u30F3\u30DD\u30FC\u30C8\u30A2\u30A4\u30C6\u30E0{0}(\u79FB\u884C\u30BF\u30B9\u30AF{1}\u306E\u5931\u6557)
ImportItemUtil.message=Cannot import item {0} -> unknown task(s) {1}
ImportItemUtil.persistenceException={0}\u306E\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059\u3002
ImportItemUtil.taskLogWarn=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u5185\u306B\u898B\u3064\u304B\u3063\u305F\u30BF\u30B9\u30AF{0}\u304C\u3082\u3046\u5B58\u5728\u3057\u307E\u305B\u3093!
ImportItemUtil.taskMonitor=\u30A2\u30A4\u30C6\u30E0{1}\u306B\u79FB\u884C\u30BF\u30B9\u30AF{0}\u3092\u9069\u7528
ImportItemUtil.tdqErrorInfor=TDQ\u9805\u76EE{0}\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093
ImportItemUtil.tdqErrorInfor=TDQ\u30A2\u30A4\u30C6\u30E0{0}\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093
ImportItemUtil.unknowException=\u672A\u77E5\u306E\u8A00\u8A9E: {0}
ImportItemWizardPage.0=\u6B21\u306E2\u3064\u306E\u9805\u76EE\u306FID\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002\u3044\u305A\u308C\u304B\u306E\u9078\u629E\u3092\u89E3\u9664\u3057\u3066\u304F\u3060\u3055\u3044: \n [{0}] [{1}]
ImportItemWizardPage.ItemsList=\u9805\u76EE\u30EA\u30B9\u30C8
ImportItemWizardPage.ImportDescription=\u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u3092\u6307\u5B9A\u3057\u3066\u9805\u76EE\u3092\u30A4\u30F3\u30DD\u30FC\u30C8
ImportItemWizardPage.0=\u6B21\u306E2\u3064\u306E\u30A2\u30A4\u30C6\u30E0\u306FID\u304C\u91CD\u8907\u3057\u3066\u3044\u307E\u3059\u3002\u3044\u305A\u308C\u304B\u306E\u9078\u629E\u3092\u89E3\u9664\u3057\u3066\u304F\u3060\u3055\u3044: \n [{0}] [{1}]
ImportItemWizardPage.ItemsList=\u30A2\u30A4\u30C6\u30E0\u30EA\u30B9\u30C8
ImportItemWizardPage.ImportDescription=\u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u3092\u6307\u5B9A\u3057\u3066\u30A2\u30A4\u30C6\u30E0\u3092\u30A4\u30F3\u30DD\u30FC\u30C8
ImportItemWizardPage.Importing=\u30A4\u30F3\u30DD\u30FC\u30C8
ImportItemWizardPage.ErrorsAndWarnings=\u30A8\u30E9\u30FC\u3068\u8B66\u544A
ImportItemWizardPage.NoValidItems=(\u73FE\u5728\u306E\u30BD\u30FC\u30B9\u5185\u306B\u6709\u52B9\u306A\u9805\u76EE\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093)
ImportItemWizardPage.NoValidItems=(\u73FE\u5728\u306E\u30BD\u30FC\u30B9\u5185\u306B\u6709\u52B9\u306A\u30A2\u30A4\u30C6\u30E0\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093)
ImportItemWizardPage.ErrorsOccured=\u9078\u629E\u3057\u305F\u9805\u76EE\u306E\u30A4\u30F3\u30DD\u30FC\u30C8\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F (\u30A8\u30E9\u30FC\u30ED\u30B0\u3092\u53C2\u7167)
ImportItemWizardPage.ImportSelectedItems=\u9078\u629E\u3057\u305F\u9805\u76EE\u3092\u30A4\u30F3\u30DD\u30FC\u30C8
ImportItemWizardPage.ImportSelectedItems=\u9078\u629E\u3057\u305F\u30A2\u30A4\u30C6\u30E0\u3092\u30A4\u30F3\u30DD\u30FC\u30C8
ImportItemWizardPage.ApplyMigrationTasks=\u79FB\u884C\u30BF\u30B9\u30AF\u3092\u9069\u7528
ImportItemWizardPage.browseTalend=BrowseTalendExchange
ImportItemWizardPage.overwriteButtonText=\u65E2\u5B58\u306E\u9805\u76EE\u3092\u4E0A\u66F8\u304D
ExportItemAction.Label=\u9805\u76EE\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8
ImportItemWizardPage.overwriteButtonText=\u65E2\u5B58\u306E\u30A2\u30A4\u30C6\u30E0\u3092\u4E0A\u66F8\u304D
ExportItemAction.Label=\u30A2\u30A4\u30C6\u30E0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8
ExportItemWizardPage.collapseBtnText=\u3059\u3079\u3066\u6298\u308A\u7573\u3080
ExportItemWizardPage.description=\u9805\u76EE\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002
ExportItemWizardPage.description=\u30A2\u30A4\u30C6\u30E0\u3092\u30A2\u30FC\u30AB\u30A4\u30D6\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306F\u30C7\u30A3\u30EC\u30AF\u30C8\u30EA\u30FC\u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002
ExportItemWizardPage.expandBtnText=\u3059\u3079\u3066\u5C55\u958B
ExportItemWizardPage.exportDependenciesText=\u4F9D\u5B58\u9805\u76EE\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8
ExportItemWizardPage.fileAlreadyExist=\u6CE8\u610F: \u3053\u306E\u30D5\u30A1\u30A4\u30EB\u304C\u65E2\u306B\u5B58\u5728\u3057\u307E\u3059\u3002\u4E0A\u66F8\u304D\u3057\u307E\u3059\u304B?
ExportItemWizardPage.labelText=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3059\u308B\u9805\u76EE\u3092\u9078\u629E:
ExportItemWizardPage.labelText=\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3059\u308B\u30A2\u30A4\u30C6\u30E0\u3092\u9078\u629E:
ExportItemWizardPage.waring=\u8B66\u544A
ReloadSystemRoutinesAction.logInfo.sysRoutinesSuccessfullyReloaded=\u30B7\u30B9\u30C6\u30E0\u30EB\u30FC\u30C1\u30F3\u304C\u6B63\u3057\u304F\u30EA\u30ED\u30FC\u30C9\u3055\u308C\u307E\u3057\u305F
StatusManagementDialog.FixedStatus=\u3059\u3079\u3066\u306E\u30C6\u30AF\u30CB\u30AB\u30EB\u30A2\u30A4\u30C6\u30E0\u3092\u4E00\u5B9A\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u306B\u5909\u66F4\u3057\u307E\u3059\u3002
StatusManagementDialog.EachStatus=\u5404\u9805\u76EE\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
StatusManagementDialog.EachStatus=\u5404\u30A2\u30A4\u30C6\u30E0\u306E\u30B9\u30C6\u30FC\u30BF\u30B9\u3092\u30A2\u30C3\u30D7\u30C7\u30FC\u30C8
StatusManagementDialog.FixedDocumentStatus=\u3059\u3079\u3066\u306E\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u9805\u76EE\u3092\u540C\u4E00\u30B9\u30C6\u30FC\u30BF\u30B9\u3078\u5909\u66F4
StatusManagementDialog.Status=\u30B9\u30C6\u30FC\u30BF\u30B9
StatusManagementDialog.NewStatus=\u65B0\u898F\u30B9\u30C6\u30FC\u30BF\u30B9
@@ -748,11 +748,11 @@ RuleOperationChoiceDialog.rule=\u30EB\u30FC\u30EB:
RuleOperationChoiceDialog.selectRulesFile=\u30D5\u30A1\u30A4\u30EB\u304B\u3089\u30EB\u30FC\u30EB\u3092\u9078\u629E
RuleOperationChoiceDialog.viewRules=\u30EB\u30FC\u30EB\u3092\u8868\u793A(\u8AAD\u307F\u53D6\u308A\u5C02\u7528)
RepositoryUtil.ProjectNotFound=\\:\u6307\u5B9A\u3055\u308C\u305F\u30D1\u30B9\u306B\u95A2\u9023\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30D5\u30A1\u30A4\u30EB\u306F\u3042\u308A\u307E\u305B\u3093
RepositoryUtil.idUsed= ID\u306F'{1}'\u5185\u306E\u9805\u76EE'{0}'\u306B\u3088\u3063\u3066\u65E2\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059
RepositoryUtil.isSystem= ID\u306F\u30B7\u30B9\u30C6\u30E0\u9805\u76EE\u3067\u3059
RepositoryUtil.nameUsed= \u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
RepositoryUtil.itemLocked= \u9805\u76EE\u304C\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u307E\u3059\u3002
RepositoryUtil.DifferentLanguage=: {1}\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B{0}\u9805\u76EE\u306E\u8FFD\u52A0\u3092\u8A66\u307F\u307E\u3059
RepositoryUtil.idUsed= ID\u306F'{1}'\u5185\u306E\u30A2\u30A4\u30C6\u30E0'{0}'\u306B\u3088\u3063\u3066\u65E2\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059
RepositoryUtil.isSystem= ID\u306F\u30B7\u30B9\u30C6\u30E0\u30A2\u30A4\u30C6\u30E0\u3067\u3059
RepositoryUtil.nameUsed= \u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
RepositoryUtil.itemLocked= \u30A2\u30A4\u30C6\u30E0\u304C\u30ED\u30C3\u30AF\u3055\u308C\u3066\u3044\u307E\u3059\u3002
RepositoryUtil.DifferentLanguage=: {1}\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B{0}\u30A2\u30A4\u30C6\u30E0\u306E\u8FFD\u52A0\u3092\u8A66\u307F\u307E\u3059
RepositoryUtil.DifferentVersion=\u30D0\u30FC\u30B8\u30E7\u30F3\u304C\u73FE\u5728\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3068\u7570\u306A\u308A\u307E\u3059
UseDynamicJobSelectionDialog.selectJob=\u30C0\u30A4\u30CA\u30DF\u30C3\u30AF\u30B8\u30E7\u30D6\u3092\u4F7F\u7528
UseDynamicJobSelectionDialog.selectJobShellText=\u30B8\u30E7\u30D6\u3092\u9078\u629E
@@ -768,7 +768,7 @@ PropertiesWizardPage.Author=\u4F5C\u6210\u8005
PropertiesWizardPage.Locker=\u30ED\u30C3\u30AF\u4FDD\u6301\u8005
PropertiesWizardPage.EmptyDescWarning=\u8AAC\u660E\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059\u3002
PropertiesWizardPage.EmptyPurposeWarning=\u76EE\u7684\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u5165\u529B\u3092\u63A8\u5968\u3057\u307E\u3059
PropertiesWizardPage.ItemExistsError=\u9805\u76EE\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.ItemExistsError=\u30A2\u30A4\u30C6\u30E0\u304C\u5B58\u5728\u3057\u307E\u3059\u3002\u3054\u307F\u7BB1\u3092\u78BA\u8A8D\u3057\u3066\u7A7A\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002
PropertiesWizardPage.KeywordsError=\u540D\u524D\u304C\u6709\u52B9\u306AID\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002
PropertiesWizardPage.NameEmptyError=\u540D\u524D\u304C\u7A7A\u3067\u3059\u3002
PropertiesWizardPage.NameFormatError=\u540D\u524D\u306B\u4E0D\u6B63\u306A\u6587\u5B57\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002

View File

@@ -6,7 +6,7 @@ RepositoryView_statusFilterDesc=\u4E00\u822C\u30B9\u30C6\u30FC\u30BF\u30B9\u30D5
RepositoryView_usersFilter=\u30E6\u30FC\u30B6\u30FC\u30D5\u30A3\u30EB\u30BF\u30FC
RepositoryView_usersFilterDesc=\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\u30D5\u30A3\u30EB\u30BF\u30FC
RepositoryView_nameFilter=\u540D\u524D\u30D5\u30A3\u30EB\u30BF\u30FC
RepositoryView_nameFilterDesc=\u5171\u901A\u540D\u30D5\u30A3\u30EB\u30BF\u30FC
RepositoryView_nameFilterDesc=\u4E00\u822C\u540D\u524D\u30D5\u30A3\u30EB\u30BF\u30FC
RepositoryView_Refresh=\u66F4\u65B0
RepositoryView_commonFilter=\u4E00\u822C\u30D5\u30A3\u30EB\u30BF\u30FC
RepositoryView_Setup=\u53C2\u7167\u8A2D\u5B9A

View File

@@ -34,7 +34,7 @@ public class SSOClientInstaller {
private final String INSTALL_FILE_NAME = "TalendSignTool.zip";
private final String version = "8.0.1.202211131253";
private final String version = "8.0.1.202210131253";
private static final SSOClientInstaller instance = new SSOClientInstaller();
@@ -57,11 +57,11 @@ public class SSOClientInstaller {
}
public void install() throws Exception {
File sourceFile = getInstallationFile();
File sourceFile = getInstallFile();
if (!sourceFile.exists()) {
LOGGER.error("Can't find installation file:" + sourceFile.getAbsolutePath());
LOGGER.error("Can't find install file:" + sourceFile.getAbsolutePath());
}
File targetFolder = getInstallationDir();
File targetFolder = getInstallDir();
if (targetFolder.exists()) {
FilesUtils.deleteFolder(targetFolder, true);
LOGGER.info("Deleted target folder:" + targetFolder.getAbsolutePath());
@@ -102,15 +102,15 @@ public class SSOClientInstaller {
}
private File getEclipseProductFile() throws URISyntaxException {
File eclipseproductFile = new File(getInstallationDir(), ".eclipseproduct");//$NON-NLS-1$
File eclipseproductFile = new File(getInstallDir(), ".eclipseproduct");//$NON-NLS-1$
return eclipseproductFile;
}
protected File getInstallationDir() {
protected File getInstallDir() {
return SSOClientUtil.getSSOClientFolder();
}
protected File getInstallationFile() throws IOException {
protected File getInstallFile() throws IOException {
BundleContext context = EquinoxUtils.getCurrentBundleContext();
Bundle[] bundles = context.getBundles();
Bundle bundle = null;

View File

@@ -1,32 +0,0 @@
theme.default=Talend\u306E\u30C7\u30D5\u30A9\u30EB\u30C8\u30C6\u30FC\u30DE
theme.dark=Talend\u306E\u5B9F\u9A13\u7684\u30C0\u30FC\u30AF\u30C6\u30FC\u30DE
#New theme element definitions
DARK_BACKGROUND=\u6697\u3044\u80CC\u666F\u8272
DARK_FOREGROUND=\u6697\u3044\u524D\u666F\u8272
INACTIVE_UNSELECTED_TABS_COLOR_START=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u90E8\u5206\u306E\u8272\u306E\u958B\u59CB
INACTIVE_UNSELECTED_TABS_COLOR_START=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u90E8\u5206\u306E\u8272\u306E\u958B\u59CB
INACTIVE_UNSELECTED_TABS_COLOR_END=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u90E8\u5206\u306E\u8272\u306E\u7D42\u4E86
INACTIVE_TAB_TEXT_COLOR=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u90E8\u5206\u30C6\u30AD\u30B9\u30C8\u306E\u8272
INACTIVE_TAB_OUTER_KEYLINE_COLOR=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u90E8\u5206\u5916\u90E8\u30AD\u30FC\u30E9\u30A4\u30F3\u306E\u8272
INACTIVE_TAB_INNER_KEYLINE_COLOR=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u90E8\u5206\u5185\u90E8\u30AD\u30FC\u30E9\u30A4\u30F3\u306E\u8272
INACTIVE_TAB_OUTLINE_COLOR=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u90E8\u5206\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u306E\u8272
ACTIVE_UNSELECTED_TABS_COLOR_START=\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u90E8\u5206\u306E\u8272\u306E\u958B\u59CB
ACTIVE_UNSELECTED_TABS_COLOR_END=\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u90E8\u5206\u306E\u8272\u306E\u7D42\u4E86
ACTIVE_TAB_TEXT_COLOR=\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u90E8\u5206\u30C6\u30AD\u30B9\u30C8\u306E\u8272
ACTIVE_TAB_OUTER_KEYLINE_COLOR=\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u90E8\u5206\u5916\u90E8\u30AD\u30FC\u30E9\u30A4\u30F3\u306E\u8272
ACTIVE_TAB_INNER_KEYLINE_COLOR=\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u90E8\u5206\u5185\u90E8\u30AD\u30FC\u30E9\u30A4\u30F3\u306E\u8272
ACTIVE_TAB_OUTLINE_COLOR=\u30A2\u30AF\u30C6\u30A3\u30D6\u306A\u90E8\u5206\u30A2\u30A6\u30C8\u30E9\u30A4\u30F3\u306E\u8272
INACTIVE_TAB_BG_START=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u80CC\u666F\u306E\u958B\u59CB
INACTIVE_TAB_BG_END=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u80CC\u666F\u306E\u7D42\u4E86
INACTIVE_TAB_UNSELECTED_TEXT_COLOR=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u90E8\u5206\u524D\u666F
INACTIVE_TAB_SELECTED_TEXT_COLOR=\u975E\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u524D\u666F
ACTIVE_TAB_BG_START=\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u80CC\u666F\u306E\u958B\u59CB
ACTIVE_TAB_BG_END=\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u80CC\u666F\u306E\u7D42\u4E86
ACTIVE_TAB_UNSELECTED_TEXT_COLOR=\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u306A\u3044\u90E8\u5206\u524D\u666F
ACTIVE_TAB_SELECTED_TEXT_COLOR=\u30A2\u30AF\u30C6\u30A3\u30D6\u3067\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u524D\u666F
ACTIVE_NOFOCUS_TAB_TEXT_COLOR=\u30A2\u30AF\u30C6\u30A3\u30D6(\u30D5\u30A9\u30FC\u30AB\u30B9\u306A\u3057)\u306A\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u30C6\u30AD\u30B9\u30C8\u306E\u8272
ACTIVE_NOFOCUS_TAB_BG_START=\u30A2\u30AF\u30C6\u30A3\u30D6(\u30D5\u30A9\u30FC\u30AB\u30B9\u306A\u3057)\u306A\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u80CC\u666F\u306E\u958B\u59CB
ACTIVE_NOFOCUS_TAB_BG_END=\u30A2\u30AF\u30C6\u30A3\u30D6(\u30D5\u30A9\u30FC\u30AB\u30B9\u306A\u3057)\u306A\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u80CC\u666F\u306E\u7D42\u4E86
ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR=\u30A2\u30AF\u30C6\u30A3\u30D6(\u30D5\u30A9\u30FC\u30AB\u30B9\u306A\u3057)\u306A\u9078\u629E\u3055\u308C\u3066\u3044\u308B\u90E8\u5206\u524D\u666F
LINK_COLOR=\u30EA\u30F3\u30AF\u306E\u8272

View File

@@ -1,32 +0,0 @@
theme.default=Talend \u9ED8\u8BA4\u4E3B\u9898
theme.dark=Talend \u5B9E\u9A8C\u6DF1\u8272\u4E3B\u9898
#New theme element definitions
DARK_BACKGROUND=\u6DF1\u8272\u80CC\u666F\u8272
DARK_FOREGROUND=\u6DF1\u8272\u524D\u666F\u8272
INACTIVE_UNSELECTED_TABS_COLOR_START=\u975E\u6D3B\u52A8\u3001\u672A\u9009\u90E8\u5206\u989C\u8272\u5F00\u59CB
INACTIVE_UNSELECTED_TABS_COLOR_START=\u975E\u6D3B\u52A8\u3001\u672A\u9009\u90E8\u5206\u989C\u8272\u5F00\u59CB
INACTIVE_UNSELECTED_TABS_COLOR_END=\u975E\u6D3B\u52A8\u3001\u672A\u9009\u90E8\u5206\u989C\u8272\u7ED3\u675F
INACTIVE_TAB_TEXT_COLOR=\u975E\u6D3B\u52A8\u90E8\u5206\u6587\u672C\u989C\u8272
INACTIVE_TAB_OUTER_KEYLINE_COLOR=\u975E\u6D3B\u52A8\u90E8\u5206\u5916\u4E3B\u7EBF\u989C\u8272
INACTIVE_TAB_INNER_KEYLINE_COLOR=\u975E\u6D3B\u52A8\u90E8\u5206\u5185\u4E3B\u7EBF\u989C\u8272
INACTIVE_TAB_OUTLINE_COLOR=\u975E\u6D3B\u52A8\u90E8\u5206\u7565\u56FE\u989C\u8272
ACTIVE_UNSELECTED_TABS_COLOR_START=\u6D3B\u52A8\u3001\u672A\u9009\u90E8\u5206\u989C\u8272\u5F00\u59CB
ACTIVE_UNSELECTED_TABS_COLOR_END=\u6D3B\u52A8\u3001\u672A\u9009\u90E8\u5206\u989C\u8272\u7ED3\u675F
ACTIVE_TAB_TEXT_COLOR=\u6D3B\u52A8\u90E8\u5206\u6587\u672C\u989C\u8272
ACTIVE_TAB_OUTER_KEYLINE_COLOR=\u6D3B\u52A8\u90E8\u5206\u5916\u4E3B\u7EBF\u989C\u8272
ACTIVE_TAB_INNER_KEYLINE_COLOR=\u6D3B\u52A8\u90E8\u5206\u5185\u4E3B\u7EBF\u989C\u8272
ACTIVE_TAB_OUTLINE_COLOR=\u6D3B\u52A8\u90E8\u5206\u7565\u56FE\u989C\u8272
INACTIVE_TAB_BG_START=\u975E\u6D3B\u52A8\u3001\u88AB\u9009\u90E8\u5206\u80CC\u666F\u5F00\u59CB
INACTIVE_TAB_BG_END=\u975E\u6D3B\u52A8\u3001\u88AB\u9009\u90E8\u5206\u80CC\u666F\u7ED3\u675F
INACTIVE_TAB_UNSELECTED_TEXT_COLOR=\u975E\u6D3B\u52A8\u3001\u672A\u9009\u90E8\u5206\u524D\u666F
INACTIVE_TAB_SELECTED_TEXT_COLOR=\u975E\u6D3B\u52A8\u3001\u88AB\u9009\u90E8\u5206\u524D\u666F
ACTIVE_TAB_BG_START=\u6D3B\u52A8\u3001\u88AB\u9009\u90E8\u5206\u80CC\u666F\u5F00\u59CB
ACTIVE_TAB_BG_END=\u6D3B\u52A8\u3001\u88AB\u9009\u90E8\u5206\u80CC\u666F\u7ED3\u675F
ACTIVE_TAB_UNSELECTED_TEXT_COLOR=\u6D3B\u52A8\u3001\u672A\u9009\u90E8\u5206\u524D\u666F
ACTIVE_TAB_SELECTED_TEXT_COLOR=\u6D3B\u52A8\u3001\u88AB\u9009\u90E8\u5206\u524D\u666F
ACTIVE_NOFOCUS_TAB_TEXT_COLOR=\u6D3B\u52A8 (\u65E0\u7126\u70B9)\u3001\u88AB\u9009\u90E8\u5206\u6587\u672C\u989C\u8272
ACTIVE_NOFOCUS_TAB_BG_START=\u6D3B\u52A8 (\u65E0\u7126\u70B9)\u3001\u88AB\u9009\u90E8\u5206\u80CC\u666F\u5F00\u59CB
ACTIVE_NOFOCUS_TAB_BG_END=\u6D3B\u52A8 (\u65E0\u7126\u70B9)\u3001\u88AB\u9009\u90E8\u5206\u80CC\u666F\u7ED3\u675F
ACTIVE_NOFOCUS_TAB_SELECTED_TEXT_COLOR=\u6D3B\u52A8 (\u65E0\u7126\u70B9)\u3001\u88AB\u9009\u90E8\u5206\u524D\u666F
LINK_COLOR=\u94FE\u63A5\u989C\u8272

View File

@@ -42,24 +42,6 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<dependencies>
<dependency>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-sec-dispatcher</artifactId>
<version>1.3</version>
<exclusions>
<exclusion>
<groupId>org.sonatype.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-cipher</artifactId>
<version>1.8</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>

View File

@@ -5,7 +5,6 @@ Bundle-SymbolicName: org.talend.core.runtime.test;singleton:=true
Bundle-Version: 8.0.1.qualifier
Fragment-Host: org.talend.core.runtime
Require-Bundle: org.junit;bundle-version="4.11.0",
org.apache.commons.io,
org.talend.utils,
org.talend.testutils,
org.talend.components.common,

View File

@@ -24,7 +24,7 @@ public class ResolverExceptionHandlerTest {
public void testHideCredential() {
String credencialStr1 = "talend-custom-libs-admin:talend-custom-libs-admin@";
String credencialStr2 = "studio-dl-client:studio-dl-client@";
String message = "Error resolving artifact org.slf4j:jcl-over-slf4j:pom:1.7.34: [Could not find artifact org.slf4j:jcl-over-slf4j:pom:1.7.34 in talend-custom-libs-release (http://talend-custom-libs-admin:talend-custom-libs-admin@localhost:8083/repository/talend-custom-libs-release/), Could not transfer artifact org.slf4j:jcl-over-slf4j:pom:1.7.34 from/to repo_-1349825302 (https://studio-dl-client:studio-dl-client@talend-update.talend.com/nexus/content/groups/dynamicdistribution/): No such host is known (talend-update.talend.com)]";
String message = "Error resolving artifact org.slf4j:jcl-over-slf4j:pom:1.7.25: [Could not find artifact org.slf4j:jcl-over-slf4j:pom:1.7.25 in talend-custom-libs-release (http://talend-custom-libs-admin:talend-custom-libs-admin@localhost:8083/repository/talend-custom-libs-release/), Could not transfer artifact org.slf4j:jcl-over-slf4j:pom:1.7.25 from/to repo_-1349825302 (https://studio-dl-client:studio-dl-client@talend-update.talend.com/nexus/content/groups/dynamicdistribution/): No such host is known (talend-update.talend.com)]";
IOException cause = new IOException(message);
IOException e = new IOException(message, cause);
IOException cleanException = ResolverExceptionHandler.hideCredential(e);

View File

@@ -1,46 +0,0 @@
// ============================================================================
//
// Copyright (C) 2006-2022 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.core.runtime.util;
import static org.junit.Assert.fail;
import java.util.Properties;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
public class ModuleAccessHelperTest {
@Test
public void testModulePattern() throws Exception {
Properties prop = ModuleAccessHelper.getProperties();
prop.entrySet().stream().filter(en -> StringUtils.isNotBlank((String) en.getValue())).forEach(en -> {
String value = (String) en.getValue();
for (String module : value.split(",")) {
if (module.trim().isEmpty() || module.contains(" ")) {
fail("module:[" + module + "] in " + value + " is invalid!");
}
}
});
}
@Test
public void testEmptyFirstLine() throws Exception {
String content = IOUtils.toString(ModuleAccessHelper.getConfigFileURL().toURI(), "UTF-8");
if (!content.startsWith("\n") && !content.startsWith("\r\n")) {
fail("module_access.properties: Must keep first line Empty!");
}
}
}

View File

@@ -162,7 +162,7 @@ public class ProcessorUtilitiesTest {
private void initChildrenJobModules(final JobInfo childJobInfo) {
Set<ModuleNeeded> subjobModules = new HashSet<ModuleNeeded>();
subjobModules.add(new ModuleNeeded("ABC", "", true, "mvn:org.talend.libraries/slf4j-log4j12-1.7.34/6.0.0"));
subjobModules.add(new ModuleNeeded("ABC", "", true, "mvn:org.talend.libraries/slf4j-log4j12-1.7.2/6.0.0"));
generationInfo.setModulesNeededWithSubjobPerJob(childJobInfo.getJobId(), childJobInfo.getJobVersion(), subjobModules);
generationInfo.setRoutinesNeededWithSubjobPerJob(childJobInfo.getJobId(), childJobInfo.getJobVersion(),
new HashSet<String>(Arrays.asList(new String[] { "core-1.0.jar", "abc_2.1.jar" })));
@@ -174,8 +174,8 @@ public class ProcessorUtilitiesTest {
assertEquals(1, modules.size());
final ModuleNeeded module1 = modules.iterator().next();
assertEquals("ABC", module1.getContext());
assertEquals("slf4j-log4j12-1.7.34.jar", module1.getModuleName());
assertEquals("mvn:org.talend.libraries/slf4j-log4j12-1.7.34/6.0.0/jar", module1.getMavenUri());
assertEquals("slf4j-log4j12-1.7.2.jar", module1.getModuleName());
assertEquals("mvn:org.talend.libraries/slf4j-log4j12-1.7.2/6.0.0/jar", module1.getMavenUri());
assertTrue(module1.isRequired());
final Set<String> routineModules = generationInfo.getRoutinesNeededWithSubjobPerJob(jobInfo.getJobId(),

View File

@@ -16,7 +16,6 @@ import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import org.eclipse.core.resources.IProject;
@@ -42,7 +41,6 @@ import org.talend.core.model.properties.ItemRelations;
import org.talend.core.model.properties.ProcessItem;
import org.talend.core.model.properties.PropertiesFactory;
import org.talend.core.model.properties.Property;
import org.talend.core.model.properties.RoutineItem;
import org.talend.core.model.properties.User;
import org.talend.core.model.properties.impl.PropertiesFactoryImpl;
import org.talend.core.model.relationship.Relation;
@@ -95,10 +93,8 @@ public class ImportDependencyRelationsHelperTest {
allImportItemNodesList.add(importNode);
propertyList.add(property);
}
// test0 --> test1 --> test2
createRelations(propertyList);
Property property2 = propertyList.get(2);
// label test2 version 0.7
Property property3 = PropertiesFactory.eINSTANCE.createProperty();
property3.setId(property2.getId());
property3.setLabel(property2.getLabel());
@@ -112,34 +108,6 @@ public class ImportDependencyRelationsHelperTest {
projectNode.addChild(importNode);
allImportItemNodesList.add(importNode);
propertyList.add(property3);
Property routineProperty = PropertiesFactory.eINSTANCE.createProperty();
routineProperty.setId(ProxyRepositoryFactory.getInstance().getNextId());
routineProperty.setLabel("testRoutine");
routineProperty.setVersion("0.1");
RoutineItem routineItem = PropertiesFactory.eINSTANCE.createRoutineItem();
routineProperty.setItem(routineItem);
ImportItem routineItemRecord = new ImportItem(new Path(fakePath + "/" + technicalLabel + "/code/routines"
+ routineProperty.getLabel() + "_" + routineProperty.getVersion() + ".item"));
routineItemRecord.setProperty(routineProperty);
ItemImportNode routineImportNode = new ItemImportNode(routineItemRecord);
projectNode.addChild(routineImportNode);
allImportItemNodesList.add(routineImportNode);
propertyList.add(routineProperty);
Property routineProperty1 = PropertiesFactory.eINSTANCE.createProperty();
routineProperty1.setId(routineProperty.getId());
routineProperty1.setLabel("testRoutine");
routineProperty1.setVersion("0.7");
RoutineItem routineItem1 = PropertiesFactory.eINSTANCE.createRoutineItem();
routineProperty1.setItem(routineItem1);
ImportItem routineItemRecord1 = new ImportItem(new Path(fakePath + "/" + technicalLabel + "/code/routines"
+ routineProperty1.getLabel() + "_" + routineProperty1.getVersion() + ".item"));
routineItemRecord1.setProperty(routineProperty1);
ItemImportNode routineImportNode1 = new ItemImportNode(routineItemRecord1);
projectNode.addChild(routineImportNode1);
allImportItemNodesList.add(routineImportNode1);
propertyList.add(routineProperty1);
ImportCacheHelper.getInstance().getPathWithProjects().put(fakeProjectPath, project.getEmfProject());
}
@@ -163,35 +131,7 @@ public class ImportDependencyRelationsHelperTest {
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 3);
Map<Relation, Set<Relation>> importItemsRelations = helperInstance.getImportItemsRelations(fakeProjectPath);
Property jobProperty = propertyList.get(3);
Relation baseRelation = new Relation();
baseRelation.setId(jobProperty.getId());
baseRelation.setType(RelationshipItemBuilder.JOB_RELATION);
baseRelation.setVersion(jobProperty.getVersion());
Relation relatedRelation = new Relation();
relatedRelation.setId(propertyList.get(4).getLabel());
relatedRelation.setType(RelationshipItemBuilder.ROUTINE_RELATION);
relatedRelation.setVersion(RelationshipItemBuilder.LATEST_VERSION);
Set<Relation> relationSet = new HashSet<Relation>();
relationSet.add(relatedRelation);
importItemsRelations.put(baseRelation, relationSet);
toSelectSet.clear();
toSelectSet.add(allImportItemNodesList.get(0));
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 4);
}
@Test
public void checkImportRelationWithLoopDependency() {
helperInstance.clear();
helperInstance.loadRelations(fakeProjectPath, project.getEmfProject().getItemsRelations());
Set<ItemImportNode> toSelectSet = new HashSet<ItemImportNode>();
List<ItemImportNode> checkedNodeList = new ArrayList<ItemImportNode>();
checkedNodeList.add(allImportItemNodesList.get(0));
toSelectSet.add(allImportItemNodesList.get(0));
// to test loop dependency test0 --> test1 --> test2 --> test0
// to test loop dependency
Map<Relation, Set<Relation>> importItemsRelations = helperInstance.getImportItemsRelations(fakeProjectPath);
Property property3 = propertyList.get(3);
Relation baseRelation = new Relation();
@@ -205,87 +145,20 @@ public class ImportDependencyRelationsHelperTest {
Set<Relation> relationSet = new HashSet<Relation>();
relationSet.add(relatedRelation);
importItemsRelations.put(baseRelation, relationSet);
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 3);
}
@Test
public void checkImportRelationDependencyWithMultiVersion() {
helperInstance.clear();
helperInstance.loadRelations(fakeProjectPath, project.getEmfProject().getItemsRelations());
Set<ItemImportNode> toSelectSet = new HashSet<ItemImportNode>();
List<ItemImportNode> checkedNodeList = new ArrayList<ItemImportNode>();
// test1 --> test2 latest (0.7)
// test1 --> test2 0.1
Relation relatedRelation = new Relation();
relatedRelation.setId(propertyList.get(3).getId());
relatedRelation.setType(RelationshipItemBuilder.JOB_RELATION);
relatedRelation.setVersion("0.1");
Map<Relation, Set<Relation>> importItemsRelations = helperInstance.getImportItemsRelations(fakeProjectPath);
String test1_id = propertyList.get(1).getId();
Optional<Relation> optional = importItemsRelations.keySet().stream().filter(relation -> relation.getId().equals(test1_id))
.findFirst();
Assert.assertTrue(optional.isPresent());
importItemsRelations.get(optional.get()).add(relatedRelation);
checkedNodeList.add(allImportItemNodesList.get(1));
toSelectSet.add(allImportItemNodesList.get(1));
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 3);
toSelectSet.clear();
checkedNodeList.add(allImportItemNodesList.get(0));
toSelectSet.add(allImportItemNodesList.get(0));
helperInstance.checkImportRelationDependency(checkedNodeList, toSelectSet, allImportItemNodesList);
Assert.assertTrue(toSelectSet.size() == 4);
}
@Test
public void testGetItemImportNodeByIdVersion() {
ItemImportNode theVersionNode = helperInstance.getItemImportNodeByIdVersion(propertyList.get(2).getId(), "0.1", null,
allImportItemNodesList, false);
Property imporRecordProperty = theVersionNode.getItemRecord().getProperty();
Property property3 = propertyList.get(3);
Assert.assertEquals(property3.getId(), imporRecordProperty.getId());
Assert.assertEquals("0.1", imporRecordProperty.getVersion());
theVersionNode = helperInstance.getItemImportNodeByIdVersion(propertyList.get(2).getId(), "0.7", null,
allImportItemNodesList, false);
imporRecordProperty = theVersionNode.getItemRecord().getProperty();
Assert.assertEquals(property3.getId(), imporRecordProperty.getId());
Assert.assertEquals("0.7", imporRecordProperty.getVersion());
Property routineProperty = propertyList.get(4);
ItemImportNode routineImportNode = helperInstance.getItemImportNodeByIdVersion(routineProperty.getLabel(), "0.1", null,
allImportItemNodesList, true);
Property routineImportProperty = routineImportNode.getItemRecord().getProperty();
Assert.assertEquals(routineProperty.getId(), routineImportProperty.getId());
Assert.assertEquals(routineProperty.getLabel(), routineImportProperty.getLabel());
Assert.assertEquals("0.1", routineImportProperty.getVersion());
routineImportNode = helperInstance.getItemImportNodeByIdVersion(routineProperty.getLabel(), "0.7", null,
allImportItemNodesList, true);
routineImportProperty = routineImportNode.getItemRecord().getProperty();
Assert.assertEquals(routineProperty.getId(), routineImportProperty.getId());
Assert.assertEquals(routineProperty.getLabel(), routineImportProperty.getLabel());
Assert.assertEquals("0.7", routineImportProperty.getVersion());
Assert.assertTrue(toSelectSet.size() == 3);
}
@Test
public void testGetLatestVersionItemImportNode() {
ItemImportNode latestVersionNode = helperInstance.getLatestVersionItemImportNode(propertyList.get(2).getId(),
null, allImportItemNodesList, false);
null, allImportItemNodesList);
Property latestVersionProperty = latestVersionNode.getItemRecord().getProperty();
Property property3 = propertyList.get(3);
Assert.assertEquals(latestVersionProperty.getId(), property3.getId());
Assert.assertEquals(latestVersionProperty.getVersion(), property3.getVersion());
ItemImportNode latestRoutineNode = helperInstance.getLatestVersionItemImportNode(propertyList.get(4).getLabel(), null,
allImportItemNodesList, true);
Property latestRoutineProperty = latestRoutineNode.getItemRecord().getProperty();
Property property5 = propertyList.get(5);
Assert.assertEquals(latestRoutineProperty.getId(), property5.getId());
Assert.assertEquals(latestRoutineProperty.getLabel(), property5.getLabel());
Assert.assertEquals(latestRoutineProperty.getVersion(), property5.getVersion());
}
private void createRelations(List<Property> propertyList) {