diff --git a/main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/model/process/ProcessUtils.java b/main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/model/process/ProcessUtils.java index 9ab1a40b99..80bb2ac714 100644 --- a/main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/model/process/ProcessUtils.java +++ b/main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/model/process/ProcessUtils.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.Map; import org.apache.commons.lang.StringUtils; +import org.eclipse.emf.common.util.EList; import org.talend.commons.exception.ExceptionHandler; import org.talend.commons.exception.PersistenceException; import org.talend.commons.utils.VersionUtils; @@ -53,6 +54,7 @@ import org.talend.core.utils.BitwiseOptionUtils; import org.talend.designer.core.IDesignerCoreService; import org.talend.designer.core.model.utils.emf.talendfile.ContextParameterType; import org.talend.designer.core.model.utils.emf.talendfile.ContextType; +import org.talend.designer.core.model.utils.emf.talendfile.ElementParameterType; import org.talend.designer.core.model.utils.emf.talendfile.MetadataType; import org.talend.designer.core.model.utils.emf.talendfile.NodeType; import org.talend.designer.core.model.utils.emf.talendfile.ProcessType; @@ -1016,4 +1018,33 @@ public final class ProcessUtils { public static String escapeJava(String input) { return StringEscapeUtils.escapeJava(input); } + + public static boolean hasJettyEndpoint(ProcessType process) { + + EList nodesList = process.getNode(); + + boolean hasJettyEndpoint = hasJettyEndpoint(nodesList); + + return hasJettyEndpoint; + } + + private static boolean hasJettyEndpoint(EList nodesList) { + for (NodeType node : nodesList) { + if ("cMessagingEndpoint".equals(node.getComponentName())) { + for (Object elementParameter : node.getElementParameter()) { + ElementParameterType elementParameterType = (ElementParameterType)elementParameter; + + String name = elementParameterType.getName(); + String value = elementParameterType.getValue(); + + if ("URI".equals(name) && (value != null && StringUtils.startsWith(value.trim(), "\"jetty:"))) { + return true; + } + } + } + } + + return false; + } + } diff --git a/main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/runtime/process/TalendProcessArgumentConstant.java b/main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/runtime/process/TalendProcessArgumentConstant.java index ec4ffc64a2..771e525edc 100644 --- a/main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/runtime/process/TalendProcessArgumentConstant.java +++ b/main/plugins/org.talend.core.runtime/src/main/java/org/talend/core/runtime/process/TalendProcessArgumentConstant.java @@ -52,6 +52,8 @@ public interface TalendProcessArgumentConstant { static final String ARG_NEED_RULES = "NEED_RULES"; + static final String ARG_NEED_JETTY_SERVER = "NEED_JETTY_SERVER"; + static final String ARG_ENABLE_WATCH = "ENABLE_WATCH"; static final String ARG_NEED_PIGUDFS = "NEED_PIGUDFS";