--- a
+++ b/src/main/java/net/timbusproject/iermtoowl/utils/UnifiedRiskReader.java
@@ -0,0 +1,81 @@
+package net.timbusproject.iermtoowl.utils;
+
+import net.timbusproject.iermtoowl.BusinessActivity;
+import net.timbusproject.iermtoowl.BusinessProcess;
+import net.timbusproject.iermtoowl.Resource;
+import net.timbusproject.iermtoowl.Risk;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import java.io.File;
+
+/**
+ * Created by miguel on 24-06-2014.
+ */
+public class UnifiedRiskReader {
+
+ static BusinessProcess riskXml;
+
+ public UnifiedRiskReader() {
+ }
+
+ public void readFromFile(String path) {
+ try {
+
+ File file = fileHandler(path);
+ JAXBContext jaxbContext = JAXBContext.newInstance(BusinessProcess.class);
+
+ Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
+ riskXml = (BusinessProcess) jaxbUnmarshaller.unmarshal(file);
+
+ relateResources();
+
+ System.out.println(riskXml.getId() + " - " + riskXml.getRisk().size() + " - " + riskXml.getResource().size() + " - " + riskXml.getBusinessActivity().size());
+ System.out.println(riskXml.getRisk().get(0).getId() + ": " + riskXml.getRisk().get(0).getName());
+
+ } catch (JAXBException e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void relateResources() {
+ for (Risk r : riskXml.getRisk()) {
+ if (r.getOccurInResource() != null && r.getOccurInResource() != "") {
+ String resourceId = r.getOccurInResource();
+ for (Resource re : riskXml.getResource())
+ if (re.getId().equals(resourceId)) {
+ r.setOccurInResourceInstance(re);
+ break;
+ }
+ }
+ }
+ for (BusinessActivity bsa : riskXml.getBusinessActivity()) {
+ if (bsa.getRequireResource() != null)
+ for (String a : bsa.getRequireResource()) {
+ if (a != null && a != "")
+ for (Resource r : riskXml.getResource()) {
+ if (r.getId() != null && !r.getId().equals(""))
+ if (a.equals(r.getId())) {
+ bsa.getRequiredResourceInstance().add(r);
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ public static File fileHandler(String path) {
+ File file;
+ if (path.startsWith("/") || path.startsWith("~"))
+ file = new File(path);
+ else
+ file = new File(new File(System.getProperty("user.dir")), path);
+ return file;
+ }
+
+ public static void main(String[] args) {
+ UnifiedRiskReader reader = new UnifiedRiskReader();
+ reader.readFromFile("/home/miguel/Documentos/ierm-bpmn-owl-project/ierm-owl/risk-output-forDPES.xml");
+ }
+}