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

📄 contextgetter.java

📁 EOmodeler 读取数据库的方法
💻 JAVA
字号:
package edu.thu.airlinerecovery.eof;

import java.io.File;
import java.io.FilenameFilter;
import java.net.MalformedURLException;
import java.util.Properties;

import com.webobjects.eoaccess.EOModel;
import com.webobjects.eoaccess.EOModelGroup;
import com.webobjects.eoaccess.EOUtilities;
import com.webobjects.eocontrol.EOEditingContext;
import com.webobjects.eocontrol.EOObjectStoreCoordinator;
import com.webobjects.foundation.NSArray;
import com.webobjects.foundation.NSLog;


/**
 * @author 
 * @version $Id: ContextGetter.java,v 1.1 2007/12/14 11:36:59 lzh Exp $
 */

public class ContextGetter {
	
	static String USER_DIR = "user.dir";
	
	static public String getAppRootDirectory(){
		Properties p = System.getProperties();
		String userDir = p.getProperty(USER_DIR);
		return userDir;
	}
	
	/**
	 * This method searches for all the EOModels located in the specified
	 * directory, and puts all the models into a ModelGroup.
	 * Then, it instantiates and returns an EOEditingContext.
	 * @return EOEditingContext.
	 */
	static EOEditingContext defaultEditingContextForDirectoryNamed(String aDir){
		
		File userDirectory = new File(aDir);
		File [] eomodels = userDirectory.listFiles(new FilterEOModel());
		
		EOModelGroup mp = new EOModelGroup();
		
		if (eomodels.length > 0){
			for (int i=0; i < eomodels.length; i ++){
				NSLog.out.appendln("Loading: " + eomodels[i].toString());
				try {
					EOModel model = new EOModel(eomodels[i].toURL());
					mp.addModel(model);
				} catch (MalformedURLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		
		
		EOObjectStoreCoordinator osc = new EOObjectStoreCoordinator();
		
		EOModelGroup.setModelGroupForObjectStoreCoordinator(osc, mp);
		
		return new EOEditingContext(osc);
	}
	
	/**
	 * This method creates an EOEditingContext and references all the EOModels in 
	 * the application's root directory.
	 * @return EOEditingContext.
	 */
	static public EOEditingContext defaultEditingContext(){
		return defaultEditingContextForDirectoryNamed(getAppRootDirectory());
	}
	
	public EOEditingContext getEOEditingContext(){
		System.out.println("SJDSKJDSKLJDKLS");
		EOEditingContext ec = defaultEditingContext();
		return ec;
	}
}

//include only *.eomodeld files
class FilterEOModel implements FilenameFilter {

	static String FILE_EXTENSION = ".eomodeld"; 

	public boolean accept(File f, String arg1) {
		if (f.isDirectory()){
			return arg1.toLowerCase().endsWith(FILE_EXTENSION);
		}else{
			return false;
		}
	}
}

⌨️ 快捷键说明

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