From: <lor...@us...> - 2010-03-09 12:58:00
|
Revision: 2101 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2101&view=rev Author: lorenz_b Date: 2010-03-09 12:57:53 +0000 (Tue, 09 Mar 2010) Log Message: ----------- Some bugfixes. Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java trunk/src/dl-learner/org/dllearner/tools/ore/RecentManager.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/SelectableClassExpressionsTableModel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/Wizard.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/AutoLearnPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/InconsistencyExplanationPanel.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OREApplication.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -63,7 +63,7 @@ public static void main(String[] args) { - + RecentManager.getInstance().load(); try { UIManager.put("OptionPane.cancelButtonText","Cancel"); UIManager.put("ProgressMonitor.progressText","Progress"); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/RecentManager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/RecentManager.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/RecentManager.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -1,27 +1,33 @@ package org.dllearner.tools.ore; -import java.io.BufferedInputStream; -import java.io.BufferedOutputStream; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.URI; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; +import java.util.prefs.BackingStoreException; +import java.util.prefs.Preferences; +import org.apache.log4j.Logger; public class RecentManager { - + private static RecentManager instance; private List<URI> uriList; - private File file; - - public RecentManager(){ + + private static final Logger logger = Logger.getLogger(RecentManager.class); + + public static final String PREFERENCES_KEY = "org.dllearner.tools.ore"; + + public static final int MAX_EDITOR_KITS = 10; + + public RecentManager() { uriList = new ArrayList<URI>(); - file = new File("src/dl-learner/org/dllearner/tools/ore/recent.txt"); } public static synchronized RecentManager getInstance() { @@ -30,57 +36,82 @@ } return instance; } - - public void addURI(URI uri){ - if(uri != null && !uriList.contains(uri)){ - uriList.add(uri); - } - - } - - public List<URI> getURIs(){ + + public List<URI> getURIs() { return uriList; } - - public void serialize() { + + @SuppressWarnings("unchecked") + public void load() { + Preferences userRoot = Preferences.userRoot(); + byte[] prefsBytes = userRoot.getByteArray(PREFERENCES_KEY, null); + if (prefsBytes == null) { + return; + } try { - FileOutputStream fileStream = new FileOutputStream(file); - ObjectOutputStream outputStream = new ObjectOutputStream( - new BufferedOutputStream(fileStream)); - try { - outputStream.writeObject(uriList); - } finally { - outputStream.close(); - } - + ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(prefsBytes)); + uriList = (List<URI>) ois.readObject(); + ois.close(); + pruneInvalidURIs(); + } catch (Exception e) { + logger.error(e); + } + } + + public void save() { + try { + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + ObjectOutputStream oos = new ObjectOutputStream(bos); + oos.writeObject(uriList); + oos.flush(); + oos.close(); + // Store in Java prefs + Preferences userRoot = Preferences.userRoot(); + userRoot.putByteArray(PREFERENCES_KEY, bos.toByteArray()); + userRoot.flush(); } catch (IOException e) { - e.printStackTrace(); + logger.error(e); + } catch (BackingStoreException e) { + logger.error(e); } + } + public void add(URI uri) { + for (Iterator<URI> it = uriList.iterator(); it.hasNext();) { + URI u = it.next(); + if (u.equals(uri)) { + it.remove(); + break; + } + } + uriList.add(0, uri); + // Chop any off the end + for (int i = MAX_EDITOR_KITS - 1; uriList.size() > MAX_EDITOR_KITS;) { + uriList.remove(i); + } } - - @SuppressWarnings("unchecked") - public void deserialize() { - try { - FileInputStream fileStream = new FileInputStream(file); - ObjectInputStream inputStream = new ObjectInputStream( - new BufferedInputStream(fileStream)); - try { - List<URI> list = (List<URI>) inputStream.readObject(); - if(list != null){ - uriList.addAll(list); - } - } finally { - inputStream.close(); + public void clear() { + uriList.clear(); + } + + private boolean isValidURI(URI uri) { + if (uri == null || uri.getScheme() == null) { + return false; + } + if (uri.getScheme().equals("file")) { + File file = new File(uri); + return file.exists(); + } + return true; + } + + public void pruneInvalidURIs() { + for (Iterator<URI> it = uriList.iterator(); it.hasNext();) { + if (!isValidURI(it.next())) { + it.remove(); } - } catch (IOException e) { - System.err.println("Can't read recent successfully opened URIs. Starting with empty list."); - } catch (ClassNotFoundException e) { - e.printStackTrace(); } + } - } - - } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/SelectableClassExpressionsTableModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/SelectableClassExpressionsTableModel.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/SelectableClassExpressionsTableModel.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -2,14 +2,12 @@ import java.text.DecimalFormat; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; import javax.swing.table.AbstractTableModel; import org.dllearner.core.owl.Description; import org.dllearner.learningproblems.EvaluatedDescriptionClass; -import org.protege.editor.owl.ui.view.SelectedEntityCardView; public class SelectableClassExpressionsTableModel extends AbstractTableModel { @@ -119,7 +117,7 @@ selectionList.add(i, Boolean.FALSE); } - fireTableRowsUpdated(0, this.resultList.size()); + fireTableDataChanged(); } public EvaluatedDescriptionClass getSelectedValue(int rowIndex){ Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/Wizard.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/Wizard.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/Wizard.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -45,7 +45,6 @@ import org.dllearner.tools.ore.RecentManager; import org.dllearner.tools.ore.TaskManager; -import org.dllearner.tools.ore.ui.StatusBar; import org.dllearner.tools.ore.ui.StatusBar2; import org.dllearner.tools.ore.ui.wizard.panels.LeftPanel; @@ -364,6 +363,7 @@ * @param code The return code. */ public void close(int code) { + RecentManager.getInstance().save(); returnCode = code; System.out.println("Exited application"); wizardDialog.dispose(); @@ -451,7 +451,6 @@ TaskManager.getInstance().setDialog(wizardDialog); TaskManager.getInstance().setStatusBar(statusBar); - RecentManager.getInstance().deserialize(); } Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/ClassChoosePanelDescriptor.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -208,7 +208,7 @@ @Override public void run() { - fillClassesList(1); + fillClassesList(3); TaskManager.getInstance().setTaskFinished(); } }); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/descriptors/KnowledgeSourcePanelDescriptor.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -202,8 +202,7 @@ oreMan.initPelletReasoner(); // ReasonerProgressUI ui = new ReasonerProgressUI(getWizard().getDialog()); // oreMan.getReasoner().getReasoner().getKB().getTaxonomyBuilder().setProgressMonitor(ui); - RecentManager.getInstance().addURI(currentURI); - RecentManager.getInstance().serialize(); + RecentManager.getInstance().add(currentURI); if(oreMan.consistentOntology()){ oreMan.getReasoner().classify(); oreMan.getReasoner().realise(); @@ -213,6 +212,7 @@ cancel(true); getWizard().getDialog().setCursor(null); + TaskManager.getInstance().setTaskFinished(); JOptionPane.showMessageDialog(getWizard().getDialog(), "Error loading ontology. Please check URI and try again.", "Ontology loading error", @@ -227,6 +227,7 @@ cancel(true); getWizard().getDialog().setCursor(null); + TaskManager.getInstance().setTaskFinished(); if(e.getClass().equals(UnparsableOntologyException.class)){ JOptionPane.showMessageDialog(getWizard().getDialog(), "Error loading ontology. A syntax error in the ontology has been detected.", Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/AutoLearnPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/AutoLearnPanel.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/AutoLearnPanel.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -8,7 +8,6 @@ import java.util.List; import java.util.Set; -import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JFrame; @@ -22,10 +21,12 @@ import org.dllearner.core.owl.NamedClass; import org.dllearner.learningproblems.EvaluatedDescriptionClass; +import org.dllearner.tools.ore.LearningManager; import org.dllearner.tools.ore.OREManager; import org.dllearner.tools.ore.ui.GraphicalCoveragePanel; import org.dllearner.tools.ore.ui.MarkableClassesTable; import org.dllearner.tools.ore.ui.SelectableClassExpressionsTable; +import org.jdesktop.swingx.JXTitledPanel; public class AutoLearnPanel extends JPanel { @@ -36,9 +37,10 @@ // private ClassesTable classesTable; private MarkableClassesTable classesTable; - private JPanel superPanel; - private JPanel equivalentPanel; + private JXTitledPanel equivalentPanel; + private JXTitledPanel superPanel; + private SelectableClassExpressionsTable equivalentClassResultsTable; private SelectableClassExpressionsTable superClassResultsTable; @@ -50,6 +52,10 @@ private JButton skipButton; + private final static String SUPERCLASS_PANEL_TITLE = "Superclass expressions for "; + private final static String EQUIVALENTCLASS_PANEL_TITLE = "Equivalent class expressions for "; + + private final static String INCONSISTENCY_WARNING = "<html><font color=red>" + "Warning. Selected class expressions leads to an inconsistent ontology!" + "</font></html>"; @@ -71,11 +77,14 @@ } private JComponent createClassesPanel(){ + JXTitledPanel classesPanel = new JXTitledPanel("Classes"); + classesPanel.getContentContainer().setLayout(new BorderLayout()); classesTable = new MarkableClassesTable(); classesTable.setBorder(null); JScrollPane classesScroll = new JScrollPane(classesTable); classesScroll.setBorder(new MatteBorder(null)); - return classesScroll; + classesPanel.getContentContainer().add(classesScroll); + return classesPanel; } private JComponent createResultPanel(){ @@ -110,8 +119,8 @@ private JComponent createEquivalentPanel(){ GridBagConstraints c = new GridBagConstraints(); - equivalentPanel = new JPanel(); - equivalentPanel.setLayout(new GridBagLayout()); + equivalentPanel = new JXTitledPanel(EQUIVALENTCLASS_PANEL_TITLE); + equivalentPanel.getContentContainer().setLayout(new GridBagLayout()); c.weightx = 1.0; c.weighty = 1.0; @@ -120,28 +129,27 @@ c.gridy = 0; equivalentClassResultsTable = new SelectableClassExpressionsTable(); equivalentClassResultsTable.setName("equivalent"); - equivalentPanel.add(new JScrollPane(equivalentClassResultsTable), c); + equivalentPanel.getContentContainer().add(new JScrollPane(equivalentClassResultsTable), c); c.weightx = 0.0; c.weighty = 0.0; c.gridx = 1; c.gridy = 0; equivalentClassCoveragePanel = new GraphicalCoveragePanel(""); - equivalentPanel.add(new JScrollPane(equivalentClassCoveragePanel), c); - equivalentPanel.setBorder(BorderFactory.createTitledBorder("Equivalent class expressions")); + equivalentPanel.getContentContainer().add(new JScrollPane(equivalentClassCoveragePanel), c); c.gridx = 0; c.gridy = 1; equivalentInconsistencyLabel = new JLabel(" "); - equivalentPanel.add(equivalentInconsistencyLabel, c); + equivalentPanel.getContentContainer().add(equivalentInconsistencyLabel, c); return equivalentPanel; } private JComponent createSuperPanel(){ GridBagConstraints c = new GridBagConstraints(); - superPanel = new JPanel(); - superPanel.setLayout(new GridBagLayout()); + superPanel = new JXTitledPanel(SUPERCLASS_PANEL_TITLE); + superPanel.getContentContainer().setLayout(new GridBagLayout()); c.weightx = 1.0; c.weighty = 1.0; @@ -150,20 +158,19 @@ c.gridy = 0; superClassResultsTable = new SelectableClassExpressionsTable(); superClassResultsTable.setName("super"); - superPanel.add(new JScrollPane(superClassResultsTable), c); + superPanel.getContentContainer().add(new JScrollPane(superClassResultsTable), c); c.weightx = 0.0; c.weighty = 0.0; c.gridx = 1; c.gridy = 0; superClassCoveragePanel = new GraphicalCoveragePanel(""); - superPanel.add(new JScrollPane(superClassCoveragePanel), c); - superPanel.setBorder(BorderFactory.createTitledBorder("Superclass expressions")); + superPanel.getContentContainer().add(new JScrollPane(superClassCoveragePanel), c); c.gridx = 0; c.gridy = 1; superInconsistencyLabel = new JLabel(" "); - superPanel.add(superInconsistencyLabel, c); + superPanel.getContentContainer().add(superInconsistencyLabel, c); return superPanel; } @@ -259,6 +266,9 @@ public void setSelectedClass(int rowIndex){ classesTable.setSelectedClass(rowIndex); + String renderedClassName = OREManager.getInstance().getManchesterSyntaxRendering(classesTable.getSelectedClass(rowIndex)); + superPanel.setTitle(SUPERCLASS_PANEL_TITLE + renderedClassName); + equivalentPanel.setTitle(EQUIVALENTCLASS_PANEL_TITLE + renderedClassName); } public static void main(String[] args){ Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/ClassChoosePanel.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -122,7 +122,7 @@ minInstancesCountPanel.add(new JLabel("Min. instance count per class: ")); minInstanceCountSpinner = new JSpinner(); minInstanceCountSpinner.setEnabled(true); - javax.swing.SpinnerModel spinnerModel = new SpinnerNumberModel(1, 1, 500, 1); + javax.swing.SpinnerModel spinnerModel = new SpinnerNumberModel(3, 1, 500, 1); minInstanceCountSpinner.setModel(spinnerModel); minInstancesCountPanel.add(minInstanceCountSpinner); panel.add(minInstancesCountPanel, c); @@ -142,7 +142,7 @@ minInstancesCountPanel.add(new JLabel("Showing classes with at least ")); minInstanceCountSpinner = new JSpinner(); minInstanceCountSpinner.setEnabled(true); - javax.swing.SpinnerModel spinnerModel = new SpinnerNumberModel(1, 1, 500, 1); + javax.swing.SpinnerModel spinnerModel = new SpinnerNumberModel(3, 1, 500, 1); minInstanceCountSpinner.setModel(spinnerModel); minInstancesCountPanel.add(minInstanceCountSpinner); minInstancesCountPanel.add(new JLabel(" instances")); Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/InconsistencyExplanationPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/InconsistencyExplanationPanel.java 2010-03-09 10:29:35 UTC (rev 2100) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ui/wizard/panels/InconsistencyExplanationPanel.java 2010-03-09 12:57:53 UTC (rev 2101) @@ -6,6 +6,7 @@ import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionListener; +import java.util.HashSet; import javax.swing.BorderFactory; import javax.swing.Box; @@ -25,6 +26,7 @@ import org.dllearner.tools.ore.ui.ExplanationTablePanel; import org.dllearner.tools.ore.ui.HelpablePanel; import org.dllearner.tools.ore.ui.RepairPlanPanel; +import org.jdesktop.swingx.JXTitledPanel; import org.semanticweb.owl.apibinding.OWLManager; public class InconsistencyExplanationPanel extends JPanel{ @@ -72,8 +74,12 @@ } private JComponent createExplanationPanel(){ + JXTitledPanel explanationPanel = new JXTitledPanel(); + explanationPanel.setTitle("Explanations"); + explanationPanel.getContentContainer().setLayout(new BorderLayout()); + explanationsPanel = new Box(1); - + JPanel pan = new JPanel(new BorderLayout()); pan.add(explanationsPanel, BorderLayout.NORTH); explanationsScrollPane = new JScrollPane(pan); @@ -83,14 +89,12 @@ explanationsScrollPane.getViewport().setBackground(null); explanationsScrollPane.setOpaque(false); - buttonExplanationsPanel = new JPanel(); - buttonExplanationsPanel.setLayout(new BorderLayout()); - buttonExplanationsPanel.add(explanationsScrollPane, BorderLayout.CENTER); + explanationPanel.getContentContainer().add(explanationsScrollPane, BorderLayout.CENTER); JPanel holder = new JPanel(new BorderLayout()); holder.add(createExplanationHeaderPanel(), BorderLayout.WEST); - buttonExplanationsPanel.add(holder, BorderLayout.NORTH); + explanationPanel.getContentContainer().add(holder, BorderLayout.NORTH); - return buttonExplanationsPanel; + return explanationPanel; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |