⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 geoxygenevieweropengeoxygeneaction.java

📁 用于GIS(全球地理系统)的分析和处理的代码。
💻 JAVA
字号:
/*
 * This file is part of the GeOxygene project source files. 
 * 
 * GeOxygene aims at providing an open framework which implements OGC/ISO specifications for 
 * the development and deployment of geographic (GIS) applications. It is a open source 
 * contribution of the COGIT laboratory at the Institut G閛graphique National (the French 
 * National Mapping Agency).
 * 
 * See: http://oxygene-project.sourceforge.net 
 *  
 * Copyright (C) 2005 Institut G閛graphique National
 *
 * This library is free software; you can redistribute it and/or modify it under the terms
 * of the GNU Lesser General Public License as published by the Free Software Foundation; 
 * either version 2.1 of the License, or any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT ANY 
 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
 * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License along with 
 * this library (see file LICENSE if present); if not, write to the Free Software 
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *  
 */

package fr.ign.cogit.geoxygene.util.viewer;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;

import fr.ign.cogit.geoxygene.datatools.Geodatabase;
import fr.ign.cogit.geoxygene.datatools.Metadata;
import fr.ign.cogit.geoxygene.feature.FT_Feature;
import fr.ign.cogit.geoxygene.feature.FT_FeatureCollection;

/**
  * This class defines actions for access to GeOxygene repository (menu bar and toolbar).
  *
  * @author Thierry Badard & Arnaud Braun
  * @version 1.0
  * 
  */

class GeOxygeneViewerOpenGeOxygeneAction implements ActionListener {
	
	private ObjectViewerInterface objectViewerInterface;
	private Geodatabase db;
	
	public GeOxygeneViewerOpenGeOxygeneAction(ObjectViewerInterface objViewerInterface, Geodatabase data) {
		this.objectViewerInterface = objViewerInterface;
		this.db = data;
	}
	
	public void actionPerformed(ActionEvent e) {
		String user = null;
		try {
			user = db.getConnection().getMetaData().getUserName();
		} catch (Exception exc) {
			exc.printStackTrace();
		}
		System.out.println(user+" est le plus beau !");
		List classList = new ArrayList();
		for (int i=0; i<db.getMetadata().size(); i++) {
			Metadata md = (Metadata) db.getMetadata().get(i);
			Class theClass = md.getJavaClass();
			if ( FT_Feature.class.isAssignableFrom(theClass) && 
				! Modifier.isAbstract(theClass.getModifiers()) )
					classList.add(theClass.getName());								
		}					
					
		System.out.println("Selecting geographic classes ...");		
		GeOxygeneFilter geOxyFilter =	new GeOxygeneFilter(classList.toArray(), user);																					
		String[] selectedClasses = geOxyFilter.showDialog(objectViewerInterface);

		for (int i=0; i<selectedClasses.length; i++) {
			String themeName = selectedClasses[i].substring(selectedClasses[i].lastIndexOf(".")+1);
			Class theClass = null;
			try {
				theClass = Class.forName(selectedClasses[i]);
			} catch (Exception exp) {
				System.out.println(exp.getMessage()+" : "+selectedClasses[i]);
			}
			if (theClass != null) {
				System.out.println("Loading "+selectedClasses[i]+" ... please wait ...");
				FT_FeatureCollection coll = db.loadAllFeatures(theClass);
				System.out.println("   Loading finished. Displaying theme in viewer ...");
				objectViewerInterface.addAFeatureCollectionTheme(coll,themeName);
			}
		}				
	}

}

⌨️ 快捷键说明

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