From: <hee...@us...> - 2008-04-09 12:14:47
|
Revision: 779 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=779&view=rev Author: heeroyuy Date: 2008-04-09 05:14:35 -0700 (Wed, 09 Apr 2008) Log Message: ----------- warnings fixed Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java Removed Paths: ------------- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerComponentListener.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerConfig.java trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerOptionTab.java trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassButton.java Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ActionHandler.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,38 +1,30 @@ package org.dllearner.tools.protege; import java.awt.event.*; - -public class ActionHandler implements ActionListener, ComponentListener{ - private ActionHandler action; - +public class ActionHandler implements ActionListener, ItemListener{ + private DLLearnerModel model; - public ActionHandler(ActionHandler a) + public ActionHandler(ActionHandler a,DLLearnerModel m) { - action = a; + model = m; } public void actionPerformed(ActionEvent z){ - System.out.println("hihihi: "+ z.getActionCommand()); + if(z.getActionCommand().equals("RUN")) + { + model.configDLLearner(); + model.DLLearnerStart(); + //setChanged(); + //notifyObservers(model.getSolutions()); + System.out.println(model.getSolutions()); + //config.setDescriptionList(model.getSolutions()); + } } - public void componentHidden(ComponentEvent e) - { - System.out.println("1: "+e.getID()); - } - public void componentMoved(ComponentEvent e) + public void itemStateChanged(ItemEvent i) { - System.out.println("2: "+ e.getComponent().getClass().getName()); + } - public void componentResized(ComponentEvent e) - { - //System.out.println("3: "+ e.getComponent().getClass().getName()); - } - - public void componentShown(ComponentEvent e) - { - System.out.println("4: "+ e.getID()); - } - } Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ButtonList.java 2008-04-09 12:14:35 UTC (rev 779) @@ -15,7 +15,7 @@ { super(editorKit.getOWLModelManager().getOWLOntologyManager()); addSection(new OWLEquivalentClassesAxiomFrameSection(editorKit, this)); - addSection(new SuggestClassButton(editorKit, this)); + addSection(new SuggestEquivalentClassButton(editorKit, this)); addSection(new OWLSubClassAxiomFrameSection(editorKit, this)); //addSection(new SuggestClassButton(editorKit, this)); addSection(new InheritedAnonymousClassesFrameSection(editorKit, this)); Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerComponentListener.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerComponentListener.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerComponentListener.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,16 +0,0 @@ -package org.dllearner.tools.protege; - -import java.awt.event.*; - -public class DLLearnerComponentListener implements ItemListener { - - public void itemStateChanged(ItemEvent e) { - if (e.getStateChange() == ItemEvent.SELECTED) { - - System.out.println("JUHU "+e.getStateChange()); - - } else { - - } - } -} Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerConfig.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerConfig.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerConfig.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,54 +0,0 @@ -package org.dllearner.tools.protege; - -import org.protege.editor.owl.OWLEditorKit; - -public class DLLearnerConfig { - - - - public void DLLearnerStart() - { - System.out.println("blub"); - /*ComponentManager cm = ComponentManager.getInstance(); - KnowledgeSource source = cm.knowledgeSource(OWLFile.class); - String example = "examples/family/father.owl"; - cm.applyConfigEntry(source, "url", new File(example).toURI().toString()); - source.init(); - - // create DIG reasoning service with standard settings - ReasonerComponent reasoner = cm.reasoner(DIGReasoner.class, source); - // ReasoningService rs = cm.reasoningService(DIGReasonerNew.class, source); - reasoner.init(); - ReasoningService rs = cm.reasoningService(reasoner); - - // create a learning problem and set positive and negative examples - LearningProblem lp = cm.learningProblem(PosNegDefinitionLP.class, rs); - Set<String> positiveExamples = new TreeSet<String>(); - positiveExamples.add("http://example.com/father#stefan"); - positiveExamples.add("http://example.com/father#markus"); - positiveExamples.add("http://example.com/father#martin"); - Set<String> negativeExamples = new TreeSet<String>(); - negativeExamples.add("http://example.com/father#heinz"); - negativeExamples.add("http://example.com/father#anna"); - negativeExamples.add("http://example.com/father#michelle"); - cm.applyConfigEntry(lp, "positiveExamples", positiveExamples); - cm.applyConfigEntry(lp, "negativeExamples", negativeExamples); - lp.init(); - - // create the learning algorithm - LearningAlgorithm la = null; - try { - la = cm.learningAlgorithm(RandomGuesser.class, lp, rs); - } catch (LearningProblemUnsupportedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - cm.applyConfigEntry(la, "numberOfTrees", 100); - cm.applyConfigEntry(la, "maxDepth", 5); - la.init(); - - // start the algorithm and print the best concept found - la.start(); - System.out.println(la.getBestSolution());*/ - } -} Added: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerModel.java 2008-04-09 12:14:35 UTC (rev 779) @@ -0,0 +1,185 @@ +package org.dllearner.tools.protege; + +import org.dllearner.core.ComponentManager; +import org.dllearner.kb.OWLFile; + +import java.util.Observable; +import java.util.Set; +import java.util.TreeSet; +import java.util.Vector; +import java.io.*; +import javax.swing.JCheckBox; +import org.dllearner.algorithms.refinement.*; +import org.dllearner.core.*; +import org.dllearner.reasoning.*; +import org.dllearner.learningproblems.*; + +public class DLLearnerModel extends Observable{ + private String[] componenten={"org.dllearner.kb.OWLFile","org.dllearner.reasoning.OWLAPIReasoner", + "org.dllearner.reasoning.DIGReasoner","org.dllearner.reasoning.FastRetrievalReasoner","org.dllearner.learningproblems.PosNegInclusionLP" + ,"org.dllearner.learningproblems.PosNegDefinitionLP","org.dllearner.algorithms.RandomGuesser","org.dllearner.algorithms.BruteForceLearner","org.dllearner.algorithms.refinement.ROLearner","org.dllearner.algorithms.refexamples.ExampleBasedROLComponent","org.dllearner.algorithms.gp.GP"}; + private String uri; + private Vector<JCheckBox> positiv; + private Vector<JCheckBox> negativ; + private ComponentManager cm; + private ReasonerComponent reasoner; + private ReasoningService rs; + private static final int anzahl = 10; + private String[] description = new String[anzahl]; + + public DLLearnerModel() + + { + positiv = new Vector<JCheckBox>(); + negativ = new Vector<JCheckBox>(); + + } + /** + * String um die Componenten des DL-Learners anzumelden + */ + public void setDLLearnerModel(Vector<JCheckBox> pos, Vector<JCheckBox> neg, String s) + { + positiv=pos; + negativ=neg; + uri=s; + } + public void configDLLearner() + { + ComponentManager.setComponentClasses(componenten); + // get singleton instance of component manager + cm = ComponentManager.getInstance(); + + // create knowledge source + KnowledgeSource source = cm.knowledgeSource(OWLFile.class); + cm.applyConfigEntry(source, "url", new File(uri).toURI().toString()); + try{ + source.init(); + } + catch(Exception e){ + } + // create DIG reasoning service with standard settings + reasoner = cm.reasoner(OWLAPIReasoner.class, source); + // ReasoningService rs = cm.reasoningService(DIGReasonerNew.class, source); + try{ + reasoner.init(); + } + catch(Exception e){ + + } + rs = cm.reasoningService(reasoner); + } + + public void startPosNegDefinitionReasoning() + { + + } + public void DLLearnerStart() + { + // create a learning problem and set positive and negative examples + LearningProblem lp = cm.learningProblem(PosNegDefinitionLP.class, rs); + Set<String> positiveExamples = new TreeSet<String>(); + for(int i=0;i<positiv.size();i++) + { + if(positiv.get(i).isSelected()) + { + positiveExamples.add(positiv.get(i).getText()); + } + } + Set<String> negativeExamples = new TreeSet<String>(); + for(int i=0;i<negativ.size();i++) + { + if(negativ.get(i).isSelected()) + { + negativeExamples.add(negativ.get(i).getText()); + } + } + cm.applyConfigEntry(lp, "positiveExamples", positiveExamples); + cm.applyConfigEntry(lp, "negativeExamples", negativeExamples); + try{ + lp.init(); + } + catch(Exception e){ + + } + + // create the learning algorithm + LearningAlgorithm la = null; + try { + la = cm.learningAlgorithm(ROLearner.class, lp, rs); + } catch (LearningProblemUnsupportedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + cm.applyConfigEntry(la, "numberOfTrees", 100); + cm.applyConfigEntry(la, "maxDepth", 5); + try{ + la.init(); + } + catch(Exception e){ + + } + + // start the algorithm and print the best concept found + la.start(); + description[0]=la.getBestSolution().toString(); + setChanged(); + notifyObservers(description); + } + + public String[] getSolutions() + { + return description; + } + public Vector<JCheckBox> getPosVector() + { + return positiv; + } + + public Vector<JCheckBox> getNegVector() + { + return negativ; + } + + public void setPosVector(Vector<JCheckBox> a) + { + positiv =a; + } + + public void setNegVector(Vector<JCheckBox> b) + { + negativ = b; + } + + public void addToPosVector(JCheckBox a) + { + positiv.add(a); + } + + public void addToNegVector(JCheckBox b) + { + negativ.add(b); + } + + public void clearVector() + { + positiv.removeAllElements(); + negativ.removeAllElements(); + } + + public String getUri() + { + return uri; + } + + public void setDescriptionList(String[] list) + { + description=list; + } + + public String[] getSollutions() + { + return description; + } + + +} Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerOptionTab.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerOptionTab.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/DLLearnerOptionTab.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,175 +0,0 @@ -package org.dllearner.tools.protege; - -import org.protege.editor.owl.OWLEditorKit; - -import org.semanticweb.owl.model.OWLClass; -import org.semanticweb.owl.model.OWLDescription; -import org.semanticweb.owl.model.OWLException; -import org.protege.editor.owl.ui.frame.*; -import org.protege.editor.owl.ui.framelist.OWLFrameList2; - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; - -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.io.File; -import java.util.*; - -import org.dllearner.algorithms.RandomGuesser; -import org.dllearner.core.ComponentInitException; -import org.dllearner.algorithms.refexamples.ExampleBasedROLearner; -import org.dllearner.core.ComponentManager; -import org.dllearner.reasoning.DIGReasoner; -import org.dllearner.algorithms.RandomGuesser; -import org.dllearner.core.ComponentInitException; -import org.dllearner.core.ComponentManager; -import org.dllearner.core.KnowledgeSource; -import org.dllearner.core.LearningAlgorithm; -import org.dllearner.core.LearningProblem; -import org.dllearner.core.LearningProblemUnsupportedException; -import org.dllearner.core.ReasonerComponent; -import org.dllearner.core.ReasoningService; -import org.dllearner.kb.OWLFile; -import org.dllearner.learningproblems.PosNegDefinitionLP; -import org.dllearner.reasoning.DIGReasoner; -import org.dllearner.learningproblems.PosNegDefinitionLP; -import org.dllearner.core.KnowledgeSource; -import org.dllearner.kb.OWLFile; -import org.semanticweb.owl.model.*; - - - -public class DLLearnerOptionTab extends AbstractOWLFrameSectionRowObjectEditor<OWLDescription> - { - - private JLabel pos; - private JComponent learner; - private JSplitPane split; - private JButton accept; - private JButton config; - private OWLEditorKit editor; - private JPanel option; - private JScrollPane suggest; - private JPanel vorschlag; - private Object[] blub; - private OWLDescription initialDescription; - private JLabel neg; - private String test; - private ActionHandler action; - private DLLearnerComponentListener listen; - private DLLearnerConfig dlLearnerConfig; - private JCheckBox hi; - - - //TODO: Layout selber festlegen denn die standartlayouts sind scheisse - //TODO: ActionListener implementieren - //TODO: Reasoner, learningproblems und algos direkt vom dl-learner beziehen - //TODO: instanz vom DLLearnerOptionTab wieder zuruecksetzen damit beim laden neue Ontologie erkannt wird - public DLLearnerOptionTab(OWLEditorKit editorKit, OWLDescription description) { - - dlLearnerConfig = new DLLearnerConfig(); - editor = editorKit; - initialDescription = description; - split = new JSplitPane(split.HORIZONTAL_SPLIT,false); - suggest = new JScrollPane(); - vorschlag = new JPanel(new GridLayout(3,1)); - learner = new JPanel(); - option = new JPanel(new GridLayout(20,1)); - init(); - hi= new JCheckBox("Test", true); - //buildLearnerOption(); - } - - public void startDLLearner() - { - new DLLearnerConfig().DLLearnerStart(); - - - } - public void init() - { - action = new ActionHandler(this.action); - listen = new DLLearnerComponentListener(); - } - - public OWLDescription getEditedObject() - { - String expression = "JUHU"; - try { - return editor.getOWLModelManager().getOWLDescriptionParser().createOWLDescription(expression); - } - catch (OWLException e){ - return null; - } - - } - - private void buildLearnerOption() - { - learner.setPreferredSize(new Dimension(500, 400)); - split = new JSplitPane(split.HORIZONTAL_SPLIT,false); - split.setResizeWeight(0.5); - - pos = new JLabel("Positive Examples"); - option.add(pos); - blub=editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().toArray(); - for(int j = 0; j<editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().size();j++) - { - option.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j], true)).addComponentListener(action); - } - neg = new JLabel("Negative Examples"); - option.add(neg); - for(int j = 0; j<editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().size();j++) - { - option.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j], true)).addComponentListener(action); - } - config = new JButton("Config"); - config.addActionListener(this.action); - option.add(config); - option.add(hi); - accept = new JButton("RUN"); - accept.addActionListener(this.action); - vorschlag.add(suggest); - vorschlag.add(accept); - split.setLeftComponent(option); - split.setRightComponent(vorschlag); - learner.add(split); - System.out.println(""); - //System.out.println("hi: "+hi.get); - startDLLearner(); - - } - -public void actionPerformed(ActionEvent a) -{ - System.out.println(a.getSource()); -} - public JComponent getEditorComponent() - { - buildLearnerOption(); - return learner; - } - - public void clear() - { - if(split!=null) - { - split.removeAll(); - option.removeAll(); - vorschlag.removeAll(); - } - } - - public void dispose(){ - } - - public Set<OWLDescription> getEditedObjects() - { - return super.getEditedObjects(); - } - } \ No newline at end of file Modified: trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/META-INF/MANIFEST.MF 2008-04-09 12:14:35 UTC (rev 779) @@ -6,7 +6,7 @@ Bundle-Description: blablabla Bundle-Vendor: blablabla Bundle-DocURL: blablabla -Bundle-ClassPath: .,lib/xbean.jar,lib/dig1.1-xmlbeans.jar,lib/junit-4.4.jar,log4j.jar,lib/components.ini +Bundle-ClassPath: .,lib/xbean.jar,lib/dig1.1-xmlbeans.jar,lib/junit-4.4.jar,log4j.jar,lib/components.ini,lib/pellet/pellet.jar,lib/pellet/aterm-java-1.6.jar,lib/pellet/relaxngDatatype.jar,lib/pellet/xsdlib.jar,lib/jena/commons-logging-1.1.jar Import-Package: org.osgi.framework,org.apache.log4j Export-Package: lib Bundle-Version: 1.0.0 Modified: trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/ProtegePlugin.java 2008-04-09 12:14:35 UTC (rev 779) @@ -9,7 +9,7 @@ public class ProtegePlugin extends AbstractOWLClassViewComponent { - +private static final long serialVersionUID = 728362819273927L; private OWLFrameList2<OWLClass> list; public void initialiseClassView() throws Exception { Deleted: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassButton.java 2008-04-09 09:29:09 UTC (rev 778) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestClassButton.java 2008-04-09 12:14:35 UTC (rev 779) @@ -1,64 +0,0 @@ -package org.dllearner.tools.protege; - -import java.util.Comparator; - -import org.protege.editor.owl.OWLEditorKit; -import org.protege.editor.owl.ui.frame.AbstractOWLFrameSection; -import org.protege.editor.owl.ui.frame.OWLFrame; -import org.protege.editor.owl.ui.frame.OWLFrameSectionRow; -import org.protege.editor.owl.ui.frame.OWLFrameSectionRowObjectEditor; -import org.semanticweb.owl.model.OWLClass; -import org.semanticweb.owl.model.OWLDescription; -import org.semanticweb.owl.model.OWLEquivalentClassesAxiom; -import org.semanticweb.owl.model.OWLOntology; -import org.semanticweb.owl.util.CollectionFactory; - - -public class SuggestClassButton extends AbstractOWLFrameSection<OWLClass, OWLEquivalentClassesAxiom, OWLDescription> { - - private static final String LABEL = "Suggest a class"; - - - public SuggestClassButton(OWLEditorKit editorKit, OWLFrame<OWLClass> frame) - { - super(editorKit, LABEL, frame); - } - - protected void clear() { - - } - - - - protected void refill(OWLOntology ontology) { - - } - - - protected void refillInferred() { - - } - - - public void visit(SuggestClassButton axiom) { - - - } - - - protected OWLEquivalentClassesAxiom createAxiom(OWLDescription object) { - return getOWLDataFactory().getOWLEquivalentClassesAxiom(CollectionFactory.createSet(getRootObject(), object)); - } - - - public OWLFrameSectionRowObjectEditor<OWLDescription> getObjectEditor() { - - return new DLLearnerOptionTab(getOWLEditorKit(), null); - - } - - - public Comparator<OWLFrameSectionRow<OWLClass, OWLEquivalentClassesAxiom, OWLDescription>> getRowComparator() { - return null; - } -} Added: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassButton.java 2008-04-09 12:14:35 UTC (rev 779) @@ -0,0 +1,63 @@ +package org.dllearner.tools.protege; + +import java.util.Comparator; + +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.frame.AbstractOWLFrameSection; +import org.protege.editor.owl.ui.frame.OWLFrame; +import org.protege.editor.owl.ui.frame.OWLFrameSectionRow; +import org.protege.editor.owl.ui.frame.OWLFrameSectionRowObjectEditor; +import org.semanticweb.owl.model.OWLClass; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLEquivalentClassesAxiom; +import org.semanticweb.owl.model.OWLOntology; +import org.semanticweb.owl.util.CollectionFactory; + + +public class SuggestEquivalentClassButton extends AbstractOWLFrameSection<OWLClass, OWLEquivalentClassesAxiom, OWLDescription> { + + private static final String LABEL = "Suggest a equivalent Class"; + private OWLFrame<OWLClass> frame; + public SuggestEquivalentClassButton(OWLEditorKit editorKit, OWLFrame<OWLClass> frame) + { + super(editorKit, LABEL, frame); + this.frame = frame; + } + + protected void clear() { + + } + + + + protected void refill(OWLOntology ontology) { + + } + + + protected void refillInferred() { + + } + + + public void visit(SuggestEquivalentClassButton axiom) { + + + } + + + protected OWLEquivalentClassesAxiom createAxiom(OWLDescription object) { + return getOWLDataFactory().getOWLEquivalentClassesAxiom(CollectionFactory.createSet(getRootObject(), object)); + } + + + public OWLFrameSectionRowObjectEditor<OWLDescription> getObjectEditor() { + return new SuggestEquivalentClassView(getOWLEditorKit(), null, frame); + + } + + + public Comparator<OWLFrameSectionRow<OWLClass, OWLEquivalentClassesAxiom, OWLDescription>> getRowComparator() { + return null; + } +} \ No newline at end of file Added: trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java =================================================================== --- trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/tools/protege/SuggestEquivalentClassView.java 2008-04-09 12:14:35 UTC (rev 779) @@ -0,0 +1,233 @@ +package org.dllearner.tools.protege; + + +import java.awt.Dimension; +import java.awt.GridLayout; +import java.util.*; + +import org.semanticweb.owl.model.OWLClass; +import org.dllearner.core.owl.Description; +import org.protege.editor.owl.ui.frame.OWLFrame; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JComponent; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.JList; +import javax.swing.JSplitPane; + + +import org.protege.editor.owl.OWLEditorKit; +import org.protege.editor.owl.ui.frame.AbstractOWLFrameSectionRowObjectEditor; +import org.semanticweb.owl.model.OWLDescription; +import org.semanticweb.owl.model.OWLException; + + +public class SuggestEquivalentClassView extends AbstractOWLFrameSectionRowObjectEditor<OWLDescription> implements Observer{ + + private JLabel pos; + private Vector<JCheckBox> positive = new Vector<JCheckBox>(); + private Vector<JCheckBox> negative = new Vector<JCheckBox>(); + private JComponent learner; + private JSplitPane split; + private JButton accept; + private JButton run; + private OWLEditorKit editor; + private JPanel option; + private JPanel listPanel; + private JScrollPane test; + private JList suggest; + private JPanel vorschlag; + private Object[] blub; + private JLabel neg; + private ActionHandler action; + private DLLearnerModel model; + private OWLFrame<OWLClass> aktuell; + private JPanel panel; + + public void update(Observable m,Object c) + { + if( model != m) return; + draw(); + } + //TODO: Layout selber festlegen denn die standartlayouts sind scheisse + //TODO: MVC Achitektur erstellen + //TODO: herrausfinden wie das mit dem scrollen geht + public SuggestEquivalentClassView(OWLEditorKit editorKit, OWLDescription description, OWLFrame<OWLClass> h) { + + editor = editorKit; + aktuell = h; + split = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,false); + model = new DLLearnerModel(); + model.addObserver( this); + vorschlag = new JPanel(); + panel = new JPanel(new GridLayout(0,1)); + panel.setPreferredSize(new Dimension(290,490)); + suggest = new JList(); + //positiv.setPreferredSize(new Dimension(190,200)); + //negativ.setPreferredSize(new Dimension(190,200)); + learner = new JPanel(); + listPanel = new JPanel(); + learner.setPreferredSize(new Dimension(600, 500)); + split.setResizeWeight(0.5); + pos = new JLabel("Positive Examples"); + neg = new JLabel("Negative Examples"); + run = new JButton("RUN"); + accept = new JButton("ADD"); + //accept.setSize(190, 20); + accept.setPreferredSize(new Dimension(290,50)); + action = new ActionHandler(this.action, model); + } + + public OWLDescription getEditedObject() + { + String expression = "JUHU"; + try { + return editor.getOWLModelManager().getOWLDescriptionParser().createOWLDescription(expression); + } + catch (OWLException e){ + return null; + } + + } + + public void makeView() + { + test= new JScrollPane(); + option = new JPanel(new GridLayout(0,1)); + option.setPreferredSize(new Dimension(290,0)); + option.add(pos); + blub=editor.getOWLModelManager().getActiveOntology().getReferencedIndividuals().toArray(); + for(int j = 0; j<blub.length;j++) + { + positive.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j].toString())); + + } + for(int j=0; j<positive.size();j++) + { + option.add(positive.get(j)); + } + option.add(neg); + for(int j = 0; j<blub.length;j++) + { + negative.add(new JCheckBox(editor.getOWLModelManager().getActiveOntology().getURI().toString()+"#"+blub[j].toString())); + } + for(int i=0;i<negative.size();i++) + { + option.add(negative.get(i)); + } + //individuals.add(negative); + option.add(run); + panel.add(suggest); + panel.add(accept); + test.add(option); + split.setLeftComponent(option); + split.setRightComponent(panel); + learner.add(split); + System.out.println(aktuell.getRootObject()); + addListener(); + model.setDLLearnerModel(positive,negative,getUri()); + } + + public JComponent getEditorComponent() + { + makeView(); + return learner; + } + /** + * Methode die den View wieder leert nachdem er nicht mehr gebraucht wird + */ + public void clear() + { + if(split!=null) + { + split.removeAll(); + panel.removeAll(); + if(option!=null) + { + option.removeAll(); + } + suggest.removeAll(); + vorschlag.removeAll(); + positive.removeAllElements(); + negative.removeAllElements(); + } + } + /** + * Methode die alle Buttons und CheckBoxes an dem ActionListener anmeldet + */ + private void addListener() + { + run.addActionListener(this.action); + accept.addActionListener(this.action); + + for(int i=0;i<positive.size();i++) + { + positive.get(i).addItemListener(action); + } + + for(int i=0;i<negative.size();i++) + { + negative.get(i).addItemListener(action); + } + } + + public void dispose(){ + } + public String getUri() + { + char[] test = editor.getOWLModelManager().getOntologyPhysicalURI(editor.getOWLModelManager().getActiveOntology()).toString().toCharArray(); + String uri=""; + for(int i =6; i<test.length;i++) + { + uri=uri+test[i]; + } + return uri; + } + + public void setSuggestionList(java.util.List<Description> list) + { + System.out.println(list.isEmpty()); + if(list.isEmpty()) + { + listPanel.add(new JLabel("No Suggestions")); + } + else + { + for(int i = 0; i<list.size();i++) + { + listPanel.add(new JLabel(list.get(i).toString())); + } + } + } + + + public Set<OWLDescription> getEditedObjects() + { + return super.getEditedObjects(); + } + private void resetPanel() + { + option.removeAll(); + positive.removeAllElements(); + negative.removeAllElements(); + panel.removeAll(); + } + public void release() + { + model.deleteObserver( this); + model = null; + } + + protected void draw() { + if (model != null) { + String desc[] = ((DLLearnerModel)model).getSolutions(); + + suggest = new JList(desc); + System.out.println("Hallo Welt"); + resetPanel(); + makeView(); + } + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |