You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by kiwiwings <ki...@apache.org> on 2016/07/16 22:47:16 UTC

Re: Fwd: Re: xmlbeans successor

I've opened a ticket for it:
https://issues.apache.org/jira/browse/LEGAL-264



--
View this message in context: http://apache-poi.1045710.n5.nabble.com/xmlbeans-successor-tp5722870p5724030.html
Sent from the POI - Dev mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org


Re: Fwd: Re: xmlbeans successor

Posted by Jason Harrop <jh...@gmail.com>.
I made a new POC of using current docx4j in Android Studio:
https://github.com/plutext/Docx4j4Android4

So I thought I'd share my JAXB related experiences:

MOXy
^^^^^^

MOXy generates class files on the fly during Context init (see stack trace
copied below)

org.eclipse.persistence.internal.jaxb.JaxbClassLoader.generateClass:

public Class <http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/Class.java#Class>
 <http://grepcode.com/file/repo1.maven.org/maven2/org.eclipse.persistence/eclipselink/2.4.2/org/eclipse/persistence/internal/jaxb/JaxbClassLoader.java#>generateClass(String
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/String.java#String>
className, byte[] bytes) {

    	Class <http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/Class.java#Class>
theClass = this.defineClass
<http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b27/java/lang/ClassLoader.java#ClassLoader.defineClass%28java.lang.String%2Cbyte%5B%5D%2Cint%2Cint%29>(className,
bytes, 0, bytes.length);


You can't just use https://github.com/linkedin/dexmaker  there instead,
since dexmaker works at a lower level than just ingesting the bytes.

At this point I turned my attention to the JAXB RI instead...

JAXB RI
^^^^^^^^^

Things are easier these days, now Android has annotation support.

I compiled JAXB RI tip for Java 7, with https://github.com/gf-metro/
jaxb/pull/34 so life goes on even though
org.apache.harmony.xml.parsers.SAXParser
doesn't support http://javax.xml.XMLConstants/feature/secure-processing.

JAXB still uses AWT etc which I haven't looked into removing...

ciao .. Jason


-----------------

MOXy stack trace:

                      [java.lang.UnsupportedOperationException: can't load
this type of class file]
                               at org.eclipse.persistence.jaxb.J
AXBContext$ContextPathInput.createContextState(JAXBContext.java:922)
                               at org.eclipse.persistence.jaxb.J
AXBContext$ContextPathInput.createContextState(JAXBContext.java:855)
                               at org.eclipse.persistence.jaxb.J
AXBContext.<init>(JAXBContext.java:189)
                               at org.eclipse.persistence.jaxb.J
AXBContextFactory.createContext(JAXBContextFactory.java:129)
                               at java.lang.reflect.Method.invoke(Native
Method)
                               at javax.xml.bind.ContextFinder.n
ewInstance(ContextFinder.java:186)
                               at javax.xml.bind.ContextFinder.n
ewInstance(ContextFinder.java:146)
                                ... 24 more

                            Caused by: java.lang.UnsupportedOperationException:
can't load this type of class file
                               at java.lang.ClassLoader.defineCl
ass(ClassLoader.java:520)
                               at org.eclipse.persistence.intern
al.jaxb.JaxbClassLoader.generateClass(JaxbClassLoader.java:110)
                               at      .generateWrapperClass(Mapping
sGenerator.java:3231)
                               at org.eclipse.persistence.jaxb.c
ompiler.MappingsGenerator.generateWrapperClassAndDescriptor(
MappingsGenerator.java:3000)
                               at org.eclipse.persistence.jaxb.c
ompiler.MappingsGenerator.addEnumerationWrapperAndDescriptor
(MappingsGenerator.java:2971)
                               at org.eclipse.persistence.jaxb.c
ompiler.MappingsGenerator.processGlobalElements(MappingsGenerator.java:2918)
                               at org.eclipse.persistence.jaxb.c
ompiler.MappingsGenerator.generateProject(MappingsGenerator.java:274)
E/org.docx4j.jaxb.Context:     at org.eclipse.persistence.jaxb.c
ompiler.Generator.generateProject(Generator.java:188)
                               at org.eclipse.persistence.jaxb.J
AXBContext$ContextPathInput.createContextState(JAXBContext.java:927)
                               at org.eclipse.persistence.jaxb.J
AXBContext$ContextPathInput.createContextState(JAXBContext.java:920)




On Mon, Aug 1, 2016 at 11:37 PM, kiwiwings <ki...@apache.org> wrote:

> In the meantime, there was some discussion on the legal list [1]
>
> There was no definitely DO nor DON'T, but it looks like a Moxy fork would
> be
> the way to go.
> It would be nice if you read through that thread and post your two pence
> here or there ...
> If there's a lazy consensus, I'll continue my JAXB endeavour after my
> current work (HSSF cryptoapi)
>
> Andi.
>
>
> [1] https://issues.apache.org/jira/browse/LEGAL-264
>
>
>
> --
> View this message in context: http://apache-poi.1045710.n5.
> nabble.com/xmlbeans-successor-tp5722870p5724274.html
> Sent from the POI - Dev mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
> For additional commands, e-mail: dev-help@poi.apache.org
>
>

Re: Fwd: Re: xmlbeans successor

Posted by kiwiwings <ki...@apache.org>.
In the meantime, there was some discussion on the legal list [1]

There was no definitely DO nor DON'T, but it looks like a Moxy fork would be
the way to go.
It would be nice if you read through that thread and post your two pence
here or there ...
If there's a lazy consensus, I'll continue my JAXB endeavour after my
current work (HSSF cryptoapi)

Andi.


[1] https://issues.apache.org/jira/browse/LEGAL-264



--
View this message in context: http://apache-poi.1045710.n5.nabble.com/xmlbeans-successor-tp5722870p5724274.html
Sent from the POI - Dev mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org