From: <lor...@us...> - 2009-12-15 22:17:21
|
Revision: 1931 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1931&view=rev Author: lorenz_b Date: 2009-12-15 22:17:07 +0000 (Tue, 15 Dec 2009) Log Message: ----------- Fixed SPARQL-extraction, now cursor is set to default after canceling task. Added table to last wizard step - here all changes during the repair process are shown. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatClassesTableCellRenderer.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/rendering/ManchesterSyntaxTableCellRenderer.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/SavePanel.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTable.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTableModel.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifier.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -70,7 +70,7 @@ private OWLDataFactory factory; private OWLOntologyManager manager; - private Set<OWLOntologyChange> globalChanges; + private List<OWLOntologyChange> globalChanges; @@ -80,7 +80,7 @@ this.factory = manager.getOWLDataFactory(); this.ontology = (reasoner.getOWLAPIOntologies()); - globalChanges = new HashSet<OWLOntologyChange>(); + globalChanges = new ArrayList<OWLOntologyChange>(); } @@ -115,12 +115,26 @@ } + public void addNewClassDescription(NamedClass old, Description newDesc){ + OWLDescription oldOWLAPIDesc = OWLAPIConverter.getOWLAPIDescription(old); + OWLDescription newOWLAPIDesc = OWLAPIConverter.getOWLAPIDescription(newDesc); + OWLEquivalentClassesAxiom equivAxiom = factory.getOWLEquivalentClassesAxiom(oldOWLAPIDesc, newOWLAPIDesc); + AddAxiom add = new AddAxiom(ontology, equivAxiom); + try { + manager.applyChange(add); + globalChanges.add(add); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + /** * Rewrite ontology by replacing old class with new learned class description. * @param newDesc * @param oldClass */ - public List<OWLOntologyChange> rewriteClassDescription(Description newDesc, Description oldClass){ + public List<OWLOntologyChange> rewriteClassDescription(NamedClass newDesc, Description oldClass){ OWLDescription newClassDesc = OWLAPIDescriptionConvertVisitor.getOWLDescription(newDesc); // OWLDescription oldClassDesc = OWLAPIDescriptionConvertVisitor.getOWLDescription(oldClass); @@ -492,6 +506,10 @@ } + public List<OWLOntologyChange> getChanges(){ + return globalChanges; + } + /** * checks whether desc1 and desc2 are disjoint. * @param desc1 class 1 Modified: trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/RepairManager.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -11,7 +11,6 @@ import org.semanticweb.owl.model.AddAxiom; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLOntologyChange; -import org.semanticweb.owl.model.OWLOntologyChangeException; import org.semanticweb.owl.model.OWLOntologyManager; import org.semanticweb.owl.model.RemoveAxiom; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExplanationTable.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -84,7 +84,7 @@ return b; } }); - getColumn(4).setHeaderValue(new ImageIcon("src/dl-learner/org/dllearner/tools/ore/DeleteCross.gif")); + getColumn(4).setHeaderValue(new ImageIcon(this.getClass().getResource("../DeleteCross.gif"))); getSelectionModel().addListSelectionListener( new ListSelectionListener() { @@ -200,7 +200,7 @@ setForeground(table.getForeground()); setBackground(UIManager.getColor("Button.background")); } - setIcon(new ImageIcon("src/dl-learner/org/dllearner/tools/ore/Edit16.gif")); + setIcon(new ImageIcon(this.getClass().getResource("../Edit16.gif"))); setText(""); return this; } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/ExtractFromSparqlDialog.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -21,6 +21,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.SortedSet; import java.util.TreeSet; @@ -41,6 +42,7 @@ import javax.swing.JToggleButton; import javax.swing.ProgressMonitor; import javax.swing.SwingWorker; +import javax.swing.Timer; import javax.swing.border.TitledBorder; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; @@ -84,26 +86,41 @@ private SparqlExtractOptionsPanel optionsPanel; private JToggleButton optionsButton; - private ImageIcon toggledIcon = new ImageIcon("src/dl-learner/org/dllearner/tools/ore/toggled.gif"); - private ImageIcon untoggledIcon = new ImageIcon("src/dl-learner/org/dllearner/tools/ore/untoggled.gif"); + private ImageIcon toggledIcon = new ImageIcon(this.getClass().getResource("../toggled.gif")); + private ImageIcon untoggledIcon = new ImageIcon(this.getClass().getResource("../untoggled.gif")); - + private final String URLHelpText = "<html><table border=\"1\">" + + "<tr>" + + "<th>SPARQL endpoint URL</th>" + + "<th>The URL of the SPARQL endpoint</th>" + + "</tr>" + + "<tr>" + + "<th>Default graph URI</th>" + + "<th>Absolute URL of RDF data source(s) to populate the background graph</th>" + + "</tr> " + + "</table></html>"; + + private final String classHelpText = "Enter a class uri or label for which a " + + "relevant fragment should be extracted."; + private SPARQLTasks task; private SparqlKnowledgeSource ks; private OntologyExtractingTask extractTask; private ProgressMonitor mon; + private Timer t; private Map<URL, List<String>> endpointToDefaultGraph; public ExtractFromSparqlDialog(JFrame owner) { super(owner, "Extract fragment from SPARQL endpoint", true); - + getLocale().setDefault(Locale.ENGLISH); + // Create the controls createControls(); //create main panel createSparqlPanel(); - //add predifined endpoints - addPredifinedEndpoints(); + //add predefined endpoints + addPredefinedEndpoints(); positionErrorDialog(owner); } @@ -159,6 +176,7 @@ endPointHolderPanel.add(new JLabel("Default graph URI (optional)")); endPointHolderPanel.add(defaultGraphField); HelpablePanel endPointHelpPanel = new HelpablePanel(endPointHolderPanel); + endPointHelpPanel.setHelpText(URLHelpText); endPointHelpPanel.setBorder(new TitledBorder("SPARQL endpoint")); panel.add(endPointHelpPanel, c); @@ -181,6 +199,7 @@ classField.getDocument().addDocumentListener(this); classHolderPanel.add(classField); HelpablePanel classHelpPanel = new HelpablePanel(classHolderPanel); + classHelpPanel.setHelpText(classHelpText); classHelpPanel.setBorder(new TitledBorder("Class to investigate")); panel.add(classHelpPanel, c); @@ -246,7 +265,7 @@ getContentPane().add(panel, BorderLayout.CENTER); } - private void addPredifinedEndpoints(){ + private void addPredefinedEndpoints(){ endpointToDefaultGraph = new HashMap<URL, List<String>>(); for(SparqlEndpoint endpoint : SparqlEndpoint.listEndpoints()){ endpointToDefaultGraph.put(endpoint.getURL(), endpoint.getDefaultGraphURIs()); @@ -318,12 +337,35 @@ message.setText("Checking SPARQL endpoint availability"); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + setLocale(Locale.ENGLISH); mon = new ProgressMonitor(this, "Extracting fragment", "", 0, 100); + mon.setMillisToDecideToPopup(0); + mon.setMillisToPopup(0); + mon.getAccessibleContext().getLocale().setDefault(Locale.ENGLISH); + t = new Timer(1000,new ActionListener() { + + + @Override + public void actionPerformed(ActionEvent e) { + + if(mon.isCanceled()){ + extractTask.cancel(true); + setCursor(null); + t.stop(); + + } + + } + }); + t.start(); + extractTask = new OntologyExtractingTask(this, mon); extractTask.addPropertyChangeListener(this); extractTask.execute(); + + } private boolean urlIsConnectable() @@ -470,9 +512,13 @@ okButton.setEnabled(true); message.setText("<html><font color=\"green\">Fragment successfully extracted</html>"); + } else if(isCancelled()){ + System.out.println("Canceled"); } } + + private SortedSet<String> getPosExamples(String concept){ SortedSet<String> examples = new TreeSet<String>(); SortedSet<String> superClasses = task.getSuperClasses(concept, 2); @@ -529,6 +575,7 @@ if ("progress" == evt.getPropertyName() ) { if(mon.isCanceled()){ extractTask.cancel(true); + this.setCursor(null); } } } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/RepairTable.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -27,7 +27,7 @@ * */ private static final long serialVersionUID = -621497634521668635L; - private final Icon deleteIcon = new ImageIcon("src/dl-learner/org/dllearner/tools/ore/Delete16.gif"); + private final Icon deleteIcon = new ImageIcon(this.getClass().getResource("../Delete16.gif")); public RepairTable() { super(new RepairTableModel()); Added: trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTable.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTable.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTable.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -0,0 +1,39 @@ +package org.dllearner.tools.ore.ui; + +import java.awt.Color; +import java.util.List; + +import javax.swing.ListSelectionModel; + +import org.dllearner.tools.ore.ui.rendering.ManchesterSyntaxTableCellRenderer; +import org.jdesktop.swingx.JXTable; +import org.semanticweb.owl.model.OWLOntologyChange; + +public class StatsTable extends JXTable { + + /** + * + */ + private static final long serialVersionUID = -653996873095101940L; + + public StatsTable(){ + + setModel(new StatsTableModel()); + setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + setEditable(false); + setTableHeader(null); + setGridColor(Color.LIGHT_GRAY); + setRowHeight(getRowHeight() + 4); + getColumn(0).setMaxWidth(100); + setShowGrid(false); +// getColumn(1).setCellRenderer(new ManchesterSyntaxTableCellRenderer()); + setRowSelectionAllowed(false); + setCellSelectionEnabled(false); + setColumnSelectionAllowed(false); + } + + public void setChanges(List<OWLOntologyChange> changes){ + ((StatsTableModel)getModel()).setChanges(changes); + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTableModel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/StatsTableModel.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -0,0 +1,53 @@ +package org.dllearner.tools.ore.ui; + +import java.util.ArrayList; +import java.util.List; + +import javax.swing.table.AbstractTableModel; + +import org.dllearner.tools.ore.ui.rendering.ManchesterSyntaxRenderer; +import org.semanticweb.owl.model.OWLOntologyChange; +import org.semanticweb.owl.model.RemoveAxiom; + +public class StatsTableModel extends AbstractTableModel { + + /** + * + */ + private static final long serialVersionUID = 3186572572333098359L; + private List<OWLOntologyChange> changes; + + public StatsTableModel(){ + changes = new ArrayList<OWLOntologyChange>(); + } + + @Override + public int getColumnCount() { + return 2; + } + + @Override + public int getRowCount() { + return changes.size(); + } + + @Override + public Object getValueAt(int rowIndex, int columnIndex) { + if(columnIndex == 0){ + if(changes.get(rowIndex) instanceof RemoveAxiom){ + return "Removed"; + } else { + return "Added"; + } + } else { + return ManchesterSyntaxRenderer.render(changes.get(rowIndex).getAxiom(), false, 0); + } + } + + public void setChanges(List<OWLOntologyChange> changes){ + this.changes.clear(); + this.changes.addAll(changes); + fireTableDataChanged(); + } + +} Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatClassesTableCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatClassesTableCellRenderer.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/UnsatClassesTableCellRenderer.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -28,7 +28,7 @@ if(value instanceof OWLClass){ if(rootClasses.contains((OWLClass)value)){ // setText(value.toString() ); - setIcon(new ImageIcon("src/dl-learner/org/dllearner/tools/ore/information.png")); + setIcon(new ImageIcon(this.getClass().getResource("../information.png"))); // setHorizontalTextPosition(LEADING); } else { Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/rendering/ManchesterSyntaxTableCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/rendering/ManchesterSyntaxTableCellRenderer.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/rendering/ManchesterSyntaxTableCellRenderer.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -34,7 +34,7 @@ } @Override - protected void setValue(Object value) { + protected void setValue(Object value) {System.out.println(value); if(value instanceof Description){ OWLDescription desc = OWLAPIDescriptionConvertVisitor.getOWLDescription((Description)value); render(desc); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/WizardController.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -178,9 +178,14 @@ LearningManager.getInstance().setNewDescriptions(descriptions); } + } else if(currentPanelDescriptor.getPanelDescriptorIdentifier().equals(ManualLearnPanelDescriptor.IDENTIFIER)){ + OREManager oreMan = OREManager.getInstance(); + oreMan.getModifier().addNewClassDescription(oreMan.getCurrentClass2Learn(), + oreMan.getNewClassDescription().getDescription()); } else if(nextPanelDescriptor.equals(RepairPanelDescriptor.IDENTIFIER)){ + RepairPanelDescriptor repair = ((RepairPanelDescriptor) model .getPanelHashMap().get(nextPanelDescriptor)); if(LearningManager.getInstance().getLearningMode() == LearningManager.AUTO_LEARN_MODE){ @@ -205,6 +210,22 @@ // .getOntologyChanges().addAll(changes); } + if(nextPanelDescriptor.equals(RepairPanelDescriptor.IDENTIFIER)){ + + RepairPanelDescriptor repair = ((RepairPanelDescriptor) model + .getPanelHashMap().get(nextPanelDescriptor)); + if(LearningManager.getInstance().getLearningMode() == LearningManager.AUTO_LEARN_MODE){ + repair.setManualPanel(false); + repair.fillExamplesLists(); + } else { + repair.setManualPanel(true); + repair.fillExamplesLists(); + } + + + + + } if (nextPanelDescriptor instanceof WizardPanelDescriptor.FinishIdentifier) { wizard.close(Wizard.FINISH_RETURN_CODE); } else { Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/RepairPanelDescriptor.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -108,13 +108,13 @@ public void setManualPanel(boolean value){ repairPanel.setManualStyle(value); + repairPanel.addActionListeners(this); } /** * Method to control actions by button pressed. */ public void actionPerformed(ActionEvent event) { - if(event.getActionCommand().equals("next")){ LearningManager.getInstance().setNextDescription(); } else { Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/SavePanelDescriptor.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -81,6 +81,7 @@ @Override public void aboutToDisplayPanel() { getWizard().getInformationField().setText(INFORMATION); + savePanel.updateChangesTable(); } @Override @@ -129,6 +130,8 @@ } } + + } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/SavePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/SavePanel.java 2009-12-14 20:14:32 UTC (rev 1930) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/SavePanel.java 2009-12-15 22:17:07 UTC (rev 1931) @@ -20,11 +20,19 @@ package org.dllearner.tools.ore.ui.wizard.panels; +import java.awt.GridBagConstraints; +import java.awt.GridLayout; import java.awt.event.ActionListener; +import javax.swing.BoxLayout; import javax.swing.JButton; +import javax.swing.JFrame; import javax.swing.JPanel; +import javax.swing.JScrollPane; +import org.dllearner.tools.ore.OREManager; +import org.dllearner.tools.ore.ui.StatsTable; + /** * JPanel where to buttons are added to save and go back to class choose panel. * @author Lorenz Buehmann @@ -38,13 +46,26 @@ private static final long serialVersionUID = 4301954036023325496L; private JButton saveExit; private JButton saveGoBack; + private StatsTable changesTable; public SavePanel(){ - super(); + setLayout(new GridLayout(0,1)); + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.BOTH; + c.weightx = 1.0; + c.weighty = 1.0; + changesTable = new StatsTable(); + add(new JScrollPane(changesTable), c); + JPanel buttonHolderPanel = new JPanel(); + buttonHolderPanel.setLayout(new BoxLayout(buttonHolderPanel, BoxLayout.X_AXIS)); + saveExit = new JButton("Save and Exit"); + buttonHolderPanel.add(saveExit); + saveGoBack = new JButton("Save and go to class choose panel"); - add(saveExit); - add(saveGoBack); + buttonHolderPanel.add(saveGoBack); + + add(buttonHolderPanel, c); } /** @@ -55,4 +76,15 @@ saveExit.addActionListener(aL); saveGoBack.addActionListener(aL); } + + public void updateChangesTable(){ + changesTable.setChanges(OREManager.getInstance().getModifier().getChanges()); + } + + public static void main(String[] args){ + JFrame frame = new JFrame(); + frame.add(new SavePanel()); + frame.setSize(400, 400); + frame.setVisible(true); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |