Examples of IterableElementList


Examples of org.openiaml.model.xpath.IterableElementList

      // for each gmfgen
      for (String filename : GmfMapTestCase.getMapList()) {
       
        Document doc = GmfMapTestCase.getMapCache().get(filename);
       
        IterableElementList nodes = xpath(doc, "/Mapping/links/domainMetaElement");
        for (Element link : nodes) {
          // get the element name (e.g. ProvidesEdge)
          String nodeName = link.getAttribute("href");
          nodeName = nodeName.substring(nodeName.lastIndexOf("/") + 1);
         
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

        continue;
      }
     
      InputStream stream = new ByteArrayInputStream(source.get(filename).getBytes("UTF-8"));
      Document document = loadDocument(stream);
      IterableElementList rhsList = new DefaultXpathFunctions().xpath(document, "//rhs");

      for (Element rhs : rhsList) {
        try {
          Text originalNode = (Text) rhs.getFirstChild();
          String sourceCode = originalNode.getData();
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

   *
   */
  public void testGmfGraphHasLabels() throws Exception {

    Document gmfgraph = getGmfgraph();
    IterableElementList nl = xpath(gmfgraph, "/Canvas/figures/descriptors");
   
    assertNotSame("We should have at least one figure node", nl.getLength(), 0);
   
    boolean changed = false;
    int descriptorNumber = -1;
    for (Element child : nl) {
      descriptorNumber++;
     
      // get the element name
      String name = child.getAttribute("name");
      assertTrue(name + " doesn't end with Figure", name.endsWith("Figure"));
     
      // name = InputTextField
      name = name.substring(0, name.length() - "Figure".length());
     
      String xpath = "actualFigure/children[@name='" + name + "StereotypeFigure']";
     
      // try adding one
      if (hasXpathFirst(child, xpath) == null) {
        System.out.println("Adding label " + name + "StereotypeFigure");

        // create the new element
        Element n = gmfgraph.createElement("children");
        n.setAttribute("xsi:type", "gmfgraph:Label");
        n.setAttribute("name", name + "StereotypeFigure");
        n.setAttribute("text", ": " + name);    // ": EventTrigger"
       
        // find the first child
        IterableElementList children = xpath(child, "actualFigure/children");
        Element actualFigure = xpathFirst(child, "actualFigure");
        int newAccessorIndex = -1;
        if (children.size() < 2) {
          // add directly to actualFigure
          actualFigure.appendChild(n);
          newAccessorIndex = children.size();
        } else {
          // add to the second child
          actualFigure.insertBefore(n, children.item(1));
          newAccessorIndex = 1;
        }
       
        // we also need to add a new ChildAccess
        String newHref = "//@figures.0/@descriptors." + descriptorNumber + "/@actualFigure/@children." + children.size();
        Element newAccessor = gmfgraph.createElement("accessors");
        newAccessor.setAttribute("figure", newHref);
        child.appendChild(newAccessor);
       
        // rewrite all other root accessors
        {
          IterableElementList accessors2 = xpath(gmfgraph, "/Canvas/labels");
          for (Element a : accessors2) {
            String href = a.getAttribute("accessor");
            if (href.startsWith("//@figures.0/@descriptors." + descriptorNumber + "/")) {
              if (href.endsWith(".0")) {
                // ignore first
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

    for (String filename : getMapList()) {
      boolean changed = false;
     
      Document doc = getMapCache().get(filename);
     
      IterableElementList nodes = xpath(doc, "/Mapping/nodes");
      for (Element node : nodes) {
        Element ownedChild = xpathFirst(node, "ownedChild");
       
        // all nodes must be contained somewhere
        Element domainMetaElement = (Element) xpathFirst(ownedChild, "domainMetaElement");
       
        // iaml.ecore#//EventTrigger
        String elementName = domainMetaElement.getAttribute("href");
        // get the last name (ignore sub-packages) -> EventTrigger
        elementName = elementName.substring(elementName.lastIndexOf("/") + 1);
       
        // is it currently a design label mapping? if so, delete it
        {
          IterableElementList mapping = xpath(ownedChild, "labelMappings");
          assertNotSame(filename + ": No label mappings found for " + elementName, 0, mapping.size());
          boolean found = false;
          int count = -1;
          for (Element map : mapping) {
            count++;
            Element labelHref = xpathFirst(map, "diagramLabel");
            // iaml.gmfgraph#InputFormStereotype
            String href = labelHref.getAttribute("href");
            if (href.endsWith("#" + elementName + "StereotypeFigure")) {
              assertFalse(filename + ": Found two mappings for " + elementName, found);
             
              if ("gmfmap:DesignLabelMapping".equals(map.getAttribute("xsi:type"))) {
                // delete this element
                ownedChild.removeChild(map);
                changed = true;
              }
            }
          }
        }
       
        // there must be at least one label mapping to a stereotype label
        {
          IterableElementList mapping = xpath(ownedChild, "labelMappings");
          boolean found = false;
          int count = -1;
          for (Element map : mapping) {
            count++;
            Element labelHref = xpathFirst(map, "diagramLabel");
            // iaml.gmfgraph#InputFormStereotype
            String href = labelHref.getAttribute("href");
            if (href.endsWith("#" + elementName + "StereotypeFigure")) {
              assertFalse(filename + ": Found two mappings for " + elementName, found);
              found = true;
            }
          }

          if (!found) {
            // try adding it manually
            Element newMapping = doc.createElement("labelMappings");
            // must not be design label mapping
            // newMapping.setAttribute("xsi:type", "gmfmap:DesignLabelMapping");
            newMapping.setAttribute("readOnly", "true");
           
            // insert as second child
            if (mapping.size() < 2) {
              ownedChild.appendChild(newMapping);
            } else {
              ownedChild.insertBefore(newMapping, mapping.item(1));
            }
           
            // add href
            Element newHref = doc.createElement("diagramLabel");
            newHref.setAttribute("href", GmfGraphTestCase.GMF_FILENAME + "#" + elementName + "StereotypeFigure");
            newMapping.appendChild(newHref);
           
            changed = true;
          }
        }
       
        // then search again
        {
          IterableElementList mapping = xpath(ownedChild, "labelMappings");
          assertNotSame(filename + ": No label mappings found for " + elementName, 0, mapping.size());
          boolean found = false;
          int count = -1;
          for (Element map : mapping) {
            count++;
            Element labelHref = xpathFirst(map, "diagramLabel");
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

    for (String filename : getMapList()) {
      boolean changed = false;
     
      Document doc = getMapCache().get(filename);
     
      IterableElementList nodes = xpath(doc, "/Mapping/links");
      for (Element node : nodes) {

        // all nodes must be contained somewhere
        Element domainMetaElement = (Element) xpathFirst(node, "domainMetaElement");
       
        // iaml.ecore#//EventTrigger
        String elementName = domainMetaElement.getAttribute("href");
        // get the last name (ignore sub-packages) -> EventTrigger
        elementName = elementName.substring(elementName.lastIndexOf("/") + 1);
       
        // is it currently a design label mapping? if so, delete it
        {
          IterableElementList mapping = xpath(node, "labelMappings");
          assertNotSame(filename + ": No label mappings found for " + elementName, 0, mapping.size());
          boolean found = false;
          int count = -1;
          for (Element map : mapping) {
            count++;
            Element labelHref = xpathFirst(map, "diagramLabel");
            // iaml.gmfgraph#InputFormStereotype
            String href = labelHref.getAttribute("href");
            if (href.endsWith("#" + elementName + "StereotypeFigure")) {
              assertFalse(filename + ": Found two mappings for " + elementName, found);
             
              if ("gmfmap:DesignLabelMapping".equals(map.getAttribute("xsi:type"))) {
                // delete this element
                node.removeChild(map);
                changed = true;
              }
            }
          }
        }
       
        // there must be at least one label mapping to a stereotype label
        {
          IterableElementList mapping = xpath(node, "labelMappings");
          // its OK to have a link with no node mappings
          boolean found = false;
          int count = -1;
          for (Element map : mapping) {
            count++;
            Element labelHref = xpathFirst(map, "diagramLabel");
            // iaml.gmfgraph#InputFormStereotype
            String href = labelHref.getAttribute("href");
            if (href.endsWith("#" + elementName + "StereotypeFigure")) {
              assertFalse(filename + ": Found two mappings for " + elementName, found);
              found = true;
            }
          }

          if (!found) {
            // try adding it manually
            Element newMapping = doc.createElement("labelMappings");
            // must not be design label mapping
            // newMapping.setAttribute("xsi:type", "gmfmap:DesignLabelMapping");
            newMapping.setAttribute("readOnly", "true");
           
            // insert as second child
            if (mapping.size() < 2) {
              node.appendChild(newMapping);
            } else {
              node.insertBefore(newMapping, mapping.item(1));
            }
           
            // add href
            Element newHref = doc.createElement("diagramLabel");
            newHref.setAttribute("href", GmfGraphTestCase.GMF_FILENAME + "#" + elementName + "StereotypeFigure");
            newMapping.appendChild(newHref);
           
            changed = true;
          }
        }
       
        // then search again
        {
          IterableElementList mapping = xpath(node, "labelMappings");
          // its OK to have a link with no node mappings
          boolean found = false;
          int count = -1;
          for (Element map : mapping) {
            count++;
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

      Map<String, List<String>> loadedContainers = new HashMap<String, List<String>>();
     
      Document doc = getMapCache().get(filename);
     
      try {
        IterableElementList nodes = xpath(doc, "/Mapping/nodes");
        iterateOverNodes(filename, nodes, loadedContainers, "ownedChild/domainSpecialization");
 
        IterableElementList links = xpath(doc, "/Mapping/links");
        iterateOverNodes(filename, links, loadedContainers, "domainSpecialization");
      } catch (Exception e) {
        throw new RuntimeException(filename + ": " + e.getMessage(), e);
      }
     
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

    for (String filename : getMapList()) {
      boolean changed = false;
     
      Document doc = getMapCache().get(filename);
     
      IterableElementList nodes = xpath(doc, "/Mapping/nodes");
      for (Element node : nodes) {
        // all nodes must be contained somewhere
        Element domainMetaElement = (Element) xpathFirst(node, "ownedChild/domainMetaElement");
       
        // can it be contained?
        String containmentName = getContainmentName(filename, node);
       
        // iaml.ecore#//EventTrigger
        String elementName = domainMetaElement.getAttribute("href");
       
        IterableElementList labels = xpath(node, "ownedChild/labelMappings");
        for (Element label : labels) {
          Element diagramLabel = (Element) xpathFirst(label, "diagramLabel");
         
          // iaml.gmfgraph#EventTriggerName
          String labelName = diagramLabel.getAttribute("href");
         
          assertLabelMappingMatches(filename, elementName, labelName);
        }
       
        // make sure the diagramNode matches too
        Element diagramNode = (Element) xpathFirst(node, "ownedChild/diagramNode");
       
        // iaml.gmfgraph#EventTrigger
        String dnode = diagramNode.getAttribute("href");
       
        assertNodeMappingMatches(filename, elementName, dnode);
       
        // finally, check the tool matches
        // IF it has a toolnode
        Element toolNode = (Element) hasXpathFirst(node, "ownedChild/tool");
       
        if (toolNode != null) {
          // visual.gmftool#//@palette/@tools.0/@tools.22
          String tool = toolNode.getAttribute("href");
         
          // find out which tool it should be
          String expected = getDesiredToolMappingMatch(filename, elementName, containmentName);
         
          // set it if different
          if (!tool.equals(expected)) {
            // set it
            toolNode.setAttribute("href", expected);
            changed = true;
          }
         
          assertToolMappingMatches(filename, elementName, expected, containmentName);
        }
      }
     
      IterableElementList links = xpath(doc, "/Mapping/links");
      for (Element link : links) {
        // all nodes must be contained somewhere
        Element domainMetaElement = (Element) xpathFirst(link, "domainMetaElement");
       
        String containmentName = getContainmentName(filename, link);

        // iaml.ecore#//EventTrigger
        String elementName = domainMetaElement.getAttribute("href");
       
        IterableElementList labels = xpath(link, "labelMappings");
        for (Element label : labels) {
          Element diagramLabel = (Element) xpathFirst(label, "diagramLabel");
         
          // iaml.gmfgraph#EventTriggerName
          String labelName = diagramLabel.getAttribute("href");
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

    assertEquals( "123", root.getAttribute("attr") );

    // test parsing some simple code
    new ExportDroolsJavaXml().parseJava(d, root, "// a comment\nRunInstanceWire rw = handler.generatedRunInstanceWire(sw, sw, event, operation);    rw.setName(\"run\");    insert(rw); insert(\"a complicated string. with full stops. and line breaks;\");");

    IterableElementList statements = xpath(root, "statement");
    assertEquals(4, statements.getLength());

    // first statement
    // RunInstanceWire rw = handler.generatedRunInstanceWire(sw, sw, event, operation);
    {
      Element statement = (Element) statements.item(0);

      Element assignment = xpathFirst(statement, "assignment");
      assertNotNull(assignment);
      assertEquals(0, assignment.getAttributes().getLength());
      assertEquals(2, assignment.getChildNodes().getLength());

      Element setVariable = (Element) assignment.getChildNodes().item(0);
      assertEquals("set-variable", setVariable.getNodeName());
      assertEquals(2, setVariable.getAttributes().getLength());
      assertEquals("rw", setVariable.getAttribute("name"));
      assertEquals("RunInstanceWire", setVariable.getAttribute("type"));

      Element statement2 = (Element) assignment.getChildNodes().item(1);
      assertEquals("statement", statement2.getNodeName());
      assertEquals(0, statement2.getAttributes().getLength());

      Element variable = xpathFirst(statement2, "variable");
      assertEquals(1, variable.getAttributes().getLength());
      assertEquals("handler", variable.getAttribute("name"));

      Element method = xpathFirst(variable, "method");
      assertEquals(1, method.getAttributes().getLength());
      assertEquals("generatedRunInstanceWire", method.getAttribute("name"));

      Element argumentList = xpathFirst(method, "argument-list");
      assertEquals(0, argumentList.getAttributes().getLength());
      assertEquals(4, argumentList.getChildNodes().getLength());

      Element argument1 = (Element) argumentList.getChildNodes().item(0);
      assertEquals("variable-argument", argument1.getNodeName());
      assertEquals("sw", argument1.getAttribute("name"));

      Element argument2 = (Element) argumentList.getChildNodes().item(1);
      assertEquals("variable-argument", argument2.getNodeName());
      assertEquals("sw", argument2.getAttribute("name"));

      Element argument3 = (Element) argumentList.getChildNodes().item(2);
      assertEquals("variable-argument", argument3.getNodeName());
      assertEquals("event", argument3.getAttribute("name"));

      Element argument4 = (Element) argumentList.getChildNodes().item(3);
      assertEquals("variable-argument", argument4.getNodeName());
      assertEquals("operation", argument4.getAttribute("name"));
    }

    // second statement
    // rw.setName("run");
    {
      Element statement = (Element) statements.item(1);

      Element variable = xpathFirst(statement, "variable");
      assertEquals(1, variable.getAttributes().getLength());
      assertEquals("rw", variable.getAttribute("name"));

      Element method = xpathFirst(variable, "method");
      assertEquals(1, method.getAttributes().getLength());
      assertEquals("setName", method.getAttribute("name"));

      Element argumentList = xpathFirst(method, "argument-list");
      assertEquals(0, argumentList.getAttributes().getLength());
      assertEquals(1, argumentList.getChildNodes().getLength());

      Element argument = (Element) argumentList.getChildNodes().item(0);
      assertEquals("string-argument", argument.getNodeName());
      assertEquals("run", argument.getAttribute("value"));
    }

    // third statement
    // insert(rw);
    {
      Element statement = (Element) statements.item(2);

      Element method = xpathFirst(statement, "method");
      assertEquals(1, method.getAttributes().getLength());
      assertEquals("insert", method.getAttribute("name"));

      Element argumentList = xpathFirst(method, "argument-list");
      assertEquals(0, argumentList.getAttributes().getLength());
      assertEquals(1, argumentList.getChildNodes().getLength());

      Element argument = (Element) argumentList.getChildNodes().item(0);
      assertEquals("variable-argument", argument.getNodeName());
      assertEquals("rw", argument.getAttribute("name"));
    }

    // fourth statement
    // insert("a complicated string. with full stops. and line breaks;");
    {
      Element statement = (Element) statements.item(3);

      Element method = xpathFirst(statement, "method");
      assertEquals(1, method.getAttributes().getLength());
      assertEquals("insert", method.getAttribute("name"));
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

    // it should have another extension point (sanity check)
    xpathFirst(doc, "/plugin/extension");
   
    // it should _not_ have a NewWizard
    IterableElementList result = xpath(doc, "/plugin/extension[@point='org.eclipse.ui.newWizards']");
    assertTrue("plugin " + plugin + ": should not have a NewWizard", result.isEmpty());
 
  }
View Full Code Here

Examples of org.openiaml.model.xpath.IterableElementList

    for (Element root : roots) {   
      result.addAll(getAllGmfToolsRecursive(root, prefix));
    }
   
    return new IterableElementList(result);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.