swoopframe.java

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

JAVA
1,892
字号
		if (name.indexOf(".") >= 0 && extension.equals("")) {			extension = name					.substring(name.lastIndexOf(".") + 1, name.length());		}		// finally append extension to chosen file		if (name.indexOf(".") == -1 && !extension.equals("")) {			saveFile = new File(saveFile.getAbsolutePath() + "." + extension);			name += "." + extension;		}		// act upon chosen file extension		if (extension.equals("swp") || extension.equals("SWP")) {			wkspcFile = saveFile;			saveWkspMItem.setText("Save Workspace (../" + name + ")");			saveWorkspace(true, true);			return;		} else {			// save ontology type file			ontFile = saveFile;		}		if (extension.equals("swo") || extension.equals("SWO")) {			saveOntologyFile();		} else if (extension.equals("owl") || extension.equals("OWL")				|| extension.equals("rdf") || extension.equals("RDF")				|| extension.equals("xml") || extension.equals("XML")) {			saveOWLFile();		} else if (extension.toLowerCase().equals("txt")) {			saveAbstractSyntaxFile();		} else { // no file extension			saveOWLFile();		}	}	public void actionPerformed(ActionEvent e)  {		if (e.getSource() == extractModMenu) {			// extract module for selected entity			if (swoopModel.selectedOntology!=null && swoopModel.selectedEntity!=null) {				try {					//No dual concepts					Segmentation seg = null;					if(!swoopModel.segmentation.containsKey(swoopModel.selectedOntology)){						seg = new Segmentation(swoopModel.getSelectedOntology(), false, false);						//No dual roles						Map aux = new HashMap();						aux = swoopModel.getSegmentation();						aux.put(swoopModel.getSelectedOntology(), seg);						swoopModel.setSegmentation(aux);					}					else{						seg = (Segmentation) swoopModel.getSegmentation().get(swoopModel.selectedOntology);						seg.setDualConcepts(false);						seg.setDualRoles(false);					}									Set allClasses = swoopModel.getSelectedOntology().getClasses();  					Set allProperties = swoopModel.getSelectedOntology().getObjectProperties();					allProperties.addAll(swoopModel.getSelectedOntology().getDataProperties());					Set allEntities = new HashSet();					allEntities.addAll(allClasses);					allEntities.addAll(allProperties);										Set allAxioms = seg.getAllAxioms();					Map axSignature = seg.getAxiomsToSignature();					Map sigToAxioms = seg.getSignatureToAxioms();					/*					System.out.println("Getting the axioms in the ontology");					Set allAxioms = seg.getAxiomsInOntology(swoopModel.getSelectedOntology());					System.out.println("Total number of axioms in the Ontology: " + allAxioms.size());					System.out.println("Getting signature of axioms");					Map axSignature = seg.axiomsToSignature(allAxioms);					System.out.println("Got signature of the axioms");					System.out.println("Creating Map from concept names to axioms");					Map sigToAxioms = seg.signatureToAxioms(allAxioms, axSignature);					System.out.println("Got map from concept names to axioms");					*/											Set sig = new HashSet();					sig.add(swoopModel.getSelectedEntity());										URI uriOntology = swoopModel.getSelectedOntology().getURI();					 					System.out.println("Getting Module");					OWLOntology module = seg.getModule(allAxioms, sig, axSignature, sigToAxioms, uriOntology, (OWLClass)swoopModel.getSelectedEntity());					System.out.println("Got Module");										swoopModel.addOntology(module);									} catch (URISyntaxException e1) {					// TODO Auto-generated catch block					e1.printStackTrace();				} catch (OWLException e1) {					// TODO Auto-generated catch block					e1.printStackTrace();				} catch (Exception e1) {					// TODO Auto-generated catch block					e1.printStackTrace();				}								/*				AutoEconnPartitioning partitions = new AutoEconnPartitioning(						this, swoopModel, swoopModel.getSelectedOntology(), false);				partitions.findModule(swoopModel.selectedEntity);				*/			}						}		else			if (e.getSource() == extractModDualMenu) {				// extract dual module for selected entity				if (swoopModel.selectedOntology!=null && swoopModel.selectedEntity!=null) {					try {						Segmentation seg = null;						if(!swoopModel.segmentation.containsKey(swoopModel.selectedOntology)){							seg = new Segmentation(swoopModel.getSelectedOntology(), true, true);							//No dual roles							Map aux = new HashMap();							aux = swoopModel.getSegmentation();							aux.put(swoopModel.getSelectedOntology(), seg);							swoopModel.setSegmentation(aux);						}						else{							seg = (Segmentation) swoopModel.getSegmentation().get(swoopModel.selectedOntology);							seg.setDualConcepts(true);							seg.setDualRoles(true);						}											Set allClasses = swoopModel.getSelectedOntology().getClasses();  						Set allProperties = swoopModel.getSelectedOntology().getObjectProperties();						allProperties.addAll(swoopModel.getSelectedOntology().getDataProperties());						Set allEntities = new HashSet();						allEntities.addAll(allClasses);						allEntities.addAll(allProperties);												Set allAxioms = seg.getAllAxioms();						Map axSignature = seg.getAxiomsToSignature();						Map sigToAxioms = seg.getSignatureToAxioms();						/*						System.out.println("Getting the axioms in the ontology");						Set allAxioms = seg.getAxiomsInOntology(swoopModel.getSelectedOntology());						System.out.println("Total number of axioms in the Ontology: " + allAxioms.size());						System.out.println("Getting signature of axioms");						Map axSignature = seg.axiomsToSignature(allAxioms);						System.out.println("Got signature of the axioms");						System.out.println("Creating Map from concept names to axioms");						Map sigToAxioms = seg.signatureToAxioms(allAxioms, axSignature);						System.out.println("Got map from concept names to axioms");						*/													Set sig = new HashSet();						sig.add(swoopModel.getSelectedEntity());												URI uriOntology = swoopModel.getSelectedOntology().getURI();						 						System.out.println("Getting Module");						OWLOntology module = seg.getModule(allAxioms, sig, axSignature, sigToAxioms, uriOntology, (OWLClass)swoopModel.getSelectedEntity());						System.out.println("Got Module");												swoopModel.addOntology(module);											} catch (URISyntaxException e1) {						// TODO Auto-generated catch block						e1.printStackTrace();					} catch (OWLException e1) {						// TODO Auto-generated catch block						e1.printStackTrace();					} catch (Exception e1) {						// TODO Auto-generated catch block						e1.printStackTrace();					}										/*					AutoEconnPartitioning partitions = new AutoEconnPartitioning(							this, swoopModel, swoopModel.getSelectedOntology(), false);					partitions.findModule(swoopModel.selectedEntity);					*/				}							}					else		if (e.getSource() == tableauSOSMenu) {			swoopModel.setUseTableau(!tableauSOSMenu.isSelected());		}		else		if (e.getSource() == findAllMUPSMenu) {			swoopModel.setFindAllMUPS(findAllMUPSMenu.isSelected());		}		else		if (e.getSource() == newOntMItem) {			// New Swoop Ontology			ontDisplay.addNewOntology();		}		else		if (e.getSource() == ontRemoveMItem) {			// Remove Swoop Ontology			JList ontList = ontDisplay.ontList;			if (ontList.getSelectedValues().length == 1) {				// remove single OWL Ontology				if (swoopModel.selectedOntology != null)					ontDisplay							.removeOntology(swoopModel.selectedOntology, true);			} else if (ontList.getSelectedValues().length > 1) {				// batch removal of OWL Ontologies				String title = "Batch Removal of OWL Ontologies";				int options = JOptionPane.YES_NO_OPTION;				int result = JOptionPane						.showConfirmDialog(								this,								"This is going to remove ALL Selected Ontologies from SWOOP. Continue?",								title, options);				if (result == JOptionPane.YES_OPTION) {					Object[] selOnts = ontList.getSelectedValues();					for (int i = 0; i < selOnts.length; i++) {						OWLOntology ont = (OWLOntology) selOnts[i];						ontDisplay.removeOntology(ont, false);					}				}			}		}		else		if (e.getSource() == JMenuFileNew) {			// New SWOOP workspace			this.clearWorkspace(true);		}		else		if (e.getSource() == loadOntMItem) {			// load SWOOP Ontology			loadFile(false);		}		else		if (e.getSource() == loadWkspMItem) {			// load SWOOP workspace			loadFile(true);		}		else		if (e.getSource() == saveWkspMItem) {			// save SWOOP workspace			if (wkspcFile != null)				saveWorkspace(true, true);			else				saveAsFile(true, false);		}		else		if (e.getSource() == saveAsMItem) {			// save as SWOOP workspace			saveAsFile(false, false);		}		else		if (e.getSource() == clearMItem) {			// clear workspace			clearWorkspace(true);		}		else		if (e.getSource() == exportStatsMItem)		{			// export ontology statistics			JFileChooser chooser = new JFileChooser();		    chooser.addChoosableFileFilter(new TextFileFilter());		    chooser.removeChoosableFileFilter( chooser.getAcceptAllFileFilter() );		    int returnVal = chooser.showSaveDialog( this );		    		    if(returnVal == JFileChooser.APPROVE_OPTION) 		    {		    	try {		    		File f = chooser.getSelectedFile();		    		// prompt user if overwriting					if (f.exists()) {						int result = JOptionPane.showConfirmDialog(this, "Saving File at " + f.getAbsolutePath() + ". Overwrite?", "Save Ontology Statistics", JOptionPane.YES_NO_OPTION);						if (result != JOptionPane.YES_OPTION) return;					}		    		FileWriter fw = new FileWriter(f);		    		// get swoop ontology info pane		    		SwoopOntologyInfo soi = (SwoopOntologyInfo) ontDisplay.renderers.get(0);		    		fw.write(soi.statsText);		    		fw.close();		    	}		    	catch (IOException ex) {		    		ex.printStackTrace();		    	}		    }		}		else		if (e.getSource() == exportTreeMItem)		{			JFileChooser chooser = new JFileChooser();//		    chooser.setDialogType( JFileChooser.SAVE_DIALOG );		    chooser.addChoosableFileFilter( new TM3FileFilter() );		    chooser.addChoosableFileFilter( new STFileFilter() );		    chooser.removeChoosableFileFilter( chooser.getAcceptAllFileFilter() );		    int returnVal = chooser.showSaveDialog( this );		    if(returnVal == JFileChooser.APPROVE_OPTION) 		    {		       System.out.println("You chose to open this file: " + 		       					chooser.getSelectedFile().getName());		       VisualizationFileFilter filter = (VisualizationFileFilter)chooser.getFileFilter();				this.termDisplay.exportCurrentTree( chooser.getSelectedFile(), filter.getExtension() );		    }		}		else		if (e.getSource() == exportHTMLMItem)		{			// export HTML of currently selected entity/ontology			this.exportHTML(swoopModel.selectedOWLObject);					}		else		if ( e.getSource() == exportInferredKB )		{			// turn on pellet, if necessary, and then dump the inferred ontology to a file			this.exportInferredKB();		}		else		if (e.getSource() == prefMItem) {			// show preferences			SwoopPreferences preferences = new SwoopPreferences(this,					swoopModel);			preferences.loadPreferences();			preferences.show();		}		else		if (e.getSource() == ontSaveMItem) {			// save SWOOP ontology object/owl file			try {				// get current ontFile based on ontology selection in Swoop				ontFile = (File) this.fileOntMap.get(swoopModel.getSelectedOntology().getPhysicalURI());			} catch (OWLException e1) {				e1.printStackTrace();			}						if (ontFile != null) {				String extension = ontFile.getName().substring(						ontFile.getName().lastIndexOf(".") + 1,						ontFile.getName().length());				if (extension.equals("swo") || extension.equals("SWO"))					saveOntologyFile();				else if (extension.equals("owl") || extension.equals("OWL")						|| extension.equals("rdf") || extension.equals("RDF"))					saveOWLFile();			} else				saveAsFile(false, true);		}		else		if (e.getSource() == exportMItem) {			ontDisplay.saveRemoteOntology();		}		else		if (e.getSource() == addBookmarkMenu) {			addBookmark();		}		else		if (e.getSource() == remBookmarkMenu) {			removeBookmark();		}		else		if (e.getSource() == sortBookmarkMenu) {			sortBookmarks();			this.addBookmarksMenu();		}		else		if (e.getSource() == browserMenu) {			if (swoopModel.selectedOWLObject != null) {				try {					String openuri = swoopModel.selectedOWLObject.getURI()							.toString();					if (openuri.startsWith("file:/")							&& !openuri.startsWith("file:///"))						openuri = "file:///"								+ openuri.substring(6, openuri.length());					BrowserControl.displayURL(openuri);				} catch (OWLException e1) {					e1.printStackTrace();				}			}		}		else		if (e.getSource() == launchBarMenu) {			// toggle launch bar visibility			launchBar.setVisible(launchBarMenu.isSelected());		}		else

⌨️ 快捷键说明

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