always copy all declared inner classes and interfaces when generating poi-ooxml-schemas, see Bugzilla 48572

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@902563 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yegor Kozlov 2010-01-24 13:11:46 +00:00
parent 3e5d8b9cad
commit 76a0ce511b
2 changed files with 9 additions and 14 deletions

View File

@ -34,6 +34,7 @@
<changes> <changes>
<release version="3.7-SNAPSHOT" date="2010-??-??"> <release version="3.7-SNAPSHOT" date="2010-??-??">
<action dev="POI-DEVELOPERS" type="fix">48572 - always copy all declared inner classes and interfaces when generating poi-ooxml-schemas</action>
<action dev="POI-DEVELOPERS" type="add">Low Level record support for the ExtRst (phonetic text) part of Unicode Strings. No usermodel access to it as yet though.</action> <action dev="POI-DEVELOPERS" type="add">Low Level record support for the ExtRst (phonetic text) part of Unicode Strings. No usermodel access to it as yet though.</action>
<action dev="POI-DEVELOPERS" type="fix">record.UnicodeString has moved to record.common.UnicodeString, to live with the other record-part classes, as it isn't a full record.</action> <action dev="POI-DEVELOPERS" type="fix">record.UnicodeString has moved to record.common.UnicodeString, to live with the other record-part classes, as it isn't a full record.</action>
<action dev="POI-DEVELOPERS" type="add">Avoid creating temporary files when opening OPC packages from input stream</action> <action dev="POI-DEVELOPERS" type="add">Avoid creating temporary files when opening OPC packages from input stream</action>

View File

@ -109,23 +109,17 @@ public final class OOXMLLite {
String className = cls.getName(); String className = cls.getName();
String classRef = className.replace('.', '/') + ".class"; String classRef = className.replace('.', '/') + ".class";
File destFile = new File(_destDest, classRef); File destFile = new File(_destDest, classRef);
//System.out.println(classRef + " --> " + destFile);
copyFile(cls.getResourceAsStream('/' + classRef), destFile); copyFile(cls.getResourceAsStream('/' + classRef), destFile);
if(cls.isInterface()){ if(cls.isInterface()){
//always copy Factory that accompanies every ooxml schema object /**
String factoryClass = className + "$Factory"; * Copy classes and interfaces declared as members of this class
if(!classes.containsKey(factoryClass)){ */
try { for(Class fc : cls.getDeclaredClasses()){
Class fc = Class.forName(factoryClass); className = fc.getName();
className = fc.getName(); classRef = className.replace('.', '/') + ".class";
classRef = className.replace('.', '/') + ".class"; destFile = new File(_destDest, classRef);
destFile = new File(_destDest, classRef); copyFile(fc.getResourceAsStream('/' + classRef), destFile);
//System.out.println(classRef + " --> " + destFile);
copyFile(fc.getResourceAsStream('/' + classRef), destFile);
} catch(ClassNotFoundException e) {
e.printStackTrace();
}
} }
} }
} }