From: <lor...@us...> - 2008-05-22 11:23:25
|
Revision: 919 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=919&view=rev Author: lorenz_b Date: 2008-05-22 04:23:19 -0700 (Thu, 22 May 2008) Log Message: ----------- Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/ore/ColorListCellRenderer.java trunk/src/dl-learner/org/dllearner/tools/ore/ColumnListCellRenderer.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/ore/LearningPanel.java trunk/src/dl-learner/org/dllearner/tools/ore/MoveDialog.java trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java trunk/src/dl-learner/org/dllearner/tools/ore/RepairPanelDescriptor.java Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ColorListCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ColorListCellRenderer.java 2008-05-22 11:09:53 UTC (rev 918) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ColorListCellRenderer.java 2008-05-22 11:23:19 UTC (rev 919) @@ -29,7 +29,7 @@ } else if(isSelected){ background = Color.BLUE; - foreground = Color.BLACK; + foreground = Color.WHITE; }else{ background = Color.WHITE; foreground = Color.BLACK; Modified: trunk/src/dl-learner/org/dllearner/tools/ore/ColumnListCellRenderer.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/ColumnListCellRenderer.java 2008-05-22 11:09:53 UTC (rev 918) +++ trunk/src/dl-learner/org/dllearner/tools/ore/ColumnListCellRenderer.java 2008-05-22 11:23:19 UTC (rev 919) @@ -46,7 +46,7 @@ } else if(isSelected){ background = Color.BLUE; - foreground = Color.BLACK; + foreground = Color.WHITE; }else{ background = Color.WHITE; foreground = Color.BLACK; Added: trunk/src/dl-learner/org/dllearner/tools/ore/LearningPanel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/LearningPanel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/LearningPanel.java 2008-05-22 11:23:19 UTC (rev 919) @@ -0,0 +1,158 @@ +package org.dllearner.tools.ore; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionListener; +import java.awt.geom.Ellipse2D; +import java.awt.geom.RoundRectangle2D; + +import javax.swing.DefaultListModel; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.ListSelectionModel; +import javax.swing.event.ListSelectionListener; +import javax.swing.table.DefaultTableModel; + +import org.jdesktop.swingx.JXBusyLabel; +import org.jdesktop.swingx.JXTable; +import org.jdesktop.swingx.decorator.HighlighterFactory; +import org.jdesktop.swingx.icon.EmptyIcon; +import org.jdesktop.swingx.painter.BusyPainter; + +public class LearningPanel extends JPanel{ + + private static final long serialVersionUID = -7411197973240429632L; + + private JPanel contentPanel; + + private javax.swing.JList resultList; + private DefaultListModel model; + + private JXTable resultTable; + private DefaultTableModel model1; + + private JLabel statusLabel; + private JXBusyLabel loadingLabel; + + private JButton startButton; + private JButton stopButton; + + @SuppressWarnings("unchecked") + public LearningPanel() { + + super(); + model = new DefaultListModel(); + + model1 = new DefaultTableModel(); + model1.addColumn("Description"); + model1.addColumn("Correctness"); + + + JPanel buttonPanel = new JPanel(); + startButton = new JButton("Start"); + stopButton = new JButton("Stop"); + stopButton.setEnabled(false); + buttonPanel.add(startButton); + buttonPanel.add(stopButton); + + + JPanel labelPanel = new JPanel(); + statusLabel = new JLabel(); + + loadingLabel = new JXBusyLabel(new Dimension(15,15)); + BusyPainter painter = new BusyPainter( + new RoundRectangle2D.Float(0, 0,6.0f,2.6f,10.0f,10.0f), + new Ellipse2D.Float(2.0f,2.0f,11.0f,11.0f)); + painter.setTrailLength(2); + painter.setPoints(7); + painter.setFrame(-1); + loadingLabel.setPreferredSize(new Dimension(15,15)); + loadingLabel.setIcon(new EmptyIcon(15,15)); + loadingLabel.setBusyPainter(painter); + labelPanel.add(loadingLabel); + labelPanel.add(statusLabel); + + contentPanel = getContentPanel(); + setLayout(new java.awt.BorderLayout()); + + add(buttonPanel, BorderLayout.EAST); + add(contentPanel,BorderLayout.CENTER); + add(labelPanel, BorderLayout.SOUTH); + } + + private JPanel getContentPanel() { + + JPanel contentPanel1 = new JPanel(); + JScrollPane scroll = new JScrollPane(); + + resultTable = new JXTable(model1 ); + + resultTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + resultTable.setHighlighters(HighlighterFactory.createSimpleStriping()); + + + resultList = new JList(model); +// resultList.setCellRenderer(new ColumnListCellRenderer()); + scroll.setPreferredSize(new Dimension(400, 400)); + + scroll.setViewportView(resultList); + + contentPanel1.add(scroll); + + + + return contentPanel1; + } + + public void addStartButtonListener(ActionListener a){ + startButton.addActionListener(a); + } + + public void addStopButtonListener(ActionListener a){ + stopButton.addActionListener(a); + } + + public JLabel getStatusLabel() { + return statusLabel; + } + + public JXBusyLabel getLoadingLabel() { + return loadingLabel; + } + + public JButton getStartButton() { + return startButton; + } + + public JButton getStopButton() { + return stopButton; + } + + public DefaultListModel getModel() { + return model; + } + +// public DefaultTableModel getModel() { +// return model1; +// } + + public javax.swing.JList getResultList() { + return resultList; + } + + public void addSelectionListener(ListSelectionListener l){ + resultList.addListSelectionListener(l); + } + + + +} + + + + + + Added: trunk/src/dl-learner/org/dllearner/tools/ore/MoveDialog.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/MoveDialog.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/MoveDialog.java 2008-05-22 11:23:19 UTC (rev 919) @@ -0,0 +1,108 @@ +package org.dllearner.tools.ore; + +import java.awt.BorderLayout; +import java.awt.Dimension; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.Set; + +import javax.swing.Box; +import javax.swing.BoxLayout; +import javax.swing.DefaultListModel; +import javax.swing.JButton; +import javax.swing.JDialog; +import javax.swing.JList; +import javax.swing.JPanel; +import javax.swing.JScrollPane; + +import org.dllearner.core.owl.NamedClass; + +public class MoveDialog extends JDialog{ + + /** + * + */ + private static final long serialVersionUID = 1L; + + Box buttonBox; + JButton okButton; + JButton cancelButton; + JPanel buttonPanel; + JPanel listPanel; + JScrollPane scroll; + JList conceptList; + Set<NamedClass> allConcepts; + NamedClass selectedValue;; + + + public MoveDialog(Set<NamedClass> allConcepts, JDialog dialog){ + super(dialog, "Auswahl", true); + this.allConcepts = allConcepts; + + } + + public void init(){ + setSize(500, 500); + buttonBox = new Box(BoxLayout.X_AXIS); + + okButton = new JButton("Ok"); + okButton.addActionListener(new ActionListener(){ + + @Override + public void actionPerformed(ActionEvent e) { + if(e.getActionCommand().equals("Ok")){ + + selectedValue = (NamedClass)conceptList.getSelectedValue(); + + dispose(); + } + + } + }); + cancelButton = new JButton("Cancel"); + cancelButton.addActionListener(new ActionListener(){ + + @Override + public void actionPerformed(ActionEvent e) { + if(e.getActionCommand().equals("Cancel")){ + + + dispose(); + } + + } + }); + + buttonBox.add(okButton); + buttonBox.add(Box.createHorizontalStrut(30)); + buttonBox.add(cancelButton); + + buttonPanel = new JPanel(); + buttonPanel.setLayout(new BorderLayout()); + buttonPanel.add(buttonBox, java.awt.BorderLayout.EAST); + + listPanel = new JPanel(); + DefaultListModel model = new DefaultListModel(); + for (NamedClass cl : allConcepts) { + model.addElement(cl); + + } + + scroll = new JScrollPane(); + conceptList = new JList(model); + scroll.setPreferredSize(new Dimension(400, 400)); + scroll.setViewportView(conceptList); + listPanel.add(scroll); + + getContentPane().add(buttonPanel, java.awt.BorderLayout.SOUTH); + getContentPane().add(listPanel, java.awt.BorderLayout.CENTER); + + setVisible(true); + + } + + public NamedClass getSelectedValue(){ + return selectedValue; + } + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/OntologyModifierOWLAPI.java 2008-05-22 11:23:19 UTC (rev 919) @@ -0,0 +1,148 @@ +package org.dllearner.tools.ore; + +import java.net.URI; +import java.net.URISyntaxException; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +import org.dllearner.core.owl.Description; +import org.dllearner.core.owl.Individual; +import org.dllearner.reasoning.OWLAPIDescriptionConvertVisitor; +import org.dllearner.reasoning.OWLAPIReasoner; +import org.semanticweb.owl.apibinding.OWLManager; +import org.semanticweb.owl.io.RDFXMLOntologyFormat; +import org.semanticweb.owl.model.AddAxiom; +import org.semanticweb.owl.model.OWLAxiom; +import org.semanticweb.owl.model.OWLDataFactory; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLIndividual; +import org.semanticweb.owl.model.OWLOntology; +import org.semanticweb.owl.model.OWLOntologyChangeException; +import org.semanticweb.owl.model.OWLOntologyManager; +import org.semanticweb.owl.model.OWLOntologyStorageException; +import org.semanticweb.owl.model.UnknownOWLOntologyException; +import org.semanticweb.owl.util.OWLEntityRemover; + +public class OntologyModifierOWLAPI { + + OWLOntology ontology; + OWLAPIReasoner reasoner; + OWLDataFactory factory; + OWLOntologyManager manager; + + + public OntologyModifierOWLAPI(OWLAPIReasoner reasoner){ + this.reasoner = reasoner; + this.manager = OWLManager.createOWLOntologyManager(); + this.factory = manager.getOWLDataFactory(); + this.ontology = reasoner.getOWLAPIOntologies().get(0); + } + + public void addAxiomToOWL(Description newDesc, Description oldDesc){ + OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(newDesc); + OWLDescription oldConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(oldDesc); + + + Set<OWLDescription> ds = new HashSet<OWLDescription>(); + ds.add(newConceptOWLAPI); + ds.add(oldConceptOWLAPI); + + OWLAxiom axiomOWLAPI = factory.getOWLEquivalentClassesAxiom(ds); + + + AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); + try { + manager.applyChange(axiom); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + public void saveOntology(){ + URI physicalURI2 = URI.create("file:/tmp/MyOnt2.owl"); + + try { + manager.saveOntology(ontology, new RDFXMLOntologyFormat(), physicalURI2); + } catch (UnknownOWLOntologyException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (OWLOntologyStorageException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + public void deleteIndividual(Individual ind){ + + OWLIndividual individualOWLAPI = null; + + try { + individualOWLAPI = factory.getOWLIndividual( new URI(ind.getName())); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + OWLEntityRemover remover = new OWLEntityRemover(manager, Collections.singleton(ontology)); + + individualOWLAPI.accept(remover); + + try { + manager.applyChanges(remover.getChanges()); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + remover.reset(); + + + } + + public void moveIndividual(Individual ind, Description oldConcept, Description newConcept){ + + + OWLIndividual individualOWLAPI = null; + + + try { + individualOWLAPI = factory.getOWLIndividual( new URI(ind.getName())); + } catch (URISyntaxException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + //Loeschen + OWLEntityRemover remover = new OWLEntityRemover(manager, Collections.singleton(ontology)); + individualOWLAPI.accept(remover); + + try { + manager.applyChanges(remover.getChanges()); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + remover.reset(); + + //Hinzufuegen + + OWLDescription newConceptOWLAPI = OWLAPIDescriptionConvertVisitor.getOWLDescription(newConcept); + + OWLAxiom axiomOWLAPI = factory.getOWLClassAssertionAxiom(individualOWLAPI, newConceptOWLAPI); + + AddAxiom axiom = new AddAxiom(ontology, axiomOWLAPI); + try { + manager.applyChange(axiom); + } catch (OWLOntologyChangeException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } + + +} Added: trunk/src/dl-learner/org/dllearner/tools/ore/RepairPanelDescriptor.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/ore/RepairPanelDescriptor.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/ore/RepairPanelDescriptor.java 2008-05-22 11:23:19 UTC (rev 919) @@ -0,0 +1,96 @@ +package org.dllearner.tools.ore; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; + +import org.dllearner.core.owl.Individual; + + + + +public class RepairPanelDescriptor extends WizardPanelDescriptor implements ActionListener, ListSelectionListener{ + + public static final String IDENTIFIER = "REPAIR_PANEL"; + + RepairPanel panel4; + + + public RepairPanelDescriptor() { + + panel4 = new RepairPanel(); + panel4.addDeleteButtonListener(this); + panel4.addMoveButtonListener(this); + panel4.addAddButtonListener(this); + panel4.addSaveButtonListener(this); + panel4.addSelectionListener(this); + + setPanelDescriptorIdentifier(IDENTIFIER); + setPanelComponent(panel4); + + + } + + @Override + public Object getNextPanelDescriptor() { + return RepairPanelDescriptor.IDENTIFIER; + } + + @Override + public Object getBackPanelDescriptor() { + return LearningPanelDescriptor.IDENTIFIER; + } + + + + + + public void valueChanged(ListSelectionEvent e) { + if (!e.getValueIsAdjusting()) + System.out.println(panel4.getResultList().getSelectedValue()); + + } + + @Override + public void actionPerformed(ActionEvent event) { + if(event.getActionCommand().equals("save")){ + getWizardModel().getOre().getModi().saveOntology(); + + } + if(event.getActionCommand().equals("delete")){ + + int idx = panel4.getResultList().getSelectedIndex(); + if (-1 == idx) { + //No item selected + return; + } + System.out.println("Index: " +idx); + + + + getWizardModel().getOre().getModi().deleteIndividual((Individual)panel4.getResultList().getSelectedValue()); + panel4.getModel().removeElementAt(idx); + + + } + if(event.getActionCommand().equals("move")){ + + int idx = panel4.getResultList().getSelectedIndex(); + if (-1 == idx) { + //No item selected + return; + } + System.out.println(getWizardModel().getOre().allAtomicConcepts); + + MoveDialog dialog = new MoveDialog(getWizardModel().getOre().allAtomicConcepts, getWizard().getDialog()); + dialog.init(); + System.err.println("Verschiebe " +(Individual)panel4.getResultList().getSelectedValue()+ + " von " + "......." + " nach " +dialog.getSelectedValue()); + + + } + + }} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |