diff --git a/.classpath b/.classpath index 606daf4..82dfd65 100644 --- a/.classpath +++ b/.classpath @@ -15,13 +15,12 @@ - + - - - - - - + + + + + diff --git a/build.xml b/build.xml index 14a730b..b876446 100644 --- a/build.xml +++ b/build.xml @@ -8,7 +8,6 @@ - @@ -51,15 +50,19 @@ - - + + + + + + diff --git a/configuration.properties b/configuration.properties new file mode 100644 index 0000000..dc25d9a --- /dev/null +++ b/configuration.properties @@ -0,0 +1,2 @@ +#comma separated list of dml urls +dml.path=/home/testEnv/fdb/fenix-webapp/target/dmls diff --git a/src/fenixDomainBrowser/client/ClassSelected.java b/src/fenixDomainBrowser/client/ClassSelected.java index 85572af..a5f0d03 100644 --- a/src/fenixDomainBrowser/client/ClassSelected.java +++ b/src/fenixDomainBrowser/client/ClassSelected.java @@ -8,7 +8,6 @@ import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.user.client.History; import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HorizontalPanel; diff --git a/src/fenixDomainBrowser/client/CustomButton.java b/src/fenixDomainBrowser/client/CustomButton.java index c078483..dba7574 100644 --- a/src/fenixDomainBrowser/client/CustomButton.java +++ b/src/fenixDomainBrowser/client/CustomButton.java @@ -4,7 +4,6 @@ import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Element; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.Image; diff --git a/src/fenixDomainBrowser/client/DashBoard.java b/src/fenixDomainBrowser/client/DashBoard.java index 096b276..a8f57ce 100644 --- a/src/fenixDomainBrowser/client/DashBoard.java +++ b/src/fenixDomainBrowser/client/DashBoard.java @@ -1,14 +1,9 @@ package fenixDomainBrowser.client; import com.google.gwt.core.client.GWT; -import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; -import com.google.gwt.uibinder.client.UiHandler; -import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.HasText; import com.google.gwt.user.client.ui.Widget; public class DashBoard extends Composite { diff --git a/src/fenixDomainBrowser/client/Interface.java b/src/fenixDomainBrowser/client/Interface.java index 2be4239..73a999a 100644 --- a/src/fenixDomainBrowser/client/Interface.java +++ b/src/fenixDomainBrowser/client/Interface.java @@ -215,10 +215,10 @@ public void onClick(ClickEvent event) { public void onClick(ClickEvent arg0) { final PopupPanel popupPanel = new PopupPanel(); popupPanel.setWidth("500px"); - popupPanel.add(new Label("Loading DML from SVN ...")); + popupPanel.add(new Label("Loading DML from GitHub ...")); popupPanel.center(); popupPanel.show(); - RELAY.freshDML(new LoadClassesCallback(popupPanel, "Loading DML from SVN ...", "Fenix Live", + RELAY.freshDML(new LoadClassesCallback(popupPanel, "Loading DML from GitHub ...", "Fenix Live", "net.sourceforge.fenixedu.domain")); } }); diff --git a/src/fenixDomainBrowser/server/ConfigurationProperties.java b/src/fenixDomainBrowser/server/ConfigurationProperties.java new file mode 100644 index 0000000..9e1df73 --- /dev/null +++ b/src/fenixDomainBrowser/server/ConfigurationProperties.java @@ -0,0 +1,51 @@ +package fenixDomainBrowser.server; + +import java.io.File; +import java.io.FilenameFilter; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +import org.apache.commons.lang.StringUtils; + +public class ConfigurationProperties { + private static Properties props; + + static { + props = new Properties(); + try { + props.load(ConfigurationProperties.class.getResourceAsStream("/configuration.properties")); + } catch (IOException e) { + e.printStackTrace(); + } + } + + public static Map getDMLUrls() { + Map urls = new HashMap(); + String dmlPath = (String) props.get("dml.path"); + + if (StringUtils.isEmpty(dmlPath)) { + dmlPath = "/tmp/dmls/"; + } + + File[] listFiles = new File(dmlPath).listFiles(new FilenameFilter() { + + @Override + public boolean accept(File dir, String name) { + return name.endsWith(".dml"); + } + }); + + for (File file : listFiles) { + try { + urls.put(file.getName(), file.toURL()); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + return urls; + } +} diff --git a/src/fenixDomainBrowser/server/DomainModelProvider.java b/src/fenixDomainBrowser/server/DomainModelProvider.java index ec64081..4b20ac4 100644 --- a/src/fenixDomainBrowser/server/DomainModelProvider.java +++ b/src/fenixDomainBrowser/server/DomainModelProvider.java @@ -1,9 +1,7 @@ package fenixDomainBrowser.server; -import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; @@ -16,15 +14,13 @@ import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; -import java.util.zip.ZipInputStream; import java.util.zip.ZipOutputStream; -import pt.ist.fenixframework.pstm.DML; -import pt.ist.fenixframework.pstm.dml.FenixDomainModel; -import pt.ist.fenixframework.pstm.dml.FenixDomainModelWithOCC; +import pt.ist.fenixframework.DomainModelParser; +import pt.ist.fenixframework.dml.DomainClass; +import pt.ist.fenixframework.dml.DomainModel; +import pt.ist.fenixframework.dml.Slot; import sun.misc.BASE64Decoder; -import dml.DomainClass; -import dml.Slot; import fenixDomainBrowser.client.NewFilesPopup.OpenFilesState; import fenixDomainBrowser.server.graphvizAdapter.Dot; import fenixDomainBrowser.shared.ClassBean; @@ -71,9 +67,9 @@ public DomainModelDefinitions(List data) { public class LoadedDomainModel { - private FenixDomainModel domainModel; + private DomainModel domainModel; private DomainModelDefinitions domainModelDefinitions; - private HashMap> subclasses = new HashMap>(); + private final HashMap> subclasses = new HashMap>(); public LoadedDomainModel(DomainModelDefinitions dmd) { List domainModelURLs = new ArrayList(); @@ -81,7 +77,8 @@ public LoadedDomainModel(DomainModelDefinitions dmd) { for (String string : dmd.fileNames) { domainModelURLs.add(new File(string).toURL()); } - domainModel = DML.getDomainModelForURLs(FenixDomainModelWithOCC.class, domainModelURLs, true); +// domainModel = DML.getDomainModelForURLs(DomainModelWithOCC.class, domainModelURLs, true); + domainModel = DomainModelParser.getDomainModel(domainModelURLs); } catch (Exception e) { throw new RuntimeException("error loading DML",e); } @@ -110,7 +107,7 @@ public DomainModelDefinitions getDomainModelDefinitions() { } } - private HashMap domainModels = new HashMap(); + private final HashMap domainModels = new HashMap(); public DomainModelProvider() { } @@ -134,11 +131,11 @@ public LoadedDomainModel getLoadedDomainModel(FDBState state) { return domainModels.get(state.getSignature()); } - public FenixDomainModel getDomainModel(DomainModelSignatures signature) { + public DomainModel getDomainModel(DomainModelSignatures signature) { return getLoadedDomainModel(signature).domainModel; } - public FenixDomainModel getDomainModel(FDBState signature) { + public DomainModel getDomainModel(FDBState signature) { return getDomainModel(signature.getSignature()); } @@ -193,7 +190,7 @@ public void loadFromDomainModelDomainModelDefinitions(DomainModelDefinitions dmd fos.close(); ZipFile zipFile = new ZipFile(tempZipFile); - ZipEntry entry = (ZipEntry) zipFile.entries().nextElement(); + ZipEntry entry = zipFile.entries().nextElement(); InputStream eis = zipFile.getInputStream(entry); byte[] buffer = new byte[1024]; diff --git a/src/fenixDomainBrowser/server/FenixDomainBrowserRelayImpl.java b/src/fenixDomainBrowser/server/FenixDomainBrowserRelayImpl.java index bef9055..74336dd 100644 --- a/src/fenixDomainBrowser/server/FenixDomainBrowserRelayImpl.java +++ b/src/fenixDomainBrowser/server/FenixDomainBrowserRelayImpl.java @@ -5,22 +5,25 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; import java.util.Enumeration; import java.util.List; +import java.util.Map; +import java.util.TreeSet; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import org.apache.commons.io.FileUtils; -import pt.ist.fenixframework.pstm.dml.FenixDomainModel; +import pt.ist.fenixframework.dml.DomainClass; +import pt.ist.fenixframework.dml.DomainModel; import com.google.gwt.user.server.rpc.RemoteServiceServlet; -import dml.DomainClass; import fenixDomainBrowser.client.FenixDomainBrowserRelay; import fenixDomainBrowser.client.NewFilesPopup.OpenFilesState; import fenixDomainBrowser.server.DomainModelProvider.DomainModelDefinitions; @@ -33,175 +36,200 @@ @SuppressWarnings("serial") public class FenixDomainBrowserRelayImpl extends RemoteServiceServlet implements FenixDomainBrowserRelay { public static final DomainModelProvider DOMAIN_PROVIDER = new DomainModelProvider(); + public static final String DML_PATH = "/tmp/dmls/"; + public static final String DML_STATUS_FILE = DML_PATH + "/" + "fdb.status"; public FenixDomainBrowserRelayImpl() { } @Override public ClassBean[] getDomainClasses(FDBState bean) { - FenixDomainModel fdm = DOMAIN_PROVIDER.getDomainModel(bean.getSignature()); - ClassBean[] cb = new ClassBean[fdm.getDomainClasses().size()]; - int i = 0; - for (DomainClass domainClass : fdm.getDomainClasses()) { - cb[i++] = ReflexFactory.fromClass(domainClass, bean); - } - Arrays.sort(cb); - return cb; + DomainModel fdm = DOMAIN_PROVIDER.getDomainModel(bean.getSignature()); + ClassBean[] cb = new ClassBean[fdm.getDomainClasses().size()]; + int i = 0; + for (DomainClass domainClass : fdm.getDomainClasses()) { + cb[i++] = ReflexFactory.fromClass(domainClass, bean); + } + Arrays.sort(cb); + return cb; } @Override public FDBState generateGraph(FDBState bean) { - UMLGraph g = new UMLGraph(bean); - FDBState result = g.generate(); - return result; + UMLGraph g = new UMLGraph(bean); + FDBState result = g.generate(); + return result; } @Override public ClassBean findClass(String name, FDBState bean) { - return ReflexFactory.fromClass(DOMAIN_PROVIDER.getDomainModel(bean.getSignature()).findClass(name), bean); + return ReflexFactory.fromClass(DOMAIN_PROVIDER.getDomainModel(bean.getSignature()).findClass(name), bean); } private void dumpFiles(OpenFilesState files) { - try { - List result = new ArrayList(); - for (String s : files.files) { - ZipFile zipFile = new ZipFile(s); - for (Enumeration list = zipFile.entries(); list.hasMoreElements();) { - ZipEntry entry = (ZipEntry) list.nextElement(); - InputStream eis = zipFile.getInputStream(entry); - byte[] buffer = new byte[1024]; - int bytesRead = 0; - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - while ((bytesRead = eis.read(buffer)) != -1) { - baos.write(buffer, 0, bytesRead); - } - File f = File.createTempFile("dmlFromZip", ".dml"); - FileOutputStream fos = new FileOutputStream(f.getAbsoluteFile()); - fos.write(baos.toByteArray()); - fos.close(); - result.add(f.getAbsoluteFile().getAbsolutePath()); - } - } - files.files = result; - } catch (IOException e) { - throw new RuntimeException(e); - } + try { + List result = new ArrayList(); + for (String s : files.files) { + ZipFile zipFile = new ZipFile(s); + for (Enumeration list = zipFile.entries(); list.hasMoreElements();) { + ZipEntry entry = (ZipEntry) list.nextElement(); + InputStream eis = zipFile.getInputStream(entry); + byte[] buffer = new byte[1024]; + int bytesRead = 0; + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + while ((bytesRead = eis.read(buffer)) != -1) { + baos.write(buffer, 0, bytesRead); + } + File f = File.createTempFile("dmlFromZip", ".dml"); + FileOutputStream fos = new FileOutputStream(f.getAbsoluteFile()); + fos.write(baos.toByteArray()); + fos.close(); + result.add(f.getAbsoluteFile().getAbsolutePath()); + } + } + files.files = result; + } catch (IOException e) { + throw new RuntimeException(e); + } } @Override public FDBState loadFiles(OpenFilesState files) { - if (files.zip) { - - dumpFiles(files); - } - - DomainModelSignatures dms = DOMAIN_PROVIDER.loadFiles(files); - FDBState state = new FDBState(dms); - FenixDomainModel domainModel = DOMAIN_PROVIDER.getDomainModel(dms); - state.setClasses(domainModel.getDomainClasses().size()); - state.setRelations(domainModel.getDomainRelations().size()); - state.setValueTypes(domainModel.getAllValueTypes().size()); - return state; + if (files.zip) { + + dumpFiles(files); + } + + DomainModelSignatures dms = DOMAIN_PROVIDER.loadFiles(files); + FDBState state = new FDBState(dms); + DomainModel domainModel = DOMAIN_PROVIDER.getDomainModel(dms); + state.setClasses(domainModel.getDomainClasses().size()); + state.setRelations(domainModel.getDomainRelations().size()); + state.setValueTypes(domainModel.getAllValueTypes().size()); + return state; } @Override public String generateSaveFile(FDBState state) { - DomainModelDefinitions dmd = DOMAIN_PROVIDER.getLoadedDomainModel(state).getDomainModelDefinitions(); - File tempFile; - try { - tempFile = File.createTempFile("save", ".fdb3"); - - JSONSerializer serializerState = new JSONSerializer().include("classesToSee", "classesInGraph", "hideSlots", - "hideClasses", "exclusiveSelection"); - String serialState = serializerState.serialize(state); - - JSONSerializer serializerDomainModel = new JSONSerializer().include("fileNames", "contents", "signatures", - "signatures.signatures"); - String serialDomainModel = serializerDomainModel.serialize(dmd); - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - baos.write((serialState.length() + "\n").getBytes()); - baos.write(serialState.getBytes()); - baos.write(serialDomainModel.getBytes()); - baos.close(); - - FileOutputStream fos = new FileOutputStream(tempFile.getAbsoluteFile()); - fos.write(DomainModelProvider.zipBytes("save.fdb3", baos.toByteArray())); - - } catch (IOException e) { - throw new RuntimeException(e); - } - return new sun.misc.BASE64Encoder().encode(tempFile.getAbsolutePath().getBytes()); + DomainModelDefinitions dmd = DOMAIN_PROVIDER.getLoadedDomainModel(state).getDomainModelDefinitions(); + File tempFile; + try { + tempFile = File.createTempFile("save", ".fdb3"); + + JSONSerializer serializerState = + new JSONSerializer().include("classesToSee", "classesInGraph", "hideSlots", "hideClasses", + "exclusiveSelection"); + String serialState = serializerState.serialize(state); + + JSONSerializer serializerDomainModel = + new JSONSerializer().include("fileNames", "contents", "signatures", "signatures.signatures"); + String serialDomainModel = serializerDomainModel.serialize(dmd); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + baos.write((serialState.length() + "\n").getBytes()); + baos.write(serialState.getBytes()); + baos.write(serialDomainModel.getBytes()); + baos.close(); + + FileOutputStream fos = new FileOutputStream(tempFile.getAbsoluteFile()); + fos.write(DomainModelProvider.zipBytes("save.fdb3", baos.toByteArray())); + + } catch (IOException e) { + throw new RuntimeException(e); + } + return new sun.misc.BASE64Encoder().encode(tempFile.getAbsolutePath().getBytes()); } @Override public FDBState loadFile(String file) { - try { - ZipFile zipFile = new ZipFile(file); - ZipEntry entry = (ZipEntry) zipFile.entries().nextElement(); - - InputStream eis = zipFile.getInputStream(entry); - byte[] buffer = new byte[1024]; - int bytesRead = 0; - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - - while ((bytesRead = eis.read(buffer)) != -1) { - baos.write(buffer, 0, bytesRead); - } - String result = new String(baos.toByteArray()); - int split = result.indexOf('\n'); - int size = Integer.valueOf(result.substring(0, split)); - - String state = result.substring(split + 1, split + 1 + size); - String dmd = result.substring(split + 1 + size); - FDBState fdbState = new JSONDeserializer().deserialize(state); - DomainModelDefinitions domainModelDefinitions = new JSONDeserializer().deserialize(dmd); - - DOMAIN_PROVIDER.loadFromDomainModelDomainModelDefinitions(domainModelDefinitions); - fdbState.setSignature(domainModelDefinitions.signatures); - return fdbState; - } catch (IOException e) { - throw new RuntimeException(e); - } + try { + ZipFile zipFile = new ZipFile(file); + ZipEntry entry = zipFile.entries().nextElement(); + + InputStream eis = zipFile.getInputStream(entry); + byte[] buffer = new byte[1024]; + int bytesRead = 0; + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + while ((bytesRead = eis.read(buffer)) != -1) { + baos.write(buffer, 0, bytesRead); + } + String result = new String(baos.toByteArray()); + int split = result.indexOf('\n'); + int size = Integer.valueOf(result.substring(0, split)); + + String state = result.substring(split + 1, split + 1 + size); + String dmd = result.substring(split + 1 + size); + FDBState fdbState = new JSONDeserializer().deserialize(state); + DomainModelDefinitions domainModelDefinitions = new JSONDeserializer().deserialize(dmd); + + DOMAIN_PROVIDER.loadFromDomainModelDomainModelDefinitions(domainModelDefinitions); + fdbState.setSignature(domainModelDefinitions.signatures); + return fdbState; + } catch (IOException e) { + throw new RuntimeException(e); + } } @Override public String saveStateForOtherOps(FDBState state) { - JSONSerializer serializerState = new JSONSerializer().include("classesToSee", "classesInGraph", "hideSlots", - "hideClasses", "exclusiveSelection", "signature", "signature.signatures"); - try { - String serialState = serializerState.serialize(state); - File tempFile = File.createTempFile("otherOps", ".state"); - FileOutputStream fos = new FileOutputStream(tempFile); - fos.write(serialState.getBytes()); - return new sun.misc.BASE64Encoder().encode(tempFile.getAbsolutePath().getBytes()); - } catch (Exception e) { - throw new RuntimeException(e); - } + JSONSerializer serializerState = + new JSONSerializer().include("classesToSee", "classesInGraph", "hideSlots", "hideClasses", "exclusiveSelection", + "signature", "signature.signatures"); + try { + String serialState = serializerState.serialize(state); + File tempFile = File.createTempFile("otherOps", ".state"); + FileOutputStream fos = new FileOutputStream(tempFile); + fos.write(serialState.getBytes()); + return new sun.misc.BASE64Encoder().encode(tempFile.getAbsolutePath().getBytes()); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + + private void writeDMLStatusFile() { + try { + File file = new File(DML_STATUS_FILE); + FileUtils.writeStringToFile(file, new Date().toString()); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + + private boolean mustUpdateDML() { + File file = new File(DML_STATUS_FILE); + if (!file.exists()) { + return true; + } + return (Calendar.getInstance().getTimeInMillis() - file.lastModified()) > 3 * 60 * 60 * 1000; } @Override public FDBState freshDML() { - final String FENIX_DML_URL = "https://fenix-ashes.ist.utl.pt/open/trunk/fenix/config/domain_model.dml"; - final String SCHEDULER_PLUGIN_URL = "https://fenix-ashes.ist.utl.pt/open/trunk/infrastructure/scheduler-plugin/src/main/dml/scheduler-plugin.dml"; - - try { - FileUtils.copyURLToFile(new URL(FENIX_DML_URL), new File("/tmp/fenix.dml")); - FileUtils.copyURLToFile(new URL(SCHEDULER_PLUGIN_URL), new File("/tmp/scheduler.dml")); - OpenFilesState files = new OpenFilesState(); - files.files.add("/tmp/scheduler.dml"); - files.files.add("/tmp/fenix.dml"); - return loadFiles(files); - - } catch (MalformedURLException e) { - throw new RuntimeException(e); - } catch (IOException e) { - throw new RuntimeException(e); - } - + boolean mustUpdateDML = mustUpdateDML(); + OpenFilesState files = new OpenFilesState(); + Map dmlUrls = ConfigurationProperties.getDMLUrls(); + for (String dmlFile : new TreeSet(dmlUrls.keySet())) { + try { + String filename = DML_PATH + "/" + dmlFile + ".dml"; + System.out.println(filename); + if (mustUpdateDML) { + System.out.println("update:" + filename); + FileUtils.copyURLToFile(dmlUrls.get(dmlFile), new File(filename)); + } + files.files.add(filename); + } catch (IOException e) { + e.printStackTrace(); + } + } + if (mustUpdateDML) { + writeDMLStatusFile(); + } + return loadFiles(files); } } diff --git a/src/fenixDomainBrowser/server/PrintServlet.java b/src/fenixDomainBrowser/server/PrintServlet.java index b5f9eeb..138a4b5 100644 --- a/src/fenixDomainBrowser/server/PrintServlet.java +++ b/src/fenixDomainBrowser/server/PrintServlet.java @@ -8,7 +8,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import dml.DomainClass; +import pt.ist.fenixframework.dml.DomainClass; import fenixDomainBrowser.server.graphvizAdapter.Dot; import fenixDomainBrowser.shared.ClassBean; import fenixDomainBrowser.shared.FDBState; diff --git a/src/fenixDomainBrowser/server/ReflexFactory.java b/src/fenixDomainBrowser/server/ReflexFactory.java index 8fe1b41..1472164 100644 --- a/src/fenixDomainBrowser/server/ReflexFactory.java +++ b/src/fenixDomainBrowser/server/ReflexFactory.java @@ -1,8 +1,8 @@ package fenixDomainBrowser.server; -import dml.DomainClass; -import dml.DomainEntity; -import dml.Slot; +import pt.ist.fenixframework.dml.DomainClass; +import pt.ist.fenixframework.dml.DomainEntity; +import pt.ist.fenixframework.dml.Slot; import fenixDomainBrowser.shared.ClassBean; import fenixDomainBrowser.shared.FDBState; import fenixDomainBrowser.shared.SlotBean; diff --git a/src/fenixDomainBrowser/server/UMLGraph.java b/src/fenixDomainBrowser/server/UMLGraph.java index 921b0ea..b4d95ec 100644 --- a/src/fenixDomainBrowser/server/UMLGraph.java +++ b/src/fenixDomainBrowser/server/UMLGraph.java @@ -2,14 +2,12 @@ import java.util.HashMap; import java.util.HashSet; -import java.util.List; import java.util.Set; -import pt.ist.fenixframework.pstm.dml.FenixDomainModel; - -import dml.DomainClass; -import dml.DomainRelation; -import dml.Role; +import pt.ist.fenixframework.dml.DomainClass; +import pt.ist.fenixframework.dml.DomainModel; +import pt.ist.fenixframework.dml.DomainRelation; +import pt.ist.fenixframework.dml.Role; import fenixDomainBrowser.server.graphvizAdapter.ClassNode; import fenixDomainBrowser.server.graphvizAdapter.Dot; import fenixDomainBrowser.server.graphvizAdapter.Graph; @@ -103,7 +101,7 @@ public byte[] generateImage() { private void addAllClasssesAndRelations(ClassBean classBean) { boolean isExclusive = bean.getExclusiveSelection().contains(classBean); - FenixDomainModel domainModel = FenixDomainBrowserRelayImpl.DOMAIN_PROVIDER.getDomainModel(bean); + DomainModel domainModel = FenixDomainBrowserRelayImpl.DOMAIN_PROVIDER.getDomainModel(bean); DomainClass domainClass = domainModel.findClass(classBean.getId()); if (!bean.getHideClasses().contains(classBean)) { usedClasses.add(classBean); diff --git a/src/fenixDomainBrowser/server/graphvizAdapter/RelationEdge.java b/src/fenixDomainBrowser/server/graphvizAdapter/RelationEdge.java index f8dd241..59fcc2d 100644 --- a/src/fenixDomainBrowser/server/graphvizAdapter/RelationEdge.java +++ b/src/fenixDomainBrowser/server/graphvizAdapter/RelationEdge.java @@ -1,7 +1,7 @@ package fenixDomainBrowser.server.graphvizAdapter; -import dml.DomainRelation; -import dml.Role; +import pt.ist.fenixframework.dml.DomainRelation; +import pt.ist.fenixframework.dml.Role; public class RelationEdge extends Edge { private final DomainRelation relation; diff --git a/war/WEB-INF/lib/antlr-2.7.7.jar b/war/WEB-INF/lib/antlr-2.7.7.jar new file mode 100644 index 0000000..5e5f14b Binary files /dev/null and b/war/WEB-INF/lib/antlr-2.7.7.jar differ diff --git a/war/WEB-INF/lib/commons-lang-2.6.jar b/war/WEB-INF/lib/commons-lang-2.6.jar new file mode 100644 index 0000000..98467d3 Binary files /dev/null and b/war/WEB-INF/lib/commons-lang-2.6.jar differ diff --git a/war/WEB-INF/lib/dml-1.1.3.jar b/war/WEB-INF/lib/dml-1.1.3.jar deleted file mode 100644 index bddf770..0000000 Binary files a/war/WEB-INF/lib/dml-1.1.3.jar and /dev/null differ diff --git a/war/WEB-INF/lib/dml-fenix-1.1.3.jar b/war/WEB-INF/lib/dml-fenix-1.1.3.jar deleted file mode 100644 index 85d2d29..0000000 Binary files a/war/WEB-INF/lib/dml-fenix-1.1.3.jar and /dev/null differ diff --git a/war/WEB-INF/lib/fenix-framework-core-1.1.3.jar b/war/WEB-INF/lib/fenix-framework-core-1.1.3.jar deleted file mode 100644 index 9d73ff5..0000000 Binary files a/war/WEB-INF/lib/fenix-framework-core-1.1.3.jar and /dev/null differ diff --git a/war/WEB-INF/lib/fenix-framework-core-dml-2.4.0.jar b/war/WEB-INF/lib/fenix-framework-core-dml-2.4.0.jar new file mode 100644 index 0000000..8803146 Binary files /dev/null and b/war/WEB-INF/lib/fenix-framework-core-dml-2.4.0.jar differ diff --git a/war/WEB-INF/lib/joda-time-1.6.2.jar b/war/WEB-INF/lib/joda-time-1.6.2.jar new file mode 100644 index 0000000..9b045c3 Binary files /dev/null and b/war/WEB-INF/lib/joda-time-1.6.2.jar differ diff --git a/war/WEB-INF/lib/slf4j-api-1.7.2.jar b/war/WEB-INF/lib/slf4j-api-1.7.2.jar new file mode 100644 index 0000000..1a88708 Binary files /dev/null and b/war/WEB-INF/lib/slf4j-api-1.7.2.jar differ