Search in sources :

Example 31 with Namespace

use of com.google.cloud.servicedirectory.v1.Namespace in project maven-archetype by apache.

the class XMLOutputter method printAdditionalNamespaces.

private void printAdditionalNamespaces(Writer out, Element element, NamespaceStack namespaces) throws IOException {
    List<?> list = element.getAdditionalNamespaces();
    if (list != null) {
        for (int i = 0; i < list.size(); i++) {
            Namespace additional = (Namespace) list.get(i);
            printNamespace(out, additional, namespaces);
        }
    }
}
Also used : Namespace(org.jdom2.Namespace)

Example 32 with Namespace

use of com.google.cloud.servicedirectory.v1.Namespace in project JMRI by JMRI.

the class LocaleSelectorTest method testFindPartialCode.

public void testFindPartialCode() {
    LocaleSelector.suffixes = new String[] { "kl_KL", "kl" };
    Namespace xml = Namespace.XML_NAMESPACE;
    Element el = new Element("foo").setAttribute("temp", "a").addContent(new Element("temp").setAttribute("lang", "aa_BB", xml).addContent("b")).addContent(new Element("temp").setAttribute("lang", "kl", xml).addContent("c")).addContent(new Element("temp").setAttribute("lang", "kl_AA", xml).addContent("d"));
    String result = LocaleSelector.getAttribute(el, "temp");
    Assert.assertEquals("find default", "c", result);
}
Also used : Element(org.jdom2.Element) Namespace(org.jdom2.Namespace)

Example 33 with Namespace

use of com.google.cloud.servicedirectory.v1.Namespace in project JMRI by JMRI.

the class LocaleSelectorTest method testFindFullCode.

public void testFindFullCode() {
    LocaleSelector.suffixes = new String[] { "kl_KL", "kl" };
    Namespace xml = Namespace.XML_NAMESPACE;
    Element el = new Element("foo").setAttribute("temp", "a").addContent(new Element("temp").setAttribute("lang", "aa_BB", xml).addContent("b")).addContent(new Element("temp").setAttribute("lang", "kl", xml).addContent("b")).addContent(new Element("temp").setAttribute("lang", "kl_KL", xml).addContent("c"));
    String result = LocaleSelector.getAttribute(el, "temp");
    Assert.assertEquals("find default", "c", result);
}
Also used : Element(org.jdom2.Element) Namespace(org.jdom2.Namespace)

Example 34 with Namespace

use of com.google.cloud.servicedirectory.v1.Namespace in project JMRI by JMRI.

the class RevHistoryXml method loadRevision.

static void loadRevision(RevHistory r, Element e) {
    Element s;
    Namespace n = Namespace.getNamespace(NAMESPACE);
    int revnumber = 0;
    s = e.getChild("revnumber", n);
    if (s != null) {
        String c = s.getText();
        revnumber = Integer.parseInt(c);
    }
    String date = null;
    s = e.getChild("date", n);
    if (s != null) {
        date = s.getText();
    }
    String authorinitials = null;
    s = e.getChild("authorinitials", n);
    if (s != null) {
        authorinitials = s.getText();
    }
    String revremark = null;
    s = e.getChild("revremark", n);
    if (s != null) {
        revremark = s.getText();
    }
    r.addRevision(revnumber, date, authorinitials, revremark);
}
Also used : Element(org.jdom2.Element) Namespace(org.jdom2.Namespace)

Example 35 with Namespace

use of com.google.cloud.servicedirectory.v1.Namespace in project scylla by bptlab.

the class ProcessModelParser method parseExtensions.

private Map<Integer, BatchActivity> parseExtensions(Element el, Namespace bpmnNamespace, Integer nodeId, Map<Integer, BatchActivity> batchActivities) throws ScyllaValidationException {
    // Check that only elements with extensions get parsed
    if (el.getChild("extensionElements", bpmnNamespace) == null)
        return batchActivities;
    String id = el.getAttributeValue("id");
    Namespace camundaNamespace = Namespace.getNamespace("camunda", "http://camunda.org/schema/1.0/bpmn");
    List<Namespace> namespaces = Arrays.asList(camundaNamespace, bpmnNamespace);
    Predicate<Namespace> isOneOfUsedNamespaces = namespace -> el.getChild("extensionElements", bpmnNamespace).getChild("properties", namespace) == null;
    if (namespaces.stream().allMatch(isOneOfUsedNamespaces))
        return batchActivities;
    Integer maxBatchSize = null;
    BatchClusterExecutionType executionType = BatchClusterExecutionType.PARALLEL;
    ActivationRule activationRule = null;
    List<String> groupingCharacteristic = new ArrayList<String>();
    for (Namespace namespace : namespaces) {
        if (el.getChild("extensionElements", bpmnNamespace).getChild("properties", namespace) == null)
            continue;
        List<Element> propertiesList = el.getChild("extensionElements", bpmnNamespace).getChild("properties", namespace).getChildren("property", namespace);
        for (Element property : propertiesList) {
            // maximum batch size
            switch(property.getAttributeValue("name")) {
                case "maxBatchSize":
                    maxBatchSize = Integer.parseInt(property.getAttributeValue("value"));
                    break;
                // execution type. if none is defined, take parallel as default
                case "executionType":
                    String tmpExecutionType = property.getAttributeValue("value");
                    /*if (!(tmpExecutionType.equals("parallel") || tmpExecutionType.equals("sequential-taskbased") || tmpExecutionType.equals("sequential-casebased"))){
                            throw new ScyllaValidationException("Execution type " + tmpExecutionType + " not supported. Pleause us either parallel or sequential (either task or case-based)");
                        }
                        BatchClusterExecutionType bce = BatchClusterExecutionType.PARALLEL;
                        executionType = property.getAttributeValue("value");*/
                    switch(property.getAttributeValue("value")) {
                        case "parallel":
                            executionType = BatchClusterExecutionType.PARALLEL;
                        case "sequential-taskbased":
                            executionType = BatchClusterExecutionType.SEQUENTIAL_TASKBASED;
                        case "sequential-casebased":
                            executionType = BatchClusterExecutionType.SEQUENTIAL_CASEBASED;
                    }
                    break;
                // grouping characteristic
                case "groupingCharacteristic":
                    List<Element> groupings = property.getChildren("property", namespace);
                    for (Element grouping : groupings) {
                        if (grouping.getAttributeValue("name").equals("processVariable")) {
                            groupingCharacteristic.add(grouping.getAttributeValue("value"));
                        }
                    }
                    break;
                // threshold capacity (minimum batch size) & timeout of activation rule
                case "activationRule":
                    List<Element> ruleElements = property.getChildren("property", namespace);
                    if (ruleElements.size() != 1) {
                        throw new ScyllaValidationException("There must be exactly one activation rule for batch activity " + id + ", but there are " + ruleElements.size() + ".");
                    }
                    Element ruleElement = property.getChild("property", namespace);
                    String ruleElementName = ruleElement.getName();
                    switch(ruleElement.getAttributeValue("name")) {
                        case "thresholdRule":
                            // parsing threshold, if it is defined
                            int threshold = 0;
                            String thresholdString = ruleElement.getAttributeValue("threshold");
                            if (thresholdString != null && !thresholdString.isEmpty()) {
                                threshold = Integer.parseInt(thresholdString);
                            }
                            // parsing timeout, if it is defined
                            Duration timeout = null;
                            String timeoutString = ruleElement.getAttributeValue("timeout");
                            if (timeoutString != null) {
                                timeout = Duration.parse(timeoutString);
                            }
                            // parsing dueDate, if it is defined
                            String dueDate = ruleElement.getAttributeValue("duedate");
                            // either timeout or dueDate should not be null --> two different Constructors for the ThresholdRule
                            if (timeout != null) {
                                activationRule = new ThresholdRule(threshold, timeout);
                            } else if (dueDate != null) {
                                activationRule = new ThresholdRule(threshold, dueDate);
                            } else {
                                throw new ScyllaValidationException("A threshold rule was selected for" + ruleElementName + " then either timeout or duedate must be specified.");
                            }
                            break;
                        case "minMaxRule":
                            int minInstances = Integer.parseInt(ruleElement.getAttributeValue("minInstances"));
                            Duration minTimeout = Duration.parse(ruleElement.getAttributeValue("minTimeout"));
                            int maxInstances = Integer.parseInt(ruleElement.getAttributeValue("maxInstances"));
                            Duration maxTimeout = Duration.parse(ruleElement.getAttributeValue("maxTimeout"));
                            activationRule = new MinMaxRule(minInstances, minTimeout, maxInstances, maxTimeout);
                            break;
                        default:
                            throw new ScyllaValidationException("Activation rule type" + ruleElementName + " for batch activity " + id + " not supported.");
                    }
                    break;
            }
        }
    }
    if (maxBatchSize == null) {
        throw new ScyllaValidationException("You have to specify a maxBatchSize at " + id + " .");
    }
    /*if (groupingCharacteristic.isEmpty()){
                        throw new ScyllaValidationException("You have to specify at least one groupingCharacteristic at "+ id +" .");
                    }*/
    BatchActivity ba = new BatchActivity(nodeId, maxBatchSize, executionType, activationRule, groupingCharacteristic);
    batchActivities.put(nodeId, ba);
    return batchActivities;
/*System.out.println(maxBatchSize);
        System.out.println(groupingCharacteristic);
        System.out.println(activationRule);*/
}
Also used : ProcessModel(de.hpi.bpt.scylla.model.process.ProcessModel) java.util(java.util) MessageFlow(de.hpi.bpt.scylla.model.process.node.MessageFlow) Name(javax.xml.soap.Name) Predicate(java.util.function.Predicate) SimulationManager(de.hpi.bpt.scylla.SimulationManager) GatewayType(de.hpi.bpt.scylla.model.process.node.GatewayType) NoStartNodeException(de.hpi.bpt.scylla.model.process.graph.exception.NoStartNodeException) de.hpi.bpt.scylla.plugin.batch(de.hpi.bpt.scylla.plugin.batch) MultipleStartNodesException(de.hpi.bpt.scylla.model.process.graph.exception.MultipleStartNodesException) DataObjectType(de.hpi.bpt.scylla.model.process.node.DataObjectType) CommonProcessElements(de.hpi.bpt.scylla.model.process.CommonProcessElements) TaskType(de.hpi.bpt.scylla.model.process.node.TaskType) ScyllaValidationException(de.hpi.bpt.scylla.exception.ScyllaValidationException) Attribute(org.jdom2.Attribute) NodeNotFoundException(de.hpi.bpt.scylla.model.process.graph.exception.NodeNotFoundException) Graph(de.hpi.bpt.scylla.model.process.graph.Graph) EventType(de.hpi.bpt.scylla.model.process.node.EventType) Duration(java.time.Duration) DebugLogger(de.hpi.bpt.scylla.logger.DebugLogger) EventDefinitionType(de.hpi.bpt.scylla.model.process.node.EventDefinitionType) Namespace(org.jdom2.Namespace) Element(org.jdom2.Element) Element(org.jdom2.Element) Duration(java.time.Duration) Namespace(org.jdom2.Namespace) ScyllaValidationException(de.hpi.bpt.scylla.exception.ScyllaValidationException)

Aggregations

Namespace (org.jdom2.Namespace)176 Element (org.jdom2.Element)145 IOException (java.io.IOException)45 Document (org.jdom2.Document)36 ArrayList (java.util.ArrayList)30 Attribute (org.jdom2.Attribute)25 HashMap (java.util.HashMap)23 List (java.util.List)21 XConfiguration (org.apache.oozie.util.XConfiguration)19 StringReader (java.io.StringReader)18 JDOMException (org.jdom2.JDOMException)18 Configuration (org.apache.hadoop.conf.Configuration)15 SAXBuilder (org.jdom2.input.SAXBuilder)15 Map (java.util.Map)14 ActionExecutorException (org.apache.oozie.action.ActionExecutorException)14 Namespace.getNamespace (org.jdom2.Namespace.getNamespace)14 MigrationReport (com.mulesoft.tools.migration.step.category.MigrationReport)13 File (java.io.File)13 Path (org.apache.hadoop.fs.Path)12 Path (java.nio.file.Path)11