diff --git a/README.ja.md b/README.ja.md index caeaa741..0435ce46 100644 --- a/README.ja.md +++ b/README.ja.md @@ -2,7 +2,7 @@ MR3 === ## Webサイト -* +* ## 概要 MR3 (Meta-Model Management based on RDFs Revision Reflection) は,次世代Webの候補の1つであるセマンティックWebにおけるRDF (Resource Description Framework)及びRDFS (RDF Schema)の視覚的な編集とそれらの間の関係を管理する機能を持つエディタです. diff --git a/README.md b/README.md index 4f9523f9..e395c359 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ MR3 ========== ## Web Site -* +* ## What is MR3 ? MR3 (Meta-Model Management based on RDFs Revision Reflection) is an editing tool of RDF-based contents developed for managing a relationship between RDF and RDFS contents. diff --git a/pom.xml b/pom.xml index 4be6cc74..71160786 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ net.sourcefoge mr3 jar - 1.0 + 1.0.1 MR^3 http://mr3.sourceforge.net diff --git a/src/main/assembly/descriptor-bin.xml b/src/main/assembly/descriptor-bin.xml index 6cd3f785..7bf98b08 100644 --- a/src/main/assembly/descriptor-bin.xml +++ b/src/main/assembly/descriptor-bin.xml @@ -24,6 +24,7 @@ src/main/resources ./ + *.bat *.xml *.jar License.txt diff --git a/src/main/java/net/sourceforge/mr3/resources/version_info.html b/src/main/java/net/sourceforge/mr3/resources/version_info.html index 3036a1e4..4d1868fc 100644 --- a/src/main/java/net/sourceforge/mr3/resources/version_info.html +++ b/src/main/java/net/sourceforge/mr3/resources/version_info.html @@ -11,7 +11,7 @@
Version:
-
1.0
+
1.0.1
License:
@@ -20,25 +20,26 @@ Project Website:
- http://mr3.sourceforge.net/ + http://mrcube.org/
Contact:
Takeshi Morita (t_morita@ae.keio.ac.jp)
-

Copyright (C) 2003-2015 Yamaguchi Laboratory, Keio University.

+

Copyright (C) 2003-2016 Yamaguchi Laboratory, Keio University.



Acknowledgements
MR 3uses the following libraries. + diff --git a/src/main/java/net/sourceforge/mr3/ui/ExportDialog.java b/src/main/java/net/sourceforge/mr3/ui/ExportDialog.java index ef51f176..7b3ee7d5 100644 --- a/src/main/java/net/sourceforge/mr3/ui/ExportDialog.java +++ b/src/main/java/net/sourceforge/mr3/ui/ExportDialog.java @@ -36,10 +36,11 @@ import java.io.IOException; import java.io.OutputStreamWriter; import java.io.StringWriter; +import java.io.UnsupportedEncodingException; import java.io.Writer; +import java.net.URLDecoder; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.Map; import java.util.Set; @@ -80,6 +81,8 @@ import org.jgraph.graph.GraphCell; import org.jgraph.graph.GraphConstants; +import com.hp.hpl.jena.datatypes.RDFDatatype; +import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; import com.hp.hpl.jena.rdf.model.Property; @@ -88,7 +91,7 @@ import com.hp.hpl.jena.rdf.model.Resource; import com.hp.hpl.jena.rdf.model.ResourceFactory; import com.hp.hpl.jena.rdf.model.Statement; -import com.hp.hpl.jena.rdf.model.StmtIterator; +import com.hp.hpl.jena.shared.InvalidPropertyURIException; import com.hp.hpl.jena.util.URIref; import com.hp.hpl.jena.vocabulary.RDFS; @@ -232,8 +235,7 @@ public void actionPerformed(ActionEvent e) { JPanel exportButtonPanel = new JPanel(); exportButtonPanel.setLayout(new GridLayout(2, 1, 5, 5)); - exportButtonPanel - .setBorder(BorderFactory.createTitledBorder(Translator.getString("Component.File.Export.Text"))); + exportButtonPanel.setBorder(BorderFactory.createTitledBorder(Translator.getString("Component.File.Export.Text"))); exportButtonPanel.add(exportFileButton); exportButtonPanel.add(exportImgButton); @@ -276,15 +278,20 @@ private File getFile() { private File getFile(String extension) { JFileChooser jfc = new JFileChooser(gmanager.getUserPrefs().get(PrefConstants.WorkDirectory, "")); - if (extension.equals("rdf")) { + switch (extension) { + case "rdf": jfc.addChoosableFileFilter(rdfsFileFilter); jfc.addChoosableFileFilter(owlFileFilter); - } else if (extension.equals("n3")) { + break; + case "n3": jfc.setFileFilter(n3FileFilter); - } else if (extension.equals("ttl")) { + break; + case "ttl": jfc.setFileFilter(turtleFileFilter); - } else if (extension.equals("png")) { + break; + case "png": jfc.setFileFilter(pngFileFilter); + break; } if (jfc.showSaveDialog(gmanager.getDesktopTabbedPane()) == JFileChooser.APPROVE_OPTION) { @@ -317,7 +324,7 @@ public void actionPerformed(ActionEvent e) { try { String encoding = gmanager.getUserPrefs().get(PrefConstants.OutputEncoding, "UTF8"); Writer writer = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(file)), encoding); - writeModel(getModel(), writer); + writer.write(getModelString(getModel())); writer.close(); } catch (Exception ex) { ex.printStackTrace(); @@ -355,11 +362,9 @@ public void actionPerformed(ActionEvent e) { BufferedImage img = null; if (rdfConvertBox.isSelected() && gmanager.getCurrentRDFGraph().getModel().getRootCount() > 0) { img = GPConverter.toImage(gmanager.getCurrentRDFGraph()); - } else if (classConvertBox.isSelected() - && gmanager.getCurrentClassGraph().getModel().getRootCount() > 0) { + } else if (classConvertBox.isSelected() && gmanager.getCurrentClassGraph().getModel().getRootCount() > 0) { img = GPConverter.toImage(gmanager.getCurrentClassGraph()); - } else if (propertyConvertBox.isSelected() - && gmanager.getCurrentPropertyGraph().getModel().getRootCount() > 0) { + } else if (propertyConvertBox.isSelected() && gmanager.getCurrentPropertyGraph().getModel().getRootCount() > 0) { img = GPConverter.toImage(gmanager.getCurrentPropertyGraph()); } if (img != null) { @@ -392,12 +397,10 @@ private void setRDFTreeRoot() { map.put(resType, instanceSet); } } - for (Iterator i = map.keySet().iterator(); i.hasNext();) { - Object typeRes = i.next(); + for (Object typeRes : map.keySet()) { Set instanceSet = map.get(typeRes); DefaultMutableTreeNode typeNode = new DefaultMutableTreeNode(typeRes); - for (Iterator j = instanceSet.iterator(); j.hasNext();) { - Object instance = j.next(); + for (Object instance : instanceSet) { DefaultMutableTreeNode instanceNode = new DefaultMutableTreeNode(instance); typeNode.add(instanceNode); } @@ -434,15 +437,21 @@ private void writeModel(Model model, Writer writer) { rdfWriter.write(model, writer, gmanager.getBaseURI()); } catch (Exception e) { e.printStackTrace(); - JOptionPane.showMessageDialog(gmanager.getDesktopTabbedPane(), "Export Error", "", - JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(gmanager.getDesktopTabbedPane(), "Export Error", "", JOptionPane.ERROR_MESSAGE); } } - private void writeModelToPager(Model model) { + private String getModelString(Model model) { Writer writer = new StringWriter(); writeModel(model, writer); - exportTextArea.setText(writer.toString()); + if (!encodeCheckBox.isSelected()) { + try { + return URLDecoder.decode(writer.toString(), "UTF-8"); + } catch (UnsupportedEncodingException uee) { + uee.printStackTrace(); + } + } + return writer.toString(); } private String getConvertType() { @@ -520,18 +529,32 @@ private Model getModel() { private Model getEncodedModel(Model model) { Model encodedModel = ModelFactory.createDefaultModel(); - // String encoding = - // gmanager.getUserPrefs().get(PrefConstants.OutputEncoding, "UTF8"); - for (StmtIterator i = model.listStatements(); i.hasNext();) { - Statement stmt = (Statement) i.next(); + for (Statement stmt : model.listStatements().toList()) { Resource subject = stmt.getSubject(); if (!subject.isAnon()) { subject = ResourceFactory.createResource(URIref.encode(stmt.getSubject().getURI())); } - Property predicate = ResourceFactory.createProperty(URIref.encode(stmt.getPredicate().getURI())); + Property predicate = stmt.getPredicate(); + try { + predicate = ResourceFactory.createProperty(URIref.encode(stmt.getPredicate().getURI())); + } catch (InvalidPropertyURIException ipue) { + ipue.printStackTrace(); + } RDFNode object = stmt.getObject(); if (object.isResource() && !object.isAnon()) { object = ResourceFactory.createResource(URIref.encode(((Resource) object).getURI())); + } else if (object.isLiteral()) { + Literal literal = object.asLiteral(); + RDFDatatype dType = literal.getDatatype(); + String lang = literal.getLanguage(); + String text = URIref.encode(literal.getString()); + if (dType != null) { + object = ResourceFactory.createTypedLiteral(text, dType); + } else if (0 < lang.length()) { + object = ResourceFactory.createLangLiteral(text, lang); + } else { + object = ResourceFactory.createPlainLiteral(text); + } } encodedModel.add(subject, predicate, object); } @@ -548,7 +571,7 @@ private void setNsPrefix(Model model) { } public void actionPerformed(ActionEvent e) { - writeModelToPager(getModel()); + exportTextArea.setText(getModelString(getModel())); } public void setFont(Font font) { @@ -562,7 +585,7 @@ public static void setText(String text) { public void setVisible(boolean t) { if (t) { - writeModelToPager(getModel()); + exportTextArea.setText(getModelString(getModel())); if (GraphUtilities.defaultFont != null) { setFont(GraphUtilities.defaultFont); } diff --git a/src/main/java/net/sourceforge/mr3/ui/ImportDialog.java b/src/main/java/net/sourceforge/mr3/ui/ImportDialog.java index 79494cba..6b8db327 100644 --- a/src/main/java/net/sourceforge/mr3/ui/ImportDialog.java +++ b/src/main/java/net/sourceforge/mr3/ui/ImportDialog.java @@ -23,26 +23,73 @@ package net.sourceforge.mr3.ui; -import java.awt.*; +import java.awt.BorderLayout; import java.awt.Container; -import java.awt.event.*; -import java.io.*; -import java.net.*; -import java.util.*; -import java.util.prefs.*; -import java.util.regex.*; - -import javax.swing.*; -import javax.swing.event.*; +import java.awt.Dimension; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.BufferedInputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.StringReader; +import java.io.UnsupportedEncodingException; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLDecoder; +import java.net.UnknownHostException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.TreeSet; +import java.util.prefs.Preferences; +import java.util.regex.PatternSyntaxException; + +import javax.swing.AbstractAction; +import javax.swing.BorderFactory; +import javax.swing.ButtonGroup; +import javax.swing.DefaultListModel; +import javax.swing.ImageIcon; +import javax.swing.JButton; +import javax.swing.JComboBox; +import javax.swing.JComponent; +import javax.swing.JDialog; +import javax.swing.JFileChooser; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JRadioButton; +import javax.swing.JScrollPane; +import javax.swing.JSplitPane; +import javax.swing.JTextField; +import javax.swing.ListSelectionModel; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; import javax.swing.filechooser.FileFilter; -import net.sourceforge.mr3.data.*; -import net.sourceforge.mr3.io.*; -import net.sourceforge.mr3.jgraph.*; -import net.sourceforge.mr3.util.*; - -import com.hp.hpl.jena.ontology.*; -import com.hp.hpl.jena.rdf.model.*; +import net.sourceforge.mr3.data.MR3Constants; +import net.sourceforge.mr3.data.PrefConstants; +import net.sourceforge.mr3.io.MR3Reader; +import net.sourceforge.mr3.jgraph.GraphManager; +import net.sourceforge.mr3.util.NTripleFileFilter; +import net.sourceforge.mr3.util.OWLFileFilter; +import net.sourceforge.mr3.util.RDFsFileFilter; +import net.sourceforge.mr3.util.Translator; +import net.sourceforge.mr3.util.TurtleFileFilter; +import net.sourceforge.mr3.util.Utilities; + +import com.hp.hpl.jena.ontology.OntModel; +import com.hp.hpl.jena.rdf.model.Model; +import com.hp.hpl.jena.rdf.model.ModelFactory; /** * @author Takeshi Morita @@ -127,8 +174,7 @@ public ImportDialog(GraphManager gm) { group.add(importReplaceButton); group.add(importMergeButton); JPanel importMethodPanel = new JPanel(); - importMethodPanel - .setBorder(BorderFactory.createTitledBorder(Translator.getString("ImportDialog.ImportMethod"))); + importMethodPanel.setBorder(BorderFactory.createTitledBorder(Translator.getString("ImportDialog.ImportMethod"))); importMethodPanel.add(importMergeButton); importMethodPanel.add(importReplaceButton); ActionListener dataTypeManagementAction = new DataTypeManagementAction(); @@ -188,8 +234,7 @@ public ImportDialog(GraphManager gm) { containerListUI.setSelectedIndex(0); containerListUI.addListSelectionListener(changeContainerAction); JScrollPane containerListUIScroll = new JScrollPane(containerListUI); - containerListUIScroll.setBorder(BorderFactory.createTitledBorder(Translator - .getString("ImportDialog.containerList"))); + containerListUIScroll.setBorder(BorderFactory.createTitledBorder(Translator.getString("ImportDialog.containerList"))); JPanel containerListPanel = new JPanel(); containerListPanel.setMinimumSize(new Dimension(FRAME_WIDTH, 120)); containerListPanel.setLayout(new BorderLayout()); @@ -206,8 +251,7 @@ public ImportDialog(GraphManager gm) { fileListUI.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); JScrollPane fileListScroll = new JScrollPane(fileListUI); fileListScroll.setBorder(BorderFactory.createTitledBorder(Translator.getString("ImportDialog.ImportFileList"))); - filterBox = new JComboBox(new Object[] { rdfsFileFilter, n3FileFilter, turtleFileFilter, owlFileFilter, - "All Files" }); + filterBox = new JComboBox(new Object[] { rdfsFileFilter, n3FileFilter, turtleFileFilter, owlFileFilter, "All Files" }); filterBox.addActionListener(changeContainerAction); filterBox.setSelectedIndex(0); JPanel fileListPanel = new JPanel(); @@ -314,8 +358,7 @@ public void actionPerformed(ActionEvent e) { } } else if (e.getSource() == addURIButton) { try { - String uri = JOptionPane - .showInputDialog("Input URI ( exp. https://creativecommons.org/schema.rdf )"); + String uri = JOptionPane.showInputDialog("Input URI ( exp. https://creativecommons.org/schema.rdf )"); if (uri == null) { return; } @@ -345,7 +388,7 @@ public void actionPerformed(ActionEvent e) { class ChangeContainerAction implements ActionListener, ListSelectionListener { private void changeContainerList() { - Object[] selectedContainers = containerListUI.getSelectedValues(); + List selectedContainers = containerListUI.getSelectedValuesList(); if (selectedContainers == null) { return; } @@ -357,8 +400,7 @@ private void changeContainerList() { uriSet.add(selectedContainer.toString()); } else { if (filterBox.getSelectedItem() instanceof java.io.FileFilter) { - fileSet.addAll(Arrays.asList(selectedDirectory.listFiles((java.io.FileFilter) filterBox - .getSelectedItem()))); + fileSet.addAll(Arrays.asList(selectedDirectory.listFiles((java.io.FileFilter) filterBox.getSelectedItem()))); } else { fileSet.addAll(Arrays.asList(selectedDirectory.listFiles())); } @@ -455,7 +497,7 @@ private Set getFileInputStreamSet() { if (fileListUI.isSelectionEmpty()) { return inputStreamSet; } - for (Object fileObj : fileListUI.getSelectedValues()) { + for (Object fileObj : fileListUI.getSelectedValuesList()) { File file = getFile(fileObj.toString()); if (file == null || file.isDirectory()) { continue; @@ -497,7 +539,24 @@ private Model readModel(Model model) { return null; } for (InputStream is : inputStreamSet) { - model.read(is, gmanager.getBaseURI(), getSyntax()); + BufferedReader reader = new BufferedReader(new InputStreamReader(is)); + StringBuilder builder = new StringBuilder(); + String line = ""; + try { + while ((line = reader.readLine()) != null) { + builder.append(line); + } + } catch (IOException e) { + e.printStackTrace(); + } + String decodedText; + try { + decodedText = URLDecoder.decode(builder.toString(), "UTF-8"); + StringReader r = new StringReader(decodedText); + model.read(r, gmanager.getBaseURI(), getSyntax()); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } } return model; } diff --git a/src/main/java/net/sourceforge/mr3/util/ProjectManager.java b/src/main/java/net/sourceforge/mr3/util/ProjectManager.java index 89bd571f..33267925 100644 --- a/src/main/java/net/sourceforge/mr3/util/ProjectManager.java +++ b/src/main/java/net/sourceforge/mr3/util/ProjectManager.java @@ -50,6 +50,7 @@ import org.jgraph.graph.GraphConstants; import com.hp.hpl.jena.datatypes.RDFDatatype; +import com.hp.hpl.jena.datatypes.TypeMapper; import com.hp.hpl.jena.rdf.model.Literal; import com.hp.hpl.jena.rdf.model.Model; import com.hp.hpl.jena.rdf.model.ModelFactory; @@ -122,12 +123,10 @@ private int addRDFLiteralProjectModel(Model projectModel, int literal_cnt, Graph GraphCell sourceCell = (GraphCell) graph.getSourceVertex(edge); GraphCell targetCell = (GraphCell) graph.getTargetVertex(edge); if (RDFGraph.isRDFLiteralCell(targetCell)) { - RDFResourceInfo info = (RDFResourceInfo) GraphConstants.getValue(sourceCell - .getAttributes()); + RDFResourceInfo info = (RDFResourceInfo) GraphConstants.getValue(sourceCell.getAttributes()); RDFSInfo propInfo = (RDFSInfo) GraphConstants.getValue(edge.getAttributes()); - Resource litRes = ResourceFactory.createResource(MR3Resource.Literal - + Integer.toString(literal_cnt++)); + Resource litRes = ResourceFactory.createResource(MR3Resource.Literal + Integer.toString(literal_cnt++)); projectModel.add(litRes, MR3Resource.HasLiteralResource, info.getURI()); if (propInfo == null) { projectModel.add(litRes, MR3Resource.LiteralProperty, MR3Resource.Nil); @@ -138,8 +137,7 @@ private int addRDFLiteralProjectModel(Model projectModel, int literal_cnt, Graph MR3Literal litInfo = (MR3Literal) GraphConstants.getValue(targetCell.getAttributes()); projectModel.add(litRes, MR3Resource.LiteralLang, litInfo.getLanguage()); if (litInfo.getDatatype() != null) { - projectModel.add(litRes, MR3Resource.LiteralDatatype, litInfo.getDatatype() - .getURI()); + projectModel.add(litRes, MR3Resource.LiteralDatatype, litInfo.getDatatype().getURI()); } projectModel.add(litRes, MR3Resource.LiteralString, litInfo.getString()); @@ -169,8 +167,7 @@ private void addRDFSProjectModel(Model projectModel, RDFGraph graph) { projectModel.add(info.getURI(), MR3Resource.PointY, y); Literal width = ResourceFactory.createPlainLiteral(String.valueOf(rec.getWidth())); projectModel.add(info.getURI(), MR3Resource.NodeWidth, width); - Literal height = ResourceFactory - .createPlainLiteral(String.valueOf(rec.getHeight())); + Literal height = ResourceFactory.createPlainLiteral(String.valueOf(rec.getHeight())); projectModel.add(info.getURI(), MR3Resource.NodeHeight, height); } } @@ -185,15 +182,13 @@ private void addPrefixNSProjectModel(Model projectModel) { Boolean isAvailable = (Boolean) nsTableModel.getValueAt(i, IS_AVAILABLE_COLUMN); String prefix = (String) nsTableModel.getValueAt(i, PREFIX_COLUMN); String nameSpace = (String) nsTableModel.getValueAt(i, NS_COLUMN); - projectModel.add(ResourceFactory.createResource(nameSpace), - MR3Resource.IsPrefixAvailable, isAvailable.toString()); + projectModel.add(ResourceFactory.createResource(nameSpace), MR3Resource.IsPrefixAvailable, isAvailable.toString()); projectModel.add(ResourceFactory.createResource(nameSpace), MR3Resource.Prefix, prefix); } } private void addDefaultLangModel(Model projectModel) { - projectModel.add(MR3Resource.DefaultURI, MR3Resource.DefaultLang, - GraphManager.getDefaultLang()); + projectModel.add(MR3Resource.DefaultURI, MR3Resource.DefaultLang, GraphManager.getDefaultLang()); } /* @@ -220,8 +215,7 @@ public Model getLiteralModel(Model model) { Statement stmt = i.nextStatement(); Property predicate = stmt.getPredicate(); RDFNode object = stmt.getObject(); - if (object instanceof Literal - && !(predicate.equals(RDFS.label) || predicate.equals(RDFS.comment))) { + if (object instanceof Literal && !(predicate.equals(RDFS.label) || predicate.equals(RDFS.comment))) { literalModel.add(stmt); } } @@ -230,18 +224,13 @@ public Model getLiteralModel(Model model) { } private boolean hasProjectPredicate(Statement stmt) { - return (stmt.getPredicate().equals(MR3Resource.DefaultLang) - || stmt.getPredicate().equals(MR3Resource.PointX) - || stmt.getPredicate().equals(MR3Resource.PointY) - || stmt.getPredicate().equals(MR3Resource.NodeWidth) - || stmt.getPredicate().equals(MR3Resource.NodeHeight) - || stmt.getPredicate().equals(MR3Resource.LiteralProperty) + return (stmt.getPredicate().equals(MR3Resource.DefaultLang) || stmt.getPredicate().equals(MR3Resource.PointX) + || stmt.getPredicate().equals(MR3Resource.PointY) || stmt.getPredicate().equals(MR3Resource.NodeWidth) + || stmt.getPredicate().equals(MR3Resource.NodeHeight) || stmt.getPredicate().equals(MR3Resource.LiteralProperty) || stmt.getPredicate().equals(MR3Resource.HasLiteralResource) - || stmt.getPredicate().equals(MR3Resource.LiteralLang) - || stmt.getPredicate().equals(MR3Resource.LiteralDatatype) - || stmt.getPredicate().equals(MR3Resource.LiteralString) - || stmt.getPredicate().equals(MR3Resource.Prefix) || stmt.getPredicate().equals( - MR3Resource.IsPrefixAvailable)); + || stmt.getPredicate().equals(MR3Resource.LiteralLang) || stmt.getPredicate().equals(MR3Resource.LiteralDatatype) + || stmt.getPredicate().equals(MR3Resource.LiteralString) || stmt.getPredicate().equals(MR3Resource.Prefix) || stmt + .getPredicate().equals(MR3Resource.IsPrefixAvailable)); } public Model extractProjectModel(Model model) { @@ -259,8 +248,7 @@ public Model extractProjectModel(Model model) { return extractModel; } - private void changeNSModel(Map uriPrefixMap, - Map uriIsAvailableMap) { + private void changeNSModel(Map uriPrefixMap, Map uriIsAvailableMap) { Set existNSSet = new HashSet(); for (int i = 0; i < nsTableModel.getRowCount(); i++) { String nameSpace = (String) nsTableModel.getValueAt(i, NS_COLUMN); @@ -293,8 +281,7 @@ public void removeEmptyClass() { for (int i = 0; i < cells.length; i++) { GraphCell cell = (GraphCell) cells[i]; if (RDFGraph.isRDFResourceCell(cell)) { - RDFResourceInfo info = (RDFResourceInfo) GraphConstants.getValue(cell - .getAttributes()); + RDFResourceInfo info = (RDFResourceInfo) GraphConstants.getValue(cell.getAttributes()); if (info.getType().equals(MR3Resource.Empty)) { info.setTypeCell(null, gmanager.getCurrentRDFGraph()); GraphConstants.setValue(cell.getAttributes(), info); @@ -385,7 +372,8 @@ public void loadProject(Model model) { rec.setLanguage(stmt.getObject().toString()); uriNodeInfoMap.put(stmt.getSubject(), rec); } else if (stmt.getPredicate().equals(MR3Resource.LiteralDatatype)) { - rec.setDatatype((RDFDatatype) stmt.getObject()); + RDFDatatype literalType = TypeMapper.getInstance().getSafeTypeByName(stmt.getObject().asLiteral().toString()); + rec.setDatatype(literalType); uriNodeInfoMap.put(stmt.getSubject(), rec); } else if (stmt.getPredicate().equals(MR3Resource.LiteralString)) { rec.setString(stmt.getObject().toString()); @@ -414,29 +402,25 @@ public void loadProject(Model model) { initLayoutMap(); } - private void setNodeWidth(Map uriNodeInfoMap, Statement stmt, - MR3Literal rec) { + private void setNodeWidth(Map uriNodeInfoMap, Statement stmt, MR3Literal rec) { int width = (int) Float.parseFloat(stmt.getObject().toString()); rec.setWidth(width); uriNodeInfoMap.put(stmt.getSubject(), rec); } - private void setNodeHeight(Map uriNodeInfoMap, Statement stmt, - MR3Literal rec) { + private void setNodeHeight(Map uriNodeInfoMap, Statement stmt, MR3Literal rec) { int height = (int) Float.parseFloat(stmt.getObject().toString()); rec.setHeight(height); uriNodeInfoMap.put(stmt.getSubject(), rec); } - private void setPositionY(Map uriNodeInfoMap, Statement stmt, - MR3Literal rec) { + private void setPositionY(Map uriNodeInfoMap, Statement stmt, MR3Literal rec) { int y = (int) Float.parseFloat(stmt.getObject().toString()); rec.setY(y); uriNodeInfoMap.put(stmt.getSubject(), rec); } - private void setPositionX(Map uriNodeInfoMap, Statement stmt, - MR3Literal rec) { + private void setPositionX(Map uriNodeInfoMap, Statement stmt, MR3Literal rec) { int x = (int) Float.parseFloat(stmt.getObject().toString()); rec.setX(x); uriNodeInfoMap.put(stmt.getSubject(), rec); diff --git a/src/main/resources/build.xml b/src/main/resources/build.xml index a858948d..3173fdb2 100644 --- a/src/main/resources/build.xml +++ b/src/main/resources/build.xml @@ -6,7 +6,7 @@ - +