From: <lor...@us...> - 2009-06-07 16:43:48
|
Revision: 1791 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1791&view=rev Author: lorenz_b Date: 2009-06-07 16:43:07 +0000 (Sun, 07 Jun 2009) Log Message: ----------- small changes to work with the inconsistency panel Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java trunk/src/dl-learner/org/dllearner/tools/ore/InconsistencyExplanationPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/InconsistencyExplanationPanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/Main.java trunk/src/dl-learner/org/dllearner/tools/ore/RepairPlanPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/WizardController.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2009-06-03 16:05:00 UTC (rev 1790) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationManager.java 2009-06-07 16:43:07 UTC (rev 1791) @@ -13,7 +13,6 @@ import org.dllearner.tools.ore.explanation.RootFinder; import org.mindswap.pellet.owlapi.PelletReasonerFactory; import org.mindswap.pellet.owlapi.Reasoner; -import org.semanticweb.owl.apibinding.OWLManager; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLDataFactory; @@ -47,6 +46,7 @@ private Set<OWLClass> unsatClasses; private Set<OWLClass> rootClasses; boolean ontologyChanged = true; + boolean isLaconicMode = false; @@ -59,17 +59,17 @@ this.ontology = reasoner.getLoadedOntologies().iterator().next(); manager.addOntologyChangeListener(this); - manager.addOntologyChangeListener(reasoner); +// manager.addOntologyChangeListener(reasoner); dataFactory = manager.getOWLDataFactory(); ImpactManager.getImpactManager(reasoner).addListener(this); reasonerFactory = new PelletReasonerFactory(); rootFinder = new RootFinder(manager, reasoner, reasonerFactory); - regularExpGen = new PelletExplanation(manager, Collections - .singleton(ontology)); + regularExpGen = new PelletExplanation(reasoner.getManager(), reasoner.getLoadedOntologies()); + laconicExpGen = new LaconicExplanationGenerator(manager, - reasonerFactory, Collections.singleton(ontology)); + reasonerFactory, manager.getOntologies()); rootClasses = new HashSet<OWLClass>(); unsatClasses = new HashSet<OWLClass>(); @@ -223,11 +223,18 @@ + + } public int getArity(OWLClass cl, OWLAxiom ax) { int arity = 0; - Set<Set<OWLAxiom>> explanations = regularExplanationCache.get(cl); + Set<Set<OWLAxiom>> explanations; + if(isLaconicMode){ + explanations = laconicExplanationCache.get(cl); + } else { + explanations = regularExplanationCache.get(cl); + } if(explanations != null){ @@ -239,6 +246,11 @@ } return arity; } + + public void setLaconicMode(boolean laconic){ + isLaconicMode = laconic; + + } @Override public void axiomForImpactChanged() { @@ -250,6 +262,9 @@ public void repairPlanExecuted() { reasoner.refresh(); ontologyChanged = true; + regularExpGen = new PelletExplanation(reasoner.getManager(), reasoner.getLoadedOntologies()); + laconicExpGen = new LaconicExplanationGenerator(manager, + reasonerFactory, reasoner.getLoadedOntologies()); regularExplanationCache.clear(); laconicExplanationCache.clear(); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationPanel.java 2009-06-03 16:05:00 UTC (rev 1790) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ExplanationPanel.java 2009-06-07 16:43:07 UTC (rev 1791) @@ -25,7 +25,6 @@ import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.JSplitPane; -import javax.swing.ProgressMonitor; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.event.ListSelectionEvent; @@ -36,19 +35,13 @@ import org.mindswap.pellet.owlapi.PelletReasonerFactory; import org.mindswap.pellet.owlapi.Reasoner; import org.mindswap.pellet.utils.progress.SwingProgressMonitor; -import org.protege.editor.owl.ui.inference.ClassifyAction; import org.semanticweb.owl.apibinding.OWLManager; -import org.semanticweb.owl.inference.OWLReasonerException; import org.semanticweb.owl.model.OWLAxiom; import org.semanticweb.owl.model.OWLClass; import org.semanticweb.owl.model.OWLOntology; import org.semanticweb.owl.model.OWLOntologyCreationException; import org.semanticweb.owl.model.OWLOntologyManager; -import com.clarkparsia.modularity.AxiomBasedModuleExtractor; -import com.clarkparsia.modularity.IncrementalClassifier; -import com.clarkparsia.modularity.ModuleExtractor; - public class ExplanationPanel extends JPanel implements ListSelectionListener, ActionListener,ImpactManagerListener{ @@ -298,7 +291,7 @@ public static void main(String[] args) { try { - String file = "file:examples/ore/tambis.owl"; + String file = "file:examples/ore/koala.owl"; PelletOptions.USE_CLASSIFICATION_MONITOR = PelletOptions.MonitorType.SWING; OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); OWLOntology ontology = manager.loadOntologyFromPhysicalURI(URI Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java 2009-06-03 16:05:00 UTC (rev 1790) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ImpactManager.java 2009-06-07 16:43:07 UTC (rev 1791) @@ -26,8 +26,10 @@ private List<ImpactManagerListener> listeners; private OWLOntology ontology; private OWLOntologyManager manager; + private Reasoner reasoner; private ImpactManager(Reasoner reasoner) { + this.reasoner = reasoner; this.ontology = reasoner.getLoadedOntologies().iterator().next(); this.manager = reasoner.getManager(); impact = new HashMap<OWLAxiom, Set<OWLAxiom>>(); @@ -116,9 +118,10 @@ try { manager.applyChanges(changes); } catch (OWLOntologyChangeException e) { - // TODO Auto-generated catch block + System.out.println("Error in Impactmanager: Couldn't apply ontology changes"); e.printStackTrace(); } + impact.clear(); selectedAxioms.clear(); fireRepairPlanExecuted(); @@ -131,6 +134,7 @@ } private void fireRepairPlanExecuted(){ + for(ImpactManagerListener listener : listeners){ listener.repairPlanExecuted(); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/InconsistencyExplanationPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/InconsistencyExplanationPanel.java 2009-06-03 16:05:00 UTC (rev 1790) +++ trunk/src/dl-learner/org/dllearner/tools/ore/InconsistencyExplanationPanel.java 2009-06-07 16:43:07 UTC (rev 1791) @@ -106,7 +106,7 @@ } - public void clearExplanationsPanel(){ + public void clearExplanationsPanel(){System.out.println("Clearing explanations"); explanationsPanel.removeAll(); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/InconsistencyExplanationPanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/InconsistencyExplanationPanelDescriptor.java 2009-06-03 16:05:00 UTC (rev 1790) +++ trunk/src/dl-learner/org/dllearner/tools/ore/InconsistencyExplanationPanelDescriptor.java 2009-06-07 16:43:07 UTC (rev 1791) @@ -7,13 +7,15 @@ import org.mindswap.pellet.owlapi.Reasoner; import org.semanticweb.owl.model.OWLAxiom; -public class InconsistencyExplanationPanelDescriptor extends WizardPanelDescriptor implements ActionListener{ +public class InconsistencyExplanationPanelDescriptor extends WizardPanelDescriptor implements ActionListener, ImpactManagerListener{ public static final String IDENTIFIER = "INCONSISTENCY_PANEL"; public static final String INFORMATION = ""; private InconsistencyExplanationPanel panel; private ExplanationManager expMan; private ImpactManager impMan; + private Reasoner reasoner; + private boolean laconicMode = false; public InconsistencyExplanationPanelDescriptor() { @@ -22,19 +24,22 @@ } public void init() { - Reasoner reasoner = getWizardModel().getOre().getPelletReasoner() + reasoner = getWizardModel().getOre().getPelletReasoner() .getReasoner(); expMan = ExplanationManager.getExplanationManager(reasoner); impMan = ImpactManager.getImpactManager(reasoner); + impMan.addListener(this); panel = new InconsistencyExplanationPanel(expMan, impMan); panel.addActionListeners(this); setPanelComponent(panel); + } private void showLaconicExplanations() { panel.clearExplanationsPanel(); + expMan.setLaconicMode(true); int counter = 1; for (List<OWLAxiom> explanation : expMan .getOrderedLaconicInconsistencyExplanations()) { @@ -46,6 +51,7 @@ private void showRegularExplanations() { panel.clearExplanationsPanel(); + expMan.setLaconicMode(false); int counter = 1; for (List<OWLAxiom> explanation : expMan .getOrderedInconsistencyExplanations()) { @@ -54,10 +60,25 @@ } } + private void showExplanations(){ + if(laconicMode) { + showLaconicExplanations(); + } else { + showRegularExplanations(); + } + } + private void setNextButtonEnabled2ConsistentOntology(){ + if(reasoner.isConsistent()){ + getWizard().setNextFinishButtonEnabled(true); + } else { + getWizard().setNextFinishButtonEnabled(false); + } + } + @Override public Object getNextPanelDescriptor() { return ClassPanelOWLDescriptor.IDENTIFIER; @@ -65,25 +86,44 @@ @Override public Object getBackPanelDescriptor() { - return null; + return KnowledgeSourcePanelDescriptor.IDENTIFIER; } @Override public void aboutToDisplayPanel() { showRegularExplanations(); getWizard().getInformationField().setText(INFORMATION); + getWizard().setNextFinishButtonEnabled(false); } @Override public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("regular")) { - showRegularExplanations(); + laconicMode = false; } else if (e.getActionCommand().equals("laconic")) { - showLaconicExplanations(); - + laconicMode = true; } + showExplanations(); } + + @Override + public void axiomForImpactChanged() { + // TODO Auto-generated method stub + + } + + @Override + public void repairPlanExecuted() { + + System.out.println("repair plan executed"); + showExplanations(); + panel.repaint(); + setNextButtonEnabled2ConsistentOntology(); + + } + + } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/Main.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/Main.java 2009-06-03 16:05:00 UTC (rev 1790) +++ trunk/src/dl-learner/org/dllearner/tools/ore/Main.java 2009-06-07 16:43:07 UTC (rev 1791) @@ -20,6 +20,7 @@ package org.dllearner.tools.ore; +import java.awt.Dimension; import java.util.Locale; import javax.swing.UIManager; @@ -57,7 +58,8 @@ Locale.setDefault(Locale.ENGLISH); Wizard wizard = new Wizard(); wizard.getDialog().setTitle("DL-Learner ORE-Tool"); - wizard.getDialog().setSize(1300, 600); + Dimension dim = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); + wizard.getDialog().setSize(dim); WizardPanelDescriptor descriptor1 = new IntroductionPanelDescriptor(); wizard.registerWizardPanel(IntroductionPanelDescriptor.IDENTIFIER, descriptor1); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/RepairPlanPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/RepairPlanPanel.java 2009-06-03 16:05:00 UTC (rev 1790) +++ trunk/src/dl-learner/org/dllearner/tools/ore/RepairPlanPanel.java 2009-06-07 16:43:07 UTC (rev 1791) @@ -34,6 +34,8 @@ })); JScrollPane repScr = new JScrollPane(new RepairTable(impMan)); + repScr.setBackground(null); + repScr.getViewport().setOpaque(false); add(repScr); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/WizardController.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/WizardController.java 2009-06-03 16:05:00 UTC (rev 1790) +++ trunk/src/dl-learner/org/dllearner/tools/ore/WizardController.java 2009-06-07 16:43:07 UTC (rev 1791) @@ -108,7 +108,7 @@ InconsistencyExplanationPanelDescriptor incDescriptor = new InconsistencyExplanationPanelDescriptor(); wizard.registerWizardPanel(InconsistencyExplanationPanelDescriptor.IDENTIFIER, incDescriptor); ((InconsistencyExplanationPanelDescriptor)model.getPanelHashMap().get(InconsistencyExplanationPanelDescriptor.IDENTIFIER)).init(); - incDescriptor.init(); + wizard.registerWizardPanel(InconsistencyExplanationPanelDescriptor.IDENTIFIER, incDescriptor); nextPanelDescriptor = InconsistencyExplanationPanelDescriptor.IDENTIFIER; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |