popupeditatom.java
来自「Semantic Web Ontology Editor」· Java 代码 · 共 627 行 · 第 1/2 页
JAVA
627 行
public void refreshClassesAndProps() {
itemBox.setEnabled( true );
try {
((DefaultComboBoxModel) this.itemBox.getModel()).removeAllElements();
if ( itemType == 0 ) {
classMod = (DefaultComboBoxModel) this.itemBox.getModel();
classMod.removeAllElements();
Set classSet = currOnt.getClasses();
// create a vector for sorting
Vector vector = new Vector( classSet );
Collections.sort( vector, new OWLEntityAlphaComparator() );
for ( Iterator c = vector.iterator(); c.hasNext(); ) {
OWLClass curr = (OWLClass) c.next();
if ( !curr.getURI().toString().startsWith( swrlURI ) )
classMod.addElement( curr );
}
} else if ( itemType == 1 ) {
propMod = (DefaultComboBoxModel) this.itemBox.getModel();
propMod.removeAllElements();
Set propSet = currOnt.getObjectProperties();
// create a vector for sorting
Vector vector = new Vector( propSet );
Collections.sort( vector, new OWLEntityAlphaComparator() );
for ( Iterator p = vector.iterator(); p.hasNext(); ) {
OWLObjectProperty curr = (OWLObjectProperty) p.next();
if ( !curr.getURI().toString().startsWith( swrlURI ) )
propMod.addElement( curr );
}
} else if ( itemType == 2 ) {
propMod = (DefaultComboBoxModel) this.itemBox.getModel();
propMod.removeAllElements();
Set propSet = currOnt.getDataProperties();
// create a vector for sorting
Vector vector = new Vector( propSet );
Collections.sort( vector, new OWLEntityAlphaComparator() );
for ( Iterator p = propSet.iterator(); p.hasNext(); ) {
OWLDataProperty curr = (OWLDataProperty) p.next();
if ( !curr.getURI().toString().startsWith( swrlURI ) )
propMod.addElement( curr );
}
}
} catch ( OWLException e ) {}
if ( itemBox.getItemCount() == 0 ) {
((DefaultComboBoxModel) itemBox.getModel()).addElement( "No entities found in ontology." );
itemBox.setEnabled( false );
}
}
public void fillValues() {
DefaultComboBoxModel cbm = (DefaultComboBoxModel) ontBox.getModel();
for ( Iterator i = model.getOntologies().iterator(); i.hasNext(); ) {
try {
cbm.addElement( ((OWLOntology) i.next()).getURI() );
} catch (OWLException e) {}
}
DefaultComboBoxModel ind1 = (DefaultComboBoxModel) ind1Box.getModel();
DefaultComboBoxModel ind2 = (DefaultComboBoxModel) ind2Box.getModel();
try {
for ( Iterator i = currOnt.getIndividuals().iterator(); i.hasNext(); ) {
OWLIndividual curr = (OWLIndividual) i.next();
if ( containsVars ) {
if ( !variableSet.contains( curr ) && !curr.isAnonymous() ) {
ind1.addElement( curr );
ind2.addElement( curr );
}
} else if ( !curr.isAnonymous() ) {
ind1.addElement( curr );
ind2.addElement( curr );
}
}
} catch ( OWLException e ) {}
refreshClassesAndProps();
}
public void setSecondArgumentEnabled( boolean enabled ) {
indButton2.setEnabled( enabled );
varButton2.setEnabled( enabled );
ind2Box.setEnabled( enabled );
//var2Box.setEnabled( enabled );
var2TextField.setEnabled(enabled);
}
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent arg0) {
try {
if ( arg0.getSource() == freeFormBox )
{
boolean isFree = freeFormBox.getModel().isSelected();
if ( isFree )
{
System.out.println( "adding freeFormCombo");
formPanel.remove( itemBox );
formPanel.add( freeFormCombo );
SpringUtilities.makeCompactGrid(formPanel, //parent
4, 2,
5, 5, //initX, initY
5, 5); //xPad, yPad
formPanel.repaint();
formPanel.revalidate();
}
else
{
System.out.println( "adding itemBox");
formPanel.remove( freeFormCombo );
formPanel.add( itemBox );
SpringUtilities.makeCompactGrid(formPanel, //parent
4, 2,
5, 5, //initX, initY
5, 5); //xPad, yPad
formPanel.repaint();
formPanel.revalidate();
}
return;
}
if ( arg0.getSource() == addButton || arg0.getSource() == addCloseButton ) {
int index = atomTypeBox.getSelectedIndex();
OWLDataFactoryImpl fac = OWLDataFactoryImpl.getInstance( new OWLConnectionImpl() );
boolean isFreeform = freeFormBox.getModel().isSelected();
OWLRuleDataFactoryImpl test = new OWLRuleDataFactoryImpl();
OWLRuleAtom atom = null;
OWLOntology ontology = model.getOntology( (URI) ontBox.getModel().getSelectedItem());
// make new class atom
if ( index == CLASS_ATOM_TYPE ) {
try
{
OWLRuleIVariable var1 = test.getOWLRuleIVariable( URI.create(var1TextField.getText()));
if ( buttons1.getSelection().equals( varButton1.getModel() ) ) // variable
{
if ( isFreeform )
{
URI uri = new URI((String)freeFormCombo.getSelectedItem());
atom = test.getOWLRuleClassAtom( fac.getOWLClass( uri ), var1 );
}
else
atom = test.getOWLRuleClassAtom( (OWLClass) itemBox.getSelectedItem(), var1 );
}
else // individual
{
OWLRuleIndividual ind1 = test.getOWLRuleIndividual( (OWLIndividual) this.ind1Box.getSelectedItem() );
if ( isFreeform )
{
URI uri = new URI((String)freeFormCombo.getSelectedItem());
atom = test.getOWLRuleClassAtom( fac.getOWLClass( uri ), ind1 );
}
else
atom = test.getOWLRuleClassAtom( (OWLClass) itemBox.getSelectedItem(), ind1 );
}
System.out.println( atom );
} catch ( OWLException e ) {}
}
else if ( index == OBJECT_PROPERTY_ATOM_TYPE )
{
if ( buttons1.getSelection().equals( varButton1.getModel() ) ) // first arg is var
{
OWLRuleIVariable var1 = test.getOWLRuleIVariable( URI.create(var1TextField.getText()));
if ( buttons2.getSelection().equals( varButton2.getModel() ) ) // second arg is var
{
OWLRuleIVariable var2 = test.getOWLRuleIVariable(URI.create(var2TextField.getText()) );
if ( isFreeform )
{
URI uri = new URI((String)freeFormCombo.getSelectedItem());
atom = test.getOWLRuleObjectPropertyAtom( var1, fac.getOWLObjectProperty( uri ), var2 );
}
else
atom = test.getOWLRuleObjectPropertyAtom( var1, (OWLObjectProperty) itemBox.getSelectedItem(), var2 );
}
else // second arg is ind
{
OWLRuleIndividual ind2 = test.getOWLRuleIndividual( (OWLIndividual) this.ind2Box.getSelectedItem() );
if ( isFreeform )
{
URI uri = new URI((String)freeFormCombo.getSelectedItem());
atom = test.getOWLRuleObjectPropertyAtom( var1, fac.getOWLObjectProperty( uri ), ind2 );
}
else
atom = test.getOWLRuleObjectPropertyAtom( var1, (OWLObjectProperty) itemBox.getSelectedItem(), ind2 );
}
}
else // first arg is ind
{
OWLRuleIndividual ind1 = test.getOWLRuleIndividual( (OWLIndividual) this.ind1Box.getSelectedItem() );
if ( buttons2.getSelection().equals( varButton2.getModel() ) ) // second arg is var
{
OWLRuleIVariable var2 = test.getOWLRuleIVariable( URI.create(var2TextField.getText()) );
if ( isFreeform )
{
URI uri = new URI((String)freeFormCombo.getSelectedItem());
atom = test.getOWLRuleObjectPropertyAtom( ind1, fac.getOWLObjectProperty( uri ), var2 );
}
else
atom = test.getOWLRuleObjectPropertyAtom( ind1, (OWLObjectProperty) itemBox.getSelectedItem(), var2 );
}
else // second arg is ind
{
OWLRuleIndividual ind2 = test.getOWLRuleIndividual( (OWLIndividual) this.ind2Box.getSelectedItem() );
if ( isFreeform )
{
URI uri = new URI((String)freeFormCombo.getSelectedItem());
atom = test.getOWLRuleObjectPropertyAtom( ind1, fac.getOWLObjectProperty( uri ), ind2 );
}
else
atom = test.getOWLRuleObjectPropertyAtom( ind1, (OWLObjectProperty) itemBox.getSelectedItem(), ind2 );
}
}
}
System.out.println( atom );
// adding the atom to the rule
parent.addAtom( atom );
if ( arg0.getSource() == addCloseButton ) {
this.setVisible(false);
} else {
}
} else if ( arg0.getSource() == cancelButton ) {
this.setVisible(false);
}
} catch ( Exception e ) {}
}
/* (non-Javadoc)
* @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)
*/
public void itemStateChanged(ItemEvent arg0) {
if ( arg0.getSource() == ontBox ) {
currOnt = model.getOntology( (URI) ontBox.getModel().getSelectedItem() );
// find variable class
containsVars = false;
variableSet = null;
try {
for ( Iterator c = currOnt.getClasses().iterator(); c.hasNext(); ) {
OWLClass curr = (OWLClass) c.next();
if ( curr.getURI().equals( URI.create( swrlURI + "Variable" ) ) ) {
System.out.println( "Variable found" );
containsVars = true;
variableSet = model.getReasoner().allInstancesOf( curr );
for ( Iterator v = variableSet.iterator(); v.hasNext(); ) {
OWLIndividual currVar = (OWLIndividual) v.next();
/*
((DefaultComboBoxModel) var1Box.getModel()).addElement( currVar );
((DefaultComboBoxModel) var2Box.getModel()).addElement( currVar );
(*/
}
break;
}
}
} catch ( Exception e ) {}
refreshClassesAndProps();
} else if ( arg0.getSource() == this.atomTypeBox ) {
int index = atomTypeBox.getSelectedIndex();
this.itemType = index;
refreshClassesAndProps();
if ( index == 0 ) {
this.itemLabel.setText( "Class:" );
this.setSecondArgumentEnabled( false );
} else {
this.itemLabel.setText( "Property:" );
this.setSecondArgumentEnabled( true );
}
}
}
/* (non-Javadoc)
* @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent)
*/
public void stateChanged(ChangeEvent arg0) {
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?