popupaddclass.java

来自「Semantic Web Ontology Editor」· Java 代码 · 共 1,635 行 · 第 1/5 页

JAVA
1,635
字号
     * and add it to ceList     */    private void createCE(int type) {    	    	OWLDescription ce = null;    	OWLOntology ont = swoopModel.getSelectedOntology();		OWLDataFactory ontDF = null;		try {			ontDF = ont.getOWLDataFactory();		} catch (OWLException e2) {			e2.printStackTrace();		}		String ERROR = "";				switch (type) {    	    	    		case INT:    			Set descs = new HashSet();    			if (valList.getSelectedValue() instanceof OWLDescription) {    				for (int i = 0; i<valList.getSelectedValues().length; i++) {    					descs.add(valList.getSelectedValues()[i]);    				}    			}    			if (ceList.getSelectedIndex()!=-1) {    				for (int i = 0; i<ceList.getSelectedValues().length; i++) {    					descs.add(ceList.getSelectedValues()[i]);    				}    			}    			try {					if (descs.size()>0) ce = ontDF.getOWLAnd(descs);					else ERROR = "No classes selected for intersection";				}     			catch (OWLException e1) {					e1.printStackTrace();				}    			break;    		    		case UNI:    			descs = new HashSet();    			if (valList.getSelectedValue() instanceof OWLDescription) {    				for (int i = 0; i<valList.getSelectedValues().length; i++) {    					descs.add(valList.getSelectedValues()[i]);    				}    			}    			if (ceList.getSelectedIndex()!=-1) {    				for (int i = 0; i<ceList.getSelectedValues().length; i++) {    					descs.add(ceList.getSelectedValues()[i]);    				}    			}    			try {    				if (descs.size()>0) ce = ontDF.getOWLOr(descs);    				else ERROR = "No classes selected for union";    			}     			catch (OWLException e1) {					e1.printStackTrace();				}    			break;	    		    		case ONE:    			Set inds = new HashSet();    			if (valList.getSelectedValue() instanceof OWLIndividual) {    				for (int i = 0; i<valList.getSelectedValues().length; i++) {    					inds.add(valList.getSelectedValues()[i]);    				}    			}    			try {    				if (inds.size()>0) ce = ontDF.getOWLEnumeration(inds);    				else ERROR = "No individuals selected for enumeration";				}     			catch (OWLException e1) {					e1.printStackTrace();				}    			break;		    			    		case NEG:    			OWLDescription desc = null;    			if ((valList.getSelectedIndex()!=-1 && valList.getSelectedValue() instanceof OWLDescription))     				desc = (OWLDescription) valList.getSelectedValue();    			else if (ceList.getSelectedIndex()!=-1)    				desc = (OWLDescription) ceList.getSelectedValue();    				    			if (desc!=null) {	    				            		try {						ce = ontDF.getOWLNot(desc);					} catch (OWLException e) {						e.printStackTrace();					}            	}    			else ERROR = "No class selected for negation";    			break;    		    		case SOME:    			OWLProperty prop = null;    			if (propList.getSelectedIndex()!=-1) {    				prop = (OWLProperty) propList.getSelectedValue();    			}    			else {    				ERROR = "No property selected for someValues restriction";    				break;    			}    			    			if (prop!=null && prop instanceof OWLObjectProperty) {	    			desc = null;	    			if ((valList.getSelectedIndex()!=-1 && valList.getSelectedValue() instanceof OWLDescription)) 	    				desc = (OWLDescription) valList.getSelectedValue();	    			else if (ceList.getSelectedIndex()!=-1)	    				desc = (OWLDescription) ceList.getSelectedValue();	    				    			if (desc!=null) {		    			try {							ce = ontDF.getOWLObjectSomeRestriction((OWLObjectProperty) prop, desc);						} catch (OWLException e) {							e.printStackTrace();						}	    			}	    			else if (valList.getSelectedValue() instanceof OWLIndividual) {	    				if (valList.getSelectedIndices().length>1) {	    				  // someValues on oneOf set of selected inds	    					Object[] selObj = valList.getSelectedValues();	    					Set oneSet = new HashSet();	    					for (int i=0; i<selObj.length; i++) oneSet.add(selObj[i]);	    					try {								OWLEnumeration one = ontDF.getOWLEnumeration(oneSet);								ce = ontDF.getOWLObjectSomeRestriction((OWLObjectProperty) prop, one);							} 	    					catch (OWLException e) {								e.printStackTrace();							}	    						    				}	    				else {		    				// value restr. on object prop.		    				OWLIndividual ind = (OWLIndividual) valList.getSelectedValue();		    				try {								ce = ontDF.getOWLObjectValueRestriction((OWLObjectProperty) prop, ind);							} catch (OWLException e) {								e.printStackTrace();							}	    				}	    			}	    			else ERROR = "No class/individual selected for someValues restriction on OWLObjectProperty";    			}    			else if (prop!=null) {    				// data property restr.    				if (valList.getSelectedValue() instanceof OWLDataType) {    					OWLDataType dt = (OWLDataType) valList.getSelectedValue();    					if (dataFld.getText().equals("")) {	    					try {								ce = ontDF.getOWLDataSomeRestriction((OWLDataProperty) prop, dt);							} catch (OWLException e) {								e.printStackTrace();							}    					}    					else {    						// value restr. on data prop.    						String dVal = dataFld.getText();    						try {								OWLDataValue data = ontDF.getOWLConcreteData(dt.getURI(), "", dVal);								ce = ontDF.getOWLDataValueRestriction((OWLDataProperty) prop, data);    						} catch (OWLException e) {								e.printStackTrace();							}    					}    				}    				else ERROR = "No datatype selected for someValues restriction on OWLDatatype Property";    			}    			break;    			    		case ALL:    			prop = null;    			if (propList.getSelectedIndex()!=-1) {    				prop = (OWLProperty) propList.getSelectedValue();    			}    			else {    				ERROR = "No property selected for allValues restriction";    				break;    			}    			    			if (prop!=null && prop instanceof OWLObjectProperty) {	    			desc = null;	    			if ((valList.getSelectedIndex()!=-1 && valList.getSelectedValue() instanceof OWLDescription)) 	    				desc = (OWLDescription) valList.getSelectedValue();	    			else if (ceList.getSelectedIndex()!=-1)	    				desc = (OWLDescription) ceList.getSelectedValue();	    				    			if (desc!=null) {	    				try {							ce = ontDF.getOWLObjectAllRestriction((OWLObjectProperty) prop, desc);						} catch (OWLException e) {							e.printStackTrace();						}	    			}	    			else ERROR = "No class selected for allValues restriction on OWLObjectProperty";    			}    			else {    				// data property restr.    				if (valList.getSelectedValue() instanceof OWLDataType) {    					OWLDataType dt = (OWLDataType) valList.getSelectedValue();						try {							ce = ontDF.getOWLDataAllRestriction((OWLDataProperty) prop, dt);						} catch (OWLException e) {							e.printStackTrace();						}					    				}    				else ERROR = "No datatype selected for allValues restriction on OWLDatatypeProperty";    			}    			break;    			    		case EQU:    			prop = null;    			if (propList.getSelectedIndex()!=-1) {    				prop = (OWLProperty) propList.getSelectedValue();    			}    			else {    				ERROR = "No property selected for cardinality restriction";    				break;    			}    			    			int n = -1;    			try {    				n = Integer.parseInt(dataFld.getText());    				    			}    			catch (Exception ex) {}    			    			if (n<0) {    				ERROR = "No non-negative integer specified for cardinality restriction";    				break;    			}    			    			try {	    			if (prop instanceof OWLObjectProperty) {	    				ce = ontDF.getOWLObjectCardinalityRestriction((OWLObjectProperty) prop, n, n);	    			}	    			else {	    				ce = ontDF.getOWLDataCardinalityRestriction((OWLDataProperty) prop, n, n);	    			}    			}    			catch (OWLException ex) {    				ex.printStackTrace();    			}    			break;    	    		case MIN:    			prop = null;    			if (propList.getSelectedIndex()!=-1) {    				prop = (OWLProperty) propList.getSelectedValue();    			}    			else {    				ERROR = "No property selected for minCardinality restriction";    				break;    			}    			    			n = -1;    			try {    				n = Integer.parseInt(dataFld.getText());    				    			}    			catch (Exception ex) {}    			    			if (n<0) {    				ERROR = "No non-negative integer specified for minCardinality restriction";    				break;    			}    			    			try {	    			if (prop instanceof OWLObjectProperty) {	    				ce = ontDF.getOWLObjectCardinalityAtLeastRestriction((OWLObjectProperty) prop, n);	    			}	    			else {	    				ce = ontDF.getOWLDataCardinalityAtLeastRestriction((OWLDataProperty) prop, n);	    			}    			}    			catch (OWLException ex) {    				ex.printStackTrace();    			}    			break;		    		case MAX:    			prop = null;    			if (propList.getSelectedIndex()!=-1) {    				prop = (OWLProperty) propList.getSelectedValue();    			}    			else {    				ERROR = "No property selected for maxCardinality restriction";    				break;    			}    			    			n = -1;    			try {    				n = Integer.parseInt(dataFld.getText());    				    			}    			catch (Exception ex) {}    			    			if (n<0) {    				ERROR = "No non-negative integer specified for maxCardinality restriction";    				break;    			}    			    			try {	    			if (prop instanceof OWLObjectProperty) {	    				ce = ontDF.getOWLObjectCardinalityAtMostRestriction((OWLObjectProperty) prop, n);	    			}	    			else {	    				ce = ontDF.getOWLDataCardinalityAtMostRestriction((OWLDataProperty) prop, n);	    			}    			}    			catch (OWLException ex) {    				ex.printStackTrace();    			}    			break;		}    	    	// add ce to ceList		if (ce!=null) {	    	List currCE = new ArrayList();	    	currCE.add(ce);	    	ListModel lm = ceList.getModel();	    	for (int i=0; i<lm.getSize(); i++) currCE.add(lm.getElementAt(i));	    	ceList.setListData(currCE.toArray());	    	ceStatusLbl.setText("Class Expression added to list");		}		else {			ceStatusLbl.setText("<html><font color=\"red\">"+ERROR+"!</font></html>");//			System.out.println(ERROR);		}		    	// clear selections    	propList.clearSelection();    	valList.cl

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?