From: <fwi...@us...> - 2009-01-25 20:13:33
|
Revision: 5977 http://jython.svn.sourceforge.net/jython/?rev=5977&view=rev Author: fwierzbicki Date: 2009-01-25 20:13:29 +0000 (Sun, 25 Jan 2009) Log Message: ----------- Extract a general purpose "python free" interface for PackagManager and add the python specific methods to PyPackageManager (which extends PackageManager). Modified Paths: -------------- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyJavaPackage.java trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PySystemState.java trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/SyspathJavaLoader.java trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/SysPackageManager.java Added Paths: ----------- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PyPackageManager.java Removed Paths: ------------- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyJavaPackage.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyJavaPackage.java 2009-01-25 12:19:58 UTC (rev 5976) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PyJavaPackage.java 2009-01-25 20:13:29 UTC (rev 5977) @@ -3,7 +3,7 @@ package org.python.core; -import org.python.core.packagecache.PackageManager; +import org.python.core.packagecache.PyPackageManager; import java.util.StringTokenizer; @@ -26,7 +26,7 @@ /** (Control) package manager whose hierarchy contains this java pkg. */ - public PackageManager __mgr__; + public PyPackageManager __mgr__; public PyJavaPackage(String name) { this(name, null, null); @@ -36,12 +36,12 @@ this(name, null, jarfile); } - public PyJavaPackage(String name,PackageManager mgr) { + public PyJavaPackage(String name,PyPackageManager mgr) { this(name, mgr, null); } - public PyJavaPackage(String name,PackageManager mgr,String jarfile) { + public PyJavaPackage(String name,PyPackageManager mgr,String jarfile) { __file__ = jarfile; __name__ = name; @@ -113,7 +113,7 @@ /** * Used for 'from xyz import *', dynamically dir pkg filling up __dict__. It uses - * {@link PackageManager#doDir} implementation furnished by the control package manager with + * {@link PyPackageManager#doDir} implementation furnished by the control package manager with * instantiate true. The package manager should load classes with {@link #addClass} in the * package. * @@ -151,8 +151,8 @@ public void __setattr__(String attr, PyObject value) { if (attr == "__mgr__") { - PackageManager newMgr = Py.tojava(value, - PackageManager.class); + PyPackageManager newMgr = Py.tojava(value, + PyPackageManager.class); if (newMgr == null) { throw Py.TypeError("cannot set java package __mgr__ to None"); } Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PySystemState.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PySystemState.java 2009-01-25 12:19:58 UTC (rev 5976) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/PySystemState.java 2009-01-25 20:13:29 UTC (rev 5977) @@ -21,7 +21,7 @@ import org.python.Version; import org.python.core.adapter.ClassicPyObjectAdapter; import org.python.core.adapter.ExtensiblePyObjectAdapter; -import org.python.core.packagecache.PackageManager; +import org.python.core.packagecache.PyPackageManager; import org.python.core.packagecache.SysPackageManager; import org.python.modules.Setup; import org.python.modules.zipimport.zipimporter; @@ -80,7 +80,7 @@ private static Map<String,String> builtinNames; public static PyTuple builtin_module_names = null; - public static PackageManager packageManager; + public static PyPackageManager packageManager; private static File cachedir; private static PyList defaultPath; Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/SyspathJavaLoader.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/SyspathJavaLoader.java 2009-01-25 12:19:58 UTC (rev 5976) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/SyspathJavaLoader.java 2009-01-25 20:13:29 UTC (rev 5977) @@ -82,7 +82,7 @@ } try { - // this has the side affect of adding the jar to the PackageManager during the + // this has the side affect of adding the jar to the PyPackageManager during the // initialization of the SyspathArchive path = new SyspathArchive(sys.getPath(path.toString())); } catch (Exception e) { Deleted: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java 2009-01-25 12:19:58 UTC (rev 5976) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java 2009-01-25 20:13:29 UTC (rev 5977) @@ -1,72 +0,0 @@ -// Copyright (c) Corporation for National Research Initiatives -// Copyright 2000 Samuele Pedroni - -package org.python.core.packagecache; - -import org.python.core.Py; -import org.python.core.PyJavaPackage; -import org.python.core.PyList; -import org.python.core.PyObject; -import org.python.core.PyStringMap; - -import java.io.EOFException; - -public interface PackageManager { - - Class findClass(String pkg, String name, String reason); - - Class findClass(String pkg, String name); - - void notifyPackageImport(String pkg, String name); - - boolean packageExists(String pkg, String name); - - /** - * Reports the specified package content names. Should be overriden. Used by - * {@link PyJavaPackage#__dir__} and {@link PyJavaPackage#fillDir}. - * - * @return resulting list of names (PyList of PyString) - * @param jpkg queried package - * @param instantiate if true then instatiate reported names in package dict - * @param exclpkgs exclude packages (just when instantiate is false) - */ - PyList doDir(PyJavaPackage jpkg, boolean instantiate, boolean exclpkgs); - - /** - * Append a directory to the list of directories searched for java packages - * and java classes. - * - * @param dir A directory. - */ - void addDirectory(java.io.File dir); - - /** - * Append a directory to the list of directories searched for java packages - * and java classes. - * - * @param dir A directory name. - */ - void addJarDir(String dir, boolean cache); - - /** - * Append a jar file to the list of locations searched for java packages and - * java classes. - * - * @param jarfile A directory name. - */ - void addJar(String jarfile, boolean cache); - - PyObject lookupName(String name); - - /** - * Creates package/updates statically known classes info. Uses - * {@link PyJavaPackage#addPackage(java.lang.String, java.lang.String) }, - * {@link PyJavaPackage#addPlaceholders}. - * - * @param name package name - * @param classes comma-separated string - * @param jarfile involved jarfile; can be null - * @return created/updated package - */ - PyJavaPackage makeJavaPackage(String name, String classes, String jarfile); -} Added: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java (rev 0) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java 2009-01-25 20:13:29 UTC (rev 5977) @@ -0,0 +1,37 @@ +package org.python.core.packagecache; + +public interface PackageManager { + + Class findClass(String pkg, String name, String reason); + + Class findClass(String pkg, String name); + + void notifyPackageImport(String pkg, String name); + + boolean packageExists(String pkg, String name); + + /** + * Append a directory to the list of directories searched for java packages + * and java classes. + * + * @param dir A directory. + */ + void addDirectory(java.io.File dir); + + /** + * Append a directory to the list of directories searched for java packages + * and java classes. + * + * @param dir A directory name. + */ + void addJarDir(String dir, boolean cache); + + /** + * Append a jar file to the list of locations searched for java packages and + * java classes. + * + * @param jarfile A directory name. + */ + void addJar(String jarfile, boolean cache); + +} Copied: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PyPackageManager.java (from rev 5960, trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PackageManager.java) =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PyPackageManager.java (rev 0) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/PyPackageManager.java 2009-01-25 20:13:29 UTC (rev 5977) @@ -0,0 +1,37 @@ +// Copyright (c) Corporation for National Research Initiatives +// Copyright 2000 Samuele Pedroni + +package org.python.core.packagecache; + +import org.python.core.PyJavaPackage; +import org.python.core.PyList; +import org.python.core.PyObject; + +public interface PyPackageManager extends PackageManager { + + /** + * Reports the specified package content names. Should be overriden. Used by + * {@link PyJavaPackage#__dir__} and {@link PyJavaPackage#fillDir}. + * + * @return resulting list of names (PyList of PyString) + * @param jpkg queried package + * @param instantiate if true then instatiate reported names in package dict + * @param exclpkgs exclude packages (just when instantiate is false) + */ + PyList doDir(PyJavaPackage jpkg, boolean instantiate, boolean exclpkgs); + + //XXX + PyObject lookupName(String name); + + /** + * Creates package/updates statically known classes info. Uses + * {@link PyJavaPackage#addPackage(java.lang.String, java.lang.String) }, + * {@link PyJavaPackage#addPlaceholders}. + * + * @param name package name + * @param classes comma-separated string + * @param jarfile involved jarfile; can be null + * @return created/updated package + */ + PyJavaPackage makeJavaPackage(String name, String classes, String jarfile); +} Modified: trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/SysPackageManager.java =================================================================== --- trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/SysPackageManager.java 2009-01-25 12:19:58 UTC (rev 5976) +++ trunk/sandbox/wierzbicki/jlr_experiment/src/org/python/core/packagecache/SysPackageManager.java 2009-01-25 20:13:29 UTC (rev 5977) @@ -41,7 +41,7 @@ /** * System package manager. Used by org.python.core.PySystemState. */ -public class SysPackageManager implements PackageManager { +public class SysPackageManager implements PyPackageManager { /* from old PackageManager */ private PyList searchPath; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |