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