From: Finn B. <bc...@us...> - 2001-07-23 16:10:45
|
Update of /cvsroot/jython/jython/org/python/core In directory usw-pr-cvs1:/tmp/cvs-serv19395 Modified Files: CachedJarsPackageManager.java PyJavaPackage.java Log Message: Solve feature request [ #428582 ] Access to non-public classes. The cachedir files must be deleted for this change to take effect. Index: CachedJarsPackageManager.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/CachedJarsPackageManager.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** CachedJarsPackageManager.java 2001/03/14 14:30:48 1.8 --- CachedJarsPackageManager.java 2001/07/23 16:10:42 1.9 *************** *** 110,124 **** if (filterByName(className,false)) return; ! // An extra careful test, maybe should be ignored???? ! int access = checkAccess(zip); ! ! if ((access == -1) || filterByAccess(name,access)) return; ! ! Vector vec = (Vector)zipPackages.get(packageName); if (vec == null) { ! vec = new Vector(); zipPackages.put(packageName, vec); } - vec.addElement(className); } --- 110,124 ---- if (filterByName(className,false)) return; ! Vector[] vec = (Vector[])zipPackages.get(packageName); if (vec == null) { ! vec = new Vector[] { new Vector(), new Vector() }; zipPackages.put(packageName, vec); + } + int access = checkAccess(zip); + if ((access != -1) && !filterByAccess(name,access)) { + vec[0].addElement(className); + } else { + vec[1].addElement(className); } } *************** *** 138,143 **** for (Enumeration e = zipPackages.keys() ; e.hasMoreElements() ;) { Object key = e.nextElement(); ! Vector vec = (Vector)zipPackages.get(key); ! zipPackages.put(key, vectorToString(vec)); } --- 138,147 ---- for (Enumeration e = zipPackages.keys() ; e.hasMoreElements() ;) { Object key = e.nextElement(); ! Vector[] vec = (Vector[])zipPackages.get(key); ! String classes = vectorToString(vec[0]); ! if (vec[1].size() > 0) { ! classes += '@' + vectorToString(vec[1]); ! } ! zipPackages.put(key, classes); } *************** *** 298,301 **** --- 302,310 ---- String pkg = (String)e.nextElement(); String classes = (String)zipPackages.get(pkg); + + int idx = classes.indexOf('@'); + if (idx >= 0 && Options.respectJavaAccessibility) { + classes = classes.substring(0, idx); + } makeJavaPackage(pkg, classes, jarfile); Index: PyJavaPackage.java =================================================================== RCS file: /cvsroot/jython/jython/org/python/core/PyJavaPackage.java,v retrieving revision 2.14 retrieving revision 2.15 diff -C2 -r2.14 -r2.15 *** PyJavaPackage.java 2001/07/18 15:53:56 2.14 --- PyJavaPackage.java 2001/07/23 16:10:42 2.15 *************** *** 104,108 **** */ public void addPlaceholders(String classes) { ! StringTokenizer tok = new StringTokenizer(classes, ","); while (tok.hasMoreTokens()) { String p = tok.nextToken(); --- 104,108 ---- */ public void addPlaceholders(String classes) { ! StringTokenizer tok = new StringTokenizer(classes, ",@"); while (tok.hasMoreTokens()) { String p = tok.nextToken(); |