List of usage examples for org.jdom2 Attribute getValue
public String getValue()
Attribute
. From source file:org.openflexo.foundation.ontology.owl.OWLOntology.java
License:Open Source License
private static String findOntologyURIWithOntologyAboutMethod(File aFile) { Document document;//from w w w . ja v a 2 s . com try { logger.fine("Try to find URI for " + aFile); document = readXMLFile(aFile); Element root = getElement(document, "Ontology"); if (root != null) { Iterator it = root.getAttributes().iterator(); while (it.hasNext()) { Attribute at = (Attribute) it.next(); if (at.getName().equals("about")) { logger.fine("Returned " + at.getValue()); String returned = at.getValue(); if (StringUtils.isNotEmpty(returned)) { return returned; } } } } } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } logger.fine("Returned null"); return findOntologyURIWithRDFBaseMethod(aFile); }
From source file:org.openflexo.foundation.ontology.owl.OWLOntology.java
License:Open Source License
public static String findOntologyName(File aFile) { if (aFile == null || !aFile.exists() || aFile.length() == 0) { if (aFile != null && aFile.length() == 0) { aFile.delete();/*from ww w.j av a 2 s . c o m*/ } return null; } Document document; try { logger.fine("Try to find name for " + aFile); document = readXMLFile(aFile); Element root = getElement(document, "RDF"); if (root != null) { Element ontology = getElement(root, "Ontology"); if (ontology != null) { Element title = getElement(root, "title"); if (title != null) { return title.getValue(); } List<Attribute> l = ontology.getAttributes(); for (int i = 0; i < l.size(); i++) { Attribute a = l.get(i); if (a.getName().equals("title")) { return a.getValue(); } } } } } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }
From source file:org.openflexo.foundation.viewpoint.rm.ViewPointResourceImpl.java
License:Open Source License
private static void convertDiagramSpecification16ToVirtualModel17(File file, Document diagram, List<File> oldPaletteFiles, List<File> oldExampleDiagramFiles, ViewPointResource viewPointResource) { // Create the diagram specification and a virtual model with a diagram typed model slot referencing this diagram specification final String ADDRESSED_DIAGRAM_MODEL_SLOT = "AddressedDiagramModelSlot"; final String MODELSLOT_VIRTUAL_MODEL_MODEL_SLOT = "ModelSlot_VirtualModelModelSlot"; final String MODELSLOT_TYPED_DIAGRAM_MODEL_SLOT = "ModelSlot_TypedDiagramModelSlot"; try {// www. j av a2s . c om String diagramName = file.getName().replace(".xml", ""); // Create a folder that contains the diagram specification File diagramSpecificationFolder = new File( file.getParentFile() + "/" + diagramName + ".diagramspecification"); diagramSpecificationFolder.mkdir(); // Retrieve diagram drop schemes Iterator<Element> dropSchemeElements = diagram.getDescendants(new ElementFilter("DropScheme")); List<Element> dropSchemes = IteratorUtils.toList(dropSchemeElements); // Retrieve Diagram Model slots references Iterator<? extends Content> thisModelSlotsIterator = diagram.getDescendants( new ElementFilter("DiagramModelSlot").or(new ElementFilter(ADDRESSED_DIAGRAM_MODEL_SLOT))); List<Element> thisModelSlots = IteratorUtils.toList(thisModelSlotsIterator); // Retrieve the DiagramModelSlot (this), and transform it to a virtual model slot with a virtual model uri int thisID = 0; String newThisUri = viewPointResource.getURI() + "/" + diagramName; String diagramSpecificationURI = newThisUri + "/" + diagramName + ".diagramspecification"; Element typedDiagramModelSlot = null; boolean foundThis = false; for (Element thisMs : thisModelSlots) { // Retriev the ID and URI of this DiagramModelSlot if (thisMs.getAttribute("name") != null && thisMs.getAttributeValue("name").equals("this") && !foundThis) { // Store its ID and its URI thisID = thisMs.getAttribute("id").getIntValue(); if (thisMs.getAttributeValue("virtualModelURI") != null) { newThisUri = thisMs.getAttributeValue("virtualModelURI"); thisMs.removeAttribute("virtualModelURI"); thisMs.removeAttribute("name"); thisMs.getAttribute("id").setName("idref"); thisMs.setAttribute("idref", Integer.toString(thisID)); } // Replace by a Typed model slot typedDiagramModelSlot = new Element(MODELSLOT_TYPED_DIAGRAM_MODEL_SLOT); typedDiagramModelSlot.setAttribute("metaModelURI", diagramSpecificationURI); typedDiagramModelSlot.setAttribute("name", "typedDiagramModelSlot"); typedDiagramModelSlot.setAttribute("id", Integer.toString(computeNewID(diagram))); foundThis = true; } } // Replace the Diagram Model Slot by a Virtual Model Model slot for (Element thisMs : thisModelSlots) { if (hasSameID(thisMs, thisID) && thisMs.getName().equals("DiagramModelSlot")) { thisMs.setName("VirtualModelModelSlot"); thisMs.getAttributes().add(new Attribute("virtualModelURI", newThisUri)); thisMs.getAttributes().add(new Attribute("name", "virtualModelInstance")); thisMs.getAttributes().add(new Attribute("id", Integer.toString(thisID))); thisMs.removeAttribute("idref"); } } // Update ids for all model slots Iterator<? extends Content> diagramModelSlotsIterator = diagram.getDescendants( new ElementFilter("DiagramModelSlot").or(new ElementFilter(ADDRESSED_DIAGRAM_MODEL_SLOT))); List<Element> thisDiagramModelSlots = IteratorUtils.toList(diagramModelSlotsIterator); for (Element diagramMs : thisDiagramModelSlots) { if (diagramMs.getAttribute("id") != null && typedDiagramModelSlot != null) { diagramMs.setAttribute("id", typedDiagramModelSlot.getAttributeValue("id")); } if (diagramMs.getAttribute("idref") != null) { // Change to TypedDiagramModelSlot if (diagramMs.getParentElement().getName().equals("AddShape") || diagramMs.getParentElement().getName().equals("AddConnector") || diagramMs.getParentElement().getName().equals("AddDiagram") || diagramMs.getParentElement().getName().equals("ContainedShapePatternRole") || diagramMs.getParentElement().getName().equals("ContainedConnectorPatternRole") || diagramMs.getParentElement().getName().equals("ContainedDiagramPatternRole")) { if (typedDiagramModelSlot.getAttributeValue("id") != null) { diagramMs.setAttribute("idref", typedDiagramModelSlot.getAttributeValue("id")); diagramMs.setName("TypedDiagramModelSlot"); } } else { diagramMs.setName(MODELSLOT_VIRTUAL_MODEL_MODEL_SLOT); } } } for (Content content : diagram.getDescendants()) { if (content instanceof Element) { Element element = (Element) content; if (element.getName().equals("AddShape") || element.getName().equals("AddConnector") || element.getName().equals("AddDiagram")) { if (element.getChild("TypedDiagramModelSlot") == null && element.getChild("AddressedDiagramModelSlot") == null) { Element adressedMsElement = new Element("TypedDiagramModelSlot"); Attribute newIdRefAttribute = new Attribute("idref", typedDiagramModelSlot.getAttributeValue("id")); adressedMsElement.getAttributes().add(newIdRefAttribute); element.addContent(adressedMsElement); } } } } // Update DiagramSpecification URI for (Content content : diagram.getDescendants()) { if (content instanceof Element) { Element element = (Element) content; if (element.getAttribute("diagramSpecificationURI") != null) { String oldDiagramSpecificationUri = element.getAttributeValue("diagramSpecificationURI"); String diagramSpecificationName = oldDiagramSpecificationUri .substring(oldDiagramSpecificationUri.lastIndexOf("/")); String newDiagramSpecificationUri = oldDiagramSpecificationUri + diagramSpecificationName + ".diagramspecification"; element.getAttribute("diagramSpecificationURI").setValue(newDiagramSpecificationUri); } } } // Change all the "diagram" binding with "this", and "toplevel" with typedDiagramModelSlot.topLevel" in case of not // DropSchemeAction for (Content content : diagram.getDescendants()) { if (content instanceof Element) { Element element = (Element) content; for (Attribute attribute : element.getAttributes()) { if (attribute.getValue().startsWith("diagram")) { attribute.setValue(attribute.getValue().replace("diagram", "this")); } if (attribute.getValue().startsWith("topLevel")) { boolean diagramScheme = false; Element parentElement = element.getParentElement(); while (parentElement != null) { if (parentElement.getName().equals("DropScheme") || parentElement.getName().equals("LinkScheme")) { diagramScheme = true; } parentElement = parentElement.getParentElement(); } if (!diagramScheme) { attribute.setValue(attribute.getValue().replace("topLevel", "virtualModelInstance.typedDiagramModelSlot")); } } } } } // Create the diagram specificaion xml file File diagramSpecificationFile = new File(diagramSpecificationFolder, file.getName()); Document diagramSpecification = new Document(); Element rootElement = new Element("DiagramSpecification"); Attribute name = new Attribute("name", diagramName); Attribute diagramSpecificationURIAttribute = new Attribute("uri", diagramSpecificationURI); diagramSpecification.addContent(rootElement); rootElement.getAttributes().add(name); rootElement.getAttributes().add(diagramSpecificationURIAttribute); XMLUtils.saveXMLFile(diagramSpecification, diagramSpecificationFile); // Copy the palette files inside diagram specification repository ArrayList<File> newPaletteFiles = new ArrayList<File>(); for (File paletteFile : oldPaletteFiles) { File newFile = new File(diagramSpecificationFolder + "/" + paletteFile.getName()); FileUtils.rename(paletteFile, newFile); newPaletteFiles.add(newFile); Document palette = XMLUtils.readXMLFile(newFile); Attribute diagramSpecUri = new Attribute("diagramSpecificationURI", diagramSpecificationURI); palette.getRootElement().getAttributes().add(diagramSpecUri); convertNames16ToNames17(palette); XMLUtils.saveXMLFile(palette, newFile); } // Copy the example diagram files inside diagram specification repository ArrayList<File> newExampleDiagramFiles = new ArrayList<File>(); for (File exampleDiagramFile : oldExampleDiagramFiles) { File newFile = new File(diagramSpecificationFolder + "/" + exampleDiagramFile.getName()); FileUtils.rename(exampleDiagramFile, newFile); newExampleDiagramFiles.add(newFile); Document exampleDiagram = XMLUtils.readXMLFile(newFile); exampleDiagram.getRootElement().setAttribute("uri", diagramSpecificationURI + "/" + exampleDiagram.getRootElement().getAttributeValue("name")); Attribute diagramSpecUri = new Attribute("diagramSpecificationURI", diagramSpecificationURI); exampleDiagram.getRootElement().getAttributes().add(diagramSpecUri); exampleDiagram.getRootElement().setAttribute("uri", diagramSpecificationURI + "/" + exampleDiagram.getRootElement().getAttributeValue("name")); convertNames16ToNames17(exampleDiagram); XMLUtils.saveXMLFile(exampleDiagram, newFile); } // Update the diagram palette element bindings ArrayList<Element> paletteElementBindings = new ArrayList<Element>(); for (File paletteFile : newPaletteFiles) { Document palette = XMLUtils.readXMLFile(paletteFile); String paletteUri = diagramSpecificationURI + "/" + palette.getRootElement().getAttribute("name").getValue() + ".palette"; Iterator<? extends Content> paletteElements = palette .getDescendants(new ElementFilter("DiagramPaletteElement")); while (paletteElements.hasNext()) { Element paletteElement = (Element) paletteElements.next(); Element binding = createPaletteElementBinding(paletteElement, paletteUri, dropSchemes); if (binding != null) { paletteElementBindings.add(binding); } } XMLUtils.saveXMLFile(palette, paletteFile); } // Add the Palette Element Bindings to the TypedDiagramModelSlot if (!paletteElementBindings.isEmpty()) { typedDiagramModelSlot.addContent(paletteElementBindings); } if (typedDiagramModelSlot != null) { diagram.getRootElement().addContent(typedDiagramModelSlot); } // Update names convertNames16ToNames17(diagram); convertOldNameToNewNames("DiagramSpecification", "VirtualModel", diagram); // Save the files XMLUtils.saveXMLFile(diagram, file); } catch (JDOMException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
From source file:org.openflexo.foundation.viewpoint.rm.ViewPointResourceImpl.java
License:Open Source License
private static void convertNames16ToNames17(Document document) { // Convert common properties addProperty("userID", "FLX", document, null); // Edition Patterns // Edition patterns name convertOldNameToNewNames("EditionPattern", "FlexoConcept", document); // Parent pattern role is no more an attribute but an element IteratorIterable<? extends Content> fcElementsIterator = document .getDescendants(new ElementFilter("FlexoConcept")); List<Element> fcElements = IteratorUtils.toList(fcElementsIterator); for (Element fc : fcElements) { if (fc.getAttribute("parentEditionPattern") != null) { Element parentEp = new Element("ParentFlexoConcept"); Attribute parentIdRef = new Attribute("idref", getFlexoConceptID(document, fc.getAttributeValue("parentEditionPattern"))); parentEp.getAttributes().add(parentIdRef); fc.removeAttribute("parentEditionPattern"); fc.addContent(parentEp);//from w w w .j av a 2s.com } } // Pattern Roles // Pattern roles properties changePropertyName("editionPatternTypeURI", "flexoConceptTypeURI", document, "ContainedEditionPatternInstancePatternRole"); changePropertyName("editionPatternTypeURI", "flexoConceptTypeURI", document, "AddressedSelectEditionPatternInstance"); changePropertyName("editionPatternTypeURI", "flexoConceptTypeURI", document, "SelectEditionPatternInstance"); changePropertyName("editionPatternTypeURI", "flexoConceptTypeURI", document, "EditionPatternInstanceParameter"); changePropertyName("paletteElementID", "paletteElementId", document, "FMLDiagramPaletteElementBinding"); changePropertyName("editionPattern", "flexoConcept", document, "PaletteElement"); removeProperties("patternRole", document); removeProperty("className", document, "DrawingGraphicalRepresentation"); removeProperty("className", document, "ShapeGraphicalRepresentation"); removeProperty("className", document, "ConnectorGraphicalRepresentation"); // Pattern roles name convertOldNameToNewNames("ContainedEditionPatternInstancePatternRole", "FlexoConceptInstanceRole", document); convertOldNameToNewNames("EditionPatternInstancePatternRole", "FlexoConceptInstanceRole", document); convertOldNameToNewNames("ContainedShapePatternRole", "ShapeRole", document); convertOldNameToNewNames("ShapePatternRole", "ShapeRole", document); convertOldNameToNewNames("ContextShapePatternRole", "ShapeRole", document); convertOldNameToNewNames("ParentShapePatternRole", "ParentShapeRole", document); convertOldNameToNewNames("ContainedEMFObjectIndividualPatternRole", "EMFObjectIndividualRole", document); convertOldNameToNewNames("EMFObjectIndividualPatternRole", "EMFObjectIndividualRole", document); convertOldNameToNewNames("ContainedConnectorPatternRole", "ConnectorRole", document); convertOldNameToNewNames("ConnectorPatternRole", "ConnectorRole", document); convertOldNameToNewNames("ContainedOWLIndividualPatternRole", "OWLIndividualRole", document); convertOldNameToNewNames("OWLIndividualPatternRole", "OWLIndividualRole", document); convertOldNameToNewNames("ContainedObjectPropertyStatementPatternRole", "ObjectPropertyStatementRole", document); convertOldNameToNewNames("ObjectPropertyStatementPatternRole", "ObjectPropertyStatementRole", document); convertOldNameToNewNames("ContainedDataPropertyStatementPatternRole", "DataPropertyStatementRole", document); convertOldNameToNewNames("DataPropertyStatementPatternRole", "DataPropertyStatementRole", document); convertOldNameToNewNames("ContainedExcelCellPatternRole", "ExcelCellRole", document); convertOldNameToNewNames("ExcelCellPatternRole", "ExcelCellRole", document); convertOldNameToNewNames("ContainedExcelSheetPatternRole", "ExcelSheetRole", document); convertOldNameToNewNames("ExcelSheetPatternRole", "ExcelSheetRole", document); convertOldNameToNewNames("ContainedExcelRowPatternRole", "ExcelRowRole", document); convertOldNameToNewNames("ExcelRowPatternRole", "ExcelRowRole", document); convertOldNameToNewNames("ContainedDiagramPatternRole", "DiagramRole", document); convertOldNameToNewNames("DiagramPatternRole", "DiagramRole", document); convertOldNameToNewNames("ContainedXMLIndividualPatternRole", "XMLIndividualRole", document); convertOldNameToNewNames("XMLIndividualPatternRole", "XMLIndividualRole", document); convertOldNameToNewNames("ContainedXSIndividualPatternRole", "XSIndividualRole", document); convertOldNameToNewNames("XSIndividualPatternRole", "XSIndividualRole", document); convertOldNameToNewNames("ContainedXSClassPatternRole", "XSClassRole", document); convertOldNameToNewNames("XSClassPatternRole", "XSClassRole", document); // Actions convertOldNameToNewNames("EditionPatternInstanceParameter", "FlexoConceptInstanceParameter", document); convertOldNameToNewNames("MatchEditionPatternInstance", "MatchFlexoConceptInstance", document); convertOldNameToNewNames("CreateEditionPatternInstanceParameter", "CreateFlexoConceptInstanceParameter", document); // Retrieve Fetch Actions IteratorIterable<? extends Content> fetchElementsIterator = document .getDescendants(new ElementFilter("FetchRequestIterationAction")); List<Element> fetchElements = IteratorUtils.toList(fetchElementsIterator); for (Element fetchElement : fetchElements) { for (Element child : fetchElement.getChildren()) { if (child.getName().equals("AddressedSelectEditionPatternInstance")) { child.setName("FetchRequest_SelectFlexoConceptInstance"); } if (child.getName().equals("AddressedSelectEMFObjectIndividual")) { child.setName("FetchRequest_SelectEMFObjectIndividual"); } if (child.getName().equals("AddressedSelectIndividual")) { child.setName("FetchRequest_SelectIndividual"); } if (child.getName().equals("AddressedSelectExcelCell")) { child.setName("FetchRequest_SelectExcelCell"); } if (child.getName().equals("AddressedSelectExcelRow")) { child.setName("FetchRequest_SelectExcelRow"); } if (child.getName().equals("AddressedSelectExcelSheet")) { child.setName("FetchRequest_SelectExcelSheet"); } if (child.getName().equals("AddressedSelectEditionPatternInstance")) { child.setName("FetchRequest_SelectFlexoConceptInstance"); } } } // Built-in actions convertOldNameToNewNames("DeclarePatternRole", "DeclareFlexoRole", document); convertOldNameToNewNames("AddEditionPatternInstance", "AddFlexoConceptInstance", document); convertOldNameToNewNames("AddEditionPatternInstanceParameter", "AddFlexoConceptInstanceParameter", document); convertOldNameToNewNames("AddressedSelectEditionPatternInstance", "SelectFlexoConceptInstance", document); convertOldNameToNewNames("AddressedSelectFlexoConceptInstance", "SelectFlexoConceptInstance", document); convertOldNameToNewNames("SelectEditionPatternInstance", "SelectFlexoConceptInstance", document); // Model Slots for (Content content : document.getDescendants()) { if (content instanceof Element) { Element element = (Element) content; if ((element.getParentElement() != null) && (element.getParentElement().getName().equals("DiagramSpecification") || element.getParentElement().getName().equals("VirtualModel"))) { if (element.getName().equals("EMFModelSlot")) { element.setName("ModelSlot_EMFModelSlot"); } else if (element.getName().equals("XMLModelSlot")) { element.setName("ModelSlot_XMLModelSlot"); } else if (element.getName().equals("XSDModelSlot")) { element.setName("ModelSlot_XSDModelSlot"); } else if (element.getName().equals("BasicExcelModelSlot")) { element.setName("ModelSlot_BasicExcelModelSlot"); } else if (element.getName().equals("SemanticsExcelModelSlot")) { element.setName("ModelSlot_SemanticsExcelModelSlot"); } else if (element.getName().equals("BasicPowerpointModelSlot")) { element.setName("ModelSlot_SemanticsPowerpointModelSlot"); } else if (element.getName().equals("OWLModelSlot")) { element.setName("ModelSlot_OWLModelSlot"); } else if (element.getName().equals("VirtualModelModelSlot")) { element.setName("ModelSlot_VirtualModelModelSlot"); } } else { if (element.getName().equals("AddressedEMFModelSlot")) { element.setName("EMFModelSlot"); } else if (element.getName().equals("AddressedXMLModelSlot")) { element.setName("XMLModelSlot"); } else if (element.getName().equals("AddressedXSDModelSlot")) { element.setName("XSDModelSlot"); } else if (element.getName().equals("AddressedBasicExcelModelSlot")) { element.setName("BasicExcelModelSlot"); } else if (element.getName().equals("AddressedSemanticsExcelModelSlot")) { element.setName("SemanticsExcelModelSlot"); } else if (element.getName().equals("AddressedBasicPowerpointModelSlot")) { element.setName("BasicPowerpointModelSlot"); } else if (element.getName().equals("AddressedSemanticsPowerpointModelSlot")) { element.setName("SemanticsPowerpointModelSlot"); } else if (element.getName().equals("AddressedOWLModelSlot")) { element.setName("OWLModelSlot"); } else if (element.getName().equals("AddressedDiagramModelSlot")) { element.setName("TypedDiagramModelSlot"); } else if (element.getName().equals("AddressedVirtualModelModelSlot")) { element.setName("VirtualModelModelSlot"); } } } } // Palettes/ExampleDiagrams // Retrieve Connector GRs IteratorIterable<? extends Content> connectorGRElementsIterator = document .getDescendants(new ElementFilter("ConnectorGraphicalRepresentation")); List<Element> connectorGRElements = IteratorUtils.toList(connectorGRElementsIterator); for (Element connectorGRElement : connectorGRElements) { Element grSpec = null; if (connectorGRElement.getChild("RectPolylinConnector") != null) { grSpec = connectorGRElement.getChild("RectPolylinConnector"); } else if (connectorGRElement.getChild("LineConnector") != null) { grSpec = connectorGRElement.getChild("LineConnector"); } else if (connectorGRElement.getChild("CurvedPolylinConnector") != null) { grSpec = connectorGRElement.getChild("CurvedPolylinConnector"); } else if (connectorGRElement.getChild("ArcConnector") != null) { grSpec = connectorGRElement.getChild("ArcConnector"); } if (connectorGRElement.getAttribute("startSymbol") != null) { Attribute startSymbol = new Attribute("startSymbol", connectorGRElement.getAttributeValue("startSymbol")); grSpec.getAttributes().add(startSymbol); connectorGRElement.removeAttribute("startSymbol"); } if (connectorGRElement.getAttribute("endSymbol") != null) { Attribute endSymbol = new Attribute("endSymbol", connectorGRElement.getAttributeValue("endSymbol")); grSpec.getAttributes().add(endSymbol); connectorGRElement.removeAttribute("endSymbol"); } if (connectorGRElement.getAttribute("middleSymbol") != null) { Attribute middleSymbol = new Attribute("middleSymbol", connectorGRElement.getAttributeValue("middleSymbol")); grSpec.getAttributes().add(middleSymbol); connectorGRElement.removeAttribute("middleSymbol"); } if (connectorGRElement.getAttribute("startSymbolSize") != null) { Attribute startSymbolSize = new Attribute("startSymbolSize", connectorGRElement.getAttributeValue("startSymbolSize")); grSpec.getAttributes().add(startSymbolSize); connectorGRElement.removeAttribute("startSymbolSize"); } if (connectorGRElement.getAttribute("endSymbolSize") != null) { Attribute endSymbolSize = new Attribute("endSymbolSize", connectorGRElement.getAttributeValue("endSymbolSize")); grSpec.getAttributes().add(endSymbolSize); connectorGRElement.removeAttribute("endSymbolSize"); } if (connectorGRElement.getAttribute("middleSymbolSize") != null) { Attribute middleSymbolSize = new Attribute("middleSymbolSize", connectorGRElement.getAttributeValue("middleSymbolSize")); grSpec.getAttributes().add(middleSymbolSize); connectorGRElement.removeAttribute("middleSymbolSize"); } if (connectorGRElement.getAttribute("relativeMiddleSymbolLocation") != null) { Attribute relativeMiddleSymbolLocation = new Attribute("relativeMiddleSymbolLocation", connectorGRElement.getAttributeValue("relativeMiddleSymbolLocation")); grSpec.getAttributes().add(relativeMiddleSymbolLocation); connectorGRElement.removeAttribute("relativeMiddleSymbolLocation"); } } convertOldNameToNewNames("Palette", "DiagramPalette", document); convertOldNameToNewNames("PaletteElement", "DiagramPaletteElement", document); convertOldNameToNewNames("Shema", "Diagram", document); convertOldNameToNewNames("ContainedShape", "Shape", document); convertOldNameToNewNames("ContainedConnector", "Connector", document); convertOldNameToNewNames("FromShape", "StartShape", document); convertOldNameToNewNames("ToShape", "EndShape", document); convertOldNameToNewNames("Border", "ShapeBorder", document); convertOldNameToNewNames("LineConnector", "LineConnectorSpecification", document); convertOldNameToNewNames("CurvedPolylinConnector", "CurvedPolylinConnectorSpecification", document); convertOldNameToNewNames("RectPolylinConnector", "RectPolylinConnectorSpecification", document); removeNamedElements(document, "PrimaryConceptOWLIndividualPatternRole"); removeNamedElements(document, "StartShapeGraphicalRepresentation"); removeNamedElements(document, "EndShapeGraphicalRepresentation"); removeNamedElements(document, "ArtifactFromShapeGraphicalRepresentation"); removeNamedElements(document, "ArtifactToShapeGraphicalRepresentation"); removeNamedElements(document, "PrimaryRepresentationConnectorPatternRole"); removeNamedElements(document, "PrimaryRepresentationShapePatternRole"); removeNamedElements(document, "PrimaryConceptObjectPropertyStatementPatternRole"); removeNamedElements(document, "ToShapePatternRole"); removeNamedElements(document, "StartShapeGraphicalRepresentation"); removeNamedElements(document, "EndShapeGraphicalRepresentation"); // Change all "this" for (Content content : document.getDescendants()) { if (content instanceof Element) { Element element = (Element) content; for (Attribute attribute : element.getAttributes()) { if (attribute.getValue().startsWith("this")) { if (element.getName().equals("ModelSlot_VirtualModelModelSlot")) { attribute.setValue(attribute.getValue().replace("this", "virtualModelInstance")); } if (element.getName().equals("VirtualModelModelSlot")) { attribute.setValue(attribute.getValue().replace("this", "virtualModelInstance")); } if (attribute.getName().equals("virtualModelInstance")) { attribute.setValue(attribute.getValue().replace("this", "virtualModelInstance")); } else { attribute.setValue(attribute.getValue().replace("this", "flexoBehaviourInstance")); } } } } } }
From source file:org.openflexo.technologyadapter.owl.model.OWLOntology.java
License:Open Source License
private static String findOntologyURIWithRDFBaseMethod(File aFile) { Document document;//from www .j av a 2 s. c o m try { logger.fine("Try to find URI for " + aFile); document = readXMLFile(aFile); Element root = getElement(document, "RDF"); if (root != null) { Iterator it = root.getAttributes().iterator(); while (it.hasNext()) { Attribute at = (Attribute) it.next(); if (at.getName().equals("base")) { logger.fine("Returned " + at.getValue()); return at.getValue(); } } } root = getElement(document, "Ontology"); if (root != null) { Iterator it = root.getAttributes().iterator(); while (it.hasNext()) { Attribute at = (Attribute) it.next(); if (at.getName().equals("base")) { logger.fine("Returned " + at.getValue()); return at.getValue(); } } } } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } logger.fine("Returned null"); return null; }
From source file:org.openflexo.technologyadapter.owl.model.OWLOntology.java
License:Open Source License
public static String findOntologyName(File aFile) { if (aFile == null || !aFile.exists() || aFile.length() == 0) { if (aFile != null && aFile.length() == 0) { aFile.delete();// w w w . j ava2s.c o m } return null; } Document document; try { logger.fine("Try to find name for " + aFile); document = readXMLFile(aFile); Element root = getElement(document, "RDF"); if (root != null) { Element ontology = getElement(root, "Ontology"); if (ontology != null) { Element title = getElement(root, "title"); if (title != null) { return title.getValue(); } List<Attribute> l = ontology.getAttributes(); for (int i = 0; i < l.size(); i++) { Attribute a = l.get(i); if (a.getName().equals("title")) { return a.getValue(); } } } } } catch (JDOMException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return aFile.getName(); }
From source file:org.plasma.xml.uml.DefaultUMLModelAssembler.java
License:Open Source License
private Element buildProperty(Package pkg, Class clss, Property property, Element parentElem) { if (log.isDebugEnabled()) log.debug("creating property " + property.getName()); Element ownedAttribute = new Element("ownedAttribute"); parentElem.addContent(ownedAttribute); ownedAttribute.setAttribute(new Attribute("type", "uml:Property", xmiNs)); ownedAttribute.setAttribute(new Attribute("id", property.getId(), xmiNs)); ownedAttribute.setAttribute(new Attribute("name", property.getName())); if (property.getVisibility() != null) ownedAttribute.setAttribute(new Attribute("visibility", property.getVisibility().value())); if (property.getDocumentations() != null) for (Documentation doc : property.getDocumentations()) { if (doc.getBody() != null) addOwnedComment(ownedAttribute, property.getId(), doc.getBody().getValue()); }/* w w w. j a v a 2s.c o m*/ Element upperValue = new Element("upperValue"); ownedAttribute.addContent(upperValue); upperValue.setAttribute(new Attribute("type", "uml:LiteralUnlimitedNatural", xmiNs)); upperValue.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); upperValue.setAttribute(new Attribute("visibility", "public")); if (property.isMany()) upperValue.setAttribute(new Attribute("value", "*")); else upperValue.setAttribute(new Attribute("value", "1")); Element lowerValue = new Element("lowerValue"); ownedAttribute.addContent(lowerValue); lowerValue.setAttribute(new Attribute("type", "uml:LiteralInteger", xmiNs)); lowerValue.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); lowerValue.setAttribute(new Attribute("visibility", "public")); if (property.isNullable()) lowerValue.setAttribute(new Attribute("value", "0")); else lowerValue.setAttribute(new Attribute("value", "1")); if (property.getType() instanceof DataTypeRef) { Element type = new Element("type"); ownedAttribute.addContent(type); type.setAttribute(new Attribute("type", "uml:DataType", xmiNs)); //type.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); type.setAttribute( new Attribute("href", this.dataTypeHRefPrefix + ((DataTypeRef) property.getType()).getName())); } else { // set reference specific attribs ClassRef targetClassRef = (ClassRef) property.getType(); Class targetClass = classMap.get(targetClassRef.getUri() + "#" + targetClassRef.getName()); ownedAttribute.setAttribute(new Attribute("type", targetClass.getId())); } // add stereotypes in order of "priority" in terms of how we // would like them to appear in UML tools if (property.getKey() != null) { Element keyStereotype = new Element(SDOKey.class.getSimpleName(), plasmaNs); this.xmiElem.addContent(keyStereotype); keyStereotype.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); keyStereotype.setAttribute(new Attribute(SDOKey.BASE__PROPERTY, property.getId())); keyStereotype.setAttribute(new Attribute(SDOKey.TYPE, // provisioning key-type is JAXB generated and upper-case property.getKey().getType().name().toLowerCase())); } if (property.getUniqueConstraint() != null) { Element uniqueStereotype = new Element(SDOUniqueConstraint.class.getSimpleName(), plasmaNs); this.xmiElem.addContent(uniqueStereotype); uniqueStereotype.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); uniqueStereotype.setAttribute(new Attribute(SDOUniqueConstraint.BASE__PROPERTY, property.getId())); uniqueStereotype.setAttribute( new Attribute(SDOUniqueConstraint.GROUP, property.getUniqueConstraint().getGroup())); } if (property.getAlias() != null) { addAlias(property.getAlias(), property.getId()); } if (property.getSort() != null) { Element sequenceStereotype = new Element(SDOSort.class.getSimpleName(), plasmaNs); this.xmiElem.addContent(sequenceStereotype); sequenceStereotype.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); sequenceStereotype.setAttribute(new Attribute(SDOSort.BASE__PROPERTY, property.getId())); sequenceStereotype .setAttribute(new Attribute(SDOSort.KEY, String.valueOf(property.getSort().getKey()))); } if (property.getXmlProperty() != null) { Element xmlPropertyStereotype = new Element(SDOXmlProperty.class.getSimpleName(), plasmaNs); this.xmiElem.addContent(xmlPropertyStereotype); xmlPropertyStereotype.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); xmlPropertyStereotype.setAttribute(new Attribute(SDOXmlProperty.BASE__PROPERTY, property.getId())); xmlPropertyStereotype.setAttribute(new Attribute(SDOXmlProperty.NODE_TYPE, property.getXmlProperty().getNodeType().name().toLowerCase())); } if (property.getValueConstraint() != null) { Element valueContStereotype = new Element(SDOValueConstraint.class.getSimpleName(), plasmaNs); this.xmiElem.addContent(valueContStereotype); valueContStereotype.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); valueContStereotype.setAttribute(new Attribute(SDOValueConstraint.BASE__PROPERTY, property.getId())); ValueConstraint vc = property.getValueConstraint(); if (vc.getTotalDigits() != null) valueContStereotype.setAttribute( new Attribute(SDOValueConstraint.TOTAL_DIGITS, String.valueOf(vc.getTotalDigits()))); if (vc.getFractionDigits() != null) valueContStereotype.setAttribute( new Attribute(SDOValueConstraint.FRACTION_DIGITS, String.valueOf(vc.getFractionDigits()))); if (vc.getMaxInclusive() != null) valueContStereotype.setAttribute( new Attribute(SDOValueConstraint.MAX_INCLUSIVE, String.valueOf(vc.getMaxInclusive()))); if (vc.getMaxExclusive() != null) valueContStereotype.setAttribute( new Attribute(SDOValueConstraint.MAX_EXCLUSIVE, String.valueOf(vc.getMaxExclusive()))); if (vc.getMaxLength() != null) valueContStereotype.setAttribute( new Attribute(SDOValueConstraint.MAX_LENGTH, String.valueOf(vc.getMaxLength()))); if (vc.getMinInclusive() != null) valueContStereotype.setAttribute( new Attribute(SDOValueConstraint.MIN_INCLUSIVE, String.valueOf(vc.getMinInclusive()))); if (vc.getMinExclusive() != null) valueContStereotype.setAttribute( new Attribute(SDOValueConstraint.MIN_EXCLUSIVE, String.valueOf(vc.getMinExclusive()))); if (vc.getMinLength() != null) valueContStereotype.setAttribute( new Attribute(SDOValueConstraint.MIN_LENGTH, String.valueOf(vc.getMinLength()))); if (vc.getPattern() != null) valueContStereotype .setAttribute(new Attribute(SDOValueConstraint.PATTERN, String.valueOf(vc.getPattern()))); } if (property.getEnumerationConstraint() != null) { Element enumConstraintStereotype = new Element(SDOEnumerationConstraint.class.getSimpleName(), plasmaNs); this.xmiElem.addContent(enumConstraintStereotype); enumConstraintStereotype.setAttribute(new Attribute("id", UUID.randomUUID().toString(), xmiNs)); enumConstraintStereotype .setAttribute(new Attribute(SDOUniqueConstraint.BASE__PROPERTY, property.getId())); EnumerationConstraint constraint = property.getEnumerationConstraint(); EnumerationRef enumRef = constraint.getValue(); String enumRefId = enumRef.getUri() + "#" + enumRef.getName(); Element enumeration = this.enumElementMap.get(enumRefId); if (enumeration == null) { enumeration = this.buildEnumeration(constraint); Element pkgElement = this.elementMap.get(pkg.getId()); pkgElement.addContent(enumeration); this.enumElementMap.put(enumRefId, enumeration); } Attribute enumId = enumeration.getAttribute("id", xmiNs); enumConstraintStereotype.setAttribute(new Attribute(SDOEnumerationConstraint.VALUE, enumId.getValue())); } return ownedAttribute; }
From source file:org.rascalmpl.library.lang.xml.DOM.java
License:Open Source License
private IConstructor convertElement(Element e, boolean trim) { IListWriter kids = vf.listWriter(Factory.Node); for (Object o : e.getAttributes()) { Attribute attr = (Attribute) o; IString key = vf.string(attr.getName()); IString val = vf.string(attr.getValue()); kids.insert(vf.constructor(Factory.Node_attribute, convertNamespace(attr.getNamespace()), key, val)); }/* w ww . ja v a2 s . co m*/ int len = e.getContentSize(); for (int i = 0; i < len; i++) { try { kids.append(convertContent(e.getContent(i), trim)); } catch (Skip c) { // Ugh, terrible, but I'm in hurry continue; } } IString name = vf.string(e.getName()); return vf.constructor(Factory.Node_element, convertNamespace(e.getNamespace()), name, kids.done()); }
From source file:org.rometools.feed.module.content.io.ContentModuleParser.java
License:Open Source License
public com.sun.syndication.feed.module.Module parse(org.jdom2.Element element) { boolean foundSomething = false; ContentModule cm = new ContentModuleImpl(); List encodeds = element.getChildren("encoded", CONTENT_NS); ArrayList contentStrings = new ArrayList(); ArrayList encodedStrings = new ArrayList(); if (encodeds.size() > 0) { foundSomething = true;/* www . j a v a 2s . c o m*/ for (int i = 0; i < encodeds.size(); i++) { Element encodedElement = (Element) encodeds.get(i); encodedStrings.add(encodedElement.getText()); contentStrings.add(encodedElement.getText()); } } ArrayList contentItems = new ArrayList(); List items = element.getChildren("items", CONTENT_NS); for (int i = 0; i < items.size(); i++) { foundSomething = true; List lis = ((Element) items.get(i)).getChild("Bag", RDF_NS).getChildren("li", RDF_NS); for (int j = 0; j < lis.size(); j++) { ContentItem ci = new ContentItem(); Element li = (Element) lis.get(j); Element item = li.getChild("item", CONTENT_NS); Element format = item.getChild("format", CONTENT_NS); Element encoding = item.getChild("encoding", CONTENT_NS); Element value = item.getChild("value", RDF_NS); if (value != null) { if (value.getAttributeValue("parseType", RDF_NS) != null) { ci.setContentValueParseType(value.getAttributeValue("parseType", RDF_NS)); } if ((ci.getContentValueParseType() != null) && ci.getContentValueParseType().equals("Literal")) { ci.setContentValue(getXmlInnerText(value)); contentStrings.add(getXmlInnerText(value)); ci.setContentValueNamespaces(value.getAdditionalNamespaces()); } else { ci.setContentValue(value.getText()); contentStrings.add(value.getText()); } ci.setContentValueDOM(((Element) value.clone()).getContent()); } if (format != null) { ci.setContentFormat(format.getAttribute("resource", RDF_NS).getValue()); } if (encoding != null) { ci.setContentEncoding(encoding.getAttribute("resource", RDF_NS).getValue()); } if (item != null) { Attribute about = item.getAttribute("about", RDF_NS); if (about != null) { ci.setContentAbout(about.getValue()); } } contentItems.add(ci); } } cm.setEncodeds(encodedStrings); cm.setContentItems(contentItems); cm.setContents(contentStrings); return (foundSomething) ? cm : null; }
From source file:org.rometools.feed.module.opensearch.impl.OpenSearchModuleParser.java
License:Apache License
/** Use xml:base attributes at feed and entry level to resolve relative links */ private static String resolveURI(URL baseURI, Parent parent, String url) { url = (url.equals(".") || url.equals("./")) ? "" : url; if (isRelativeURI(url) && parent != null && parent instanceof Element) { Attribute baseAtt = ((Element) parent).getAttribute("base", Namespace.XML_NAMESPACE); String xmlBase = (baseAtt == null) ? "" : baseAtt.getValue(); if (!isRelativeURI(xmlBase) && !xmlBase.endsWith("/")) { xmlBase = xmlBase.substring(0, xmlBase.lastIndexOf("/") + 1); }// w ww . j av a2s. com return resolveURI(baseURI, parent.getParent(), xmlBase + url); } else if (isRelativeURI(url) && parent == null) { return baseURI + url; } else if (baseURI != null && url.startsWith("/")) { String hostURI = baseURI.getProtocol() + "://" + baseURI.getHost(); if (baseURI.getPort() != baseURI.getDefaultPort()) { hostURI = hostURI + ":" + baseURI.getPort(); } return hostURI + url; } return url; }