Jpoxy 1.08 released

18 views
Skip to first unread message

Wes Widner

unread,
Mar 19, 2011, 1:10:39 PM3/19/11
to jp...@googlegroups.com
Jpoxy 1.0.8 released with object marshaling thanks to Jackson. Now we can handle complex objects.

The signature generation method was refactored to be a bit more legible and additional error checking included to prevent adding methods whose return types aren't serializable. I also added a simple annotation: @Jpoxy(enabled = false) to allow the user to prevent the framework from exposing any marked public methods.

-Wes

royrusso

unread,
Mar 19, 2011, 6:20:06 PM3/19/11
to jpoxy
Ok, good.

So I see you added the annotation piece... are you using JDK's
reflection?

If so, we may want to change that, because is a large codebase, it's a
pig. I'll also look at adding an option so it doesn't scan the entire
classpath, but only user-defined package prefixes (faster).

As for marshalling/unmarshalling:

1. Can it handle deeply nested objects?

2. Does it handle circular dependencies? (This is a common problem)


On Mar 19, 1:10 pm, Wes Widner <kai5263...@gmail.com> wrote:
> Jpoxy 1.0.8 released with object marshaling thanks to Jackson<http://wiki.fasterxml.com/JacksonInFiveMinutes>.

Wes Widner

unread,
Mar 20, 2011, 12:37:55 PM3/20/11
to jp...@googlegroups.com
I forgot about the classpath scanning piece we talked about. What was the name of the package you reccomended for that?

As for marshaling. 

1. It does handle deeply nested objects. I've been working on a Google Apps Engine demo using Java Data Object directly in the input and output and the framework spit out all of the additional DataNeucleus Key fields along with the object. I'm still not sure if I like that, for that project anyway, but I think there are annotations from Jackson which will allow me to modify that behavior.

2. I think its worth noting that a circular dependency is recognized as an OOP anti-pattern. At any rate, circular dependencies can be managed through Jackson annotations which include bi-directional references.

-Wes

Roy Russo

unread,
Mar 20, 2011, 1:05:52 PM3/20/11
to jp...@googlegroups.com, Wes Widner
Google reflections. http://code.google.com/p/reflections/

You can see the code usage here:

http://code.google.com/p/jeext-js/source/browse/trunk/src/org/jeextjs/servlet/JEExtServlet.java

You can add a package prefix, so I only scan that set in the webxml
<init-param>
<param-name>package_prefix</param-name>
<param-value>org.sample</param-value>
</init-param>

Their docs are a bit light, but we don't need to add much to make this work.

Regards,
Roy Russo


On 3/20/2011 12:37 PM, Wes Widner wrote:
> I forgot about the classpath scanning piece we talked about. What was
> the name of the package you reccomended for that?
>
> As for marshaling.
>
> 1. It does handle deeply nested objects. I've been working on a Google
> Apps Engine demo using Java Data Object directly in the input and output
> and the framework spit out all of the additional DataNeucleus Key fields
> along with the object. I'm still not sure if I like that, for that
> project anyway, but I think there are annotations from Jackson which
> will allow me to modify that behavior.
>
> 2. I think its worth noting that a circular dependency

> <http://en.wikipedia.org/wiki/Circular_dependency> is recognized as an
> OOP anti-pattern <http://en.wikipedia.org/wiki/Anti-pattern>. At any


> rate, circular dependencies can be managed through Jackson annotations

> <http://wiki.fasterxml.com/JacksonAnnotations> which include
> bi-directional references
> <http://wiki.fasterxml.com/JacksonFeatureBiDirReferences>.


>
> -Wes
>
> On Sat, Mar 19, 2011 at 6:20 PM, royrusso <royr...@gmail.com
> <mailto:royr...@gmail.com>> wrote:
>
> Ok, good.
>
> So I see you added the annotation piece... are you using JDK's
> reflection?
>
> If so, we may want to change that, because is a large codebase, it's a
> pig. I'll also look at adding an option so it doesn't scan the entire
> classpath, but only user-defined package prefixes (faster).
>
> As for marshalling/unmarshalling:
>
> 1. Can it handle deeply nested objects?
>
> 2. Does it handle circular dependencies? (This is a common problem)
>
>
> On Mar 19, 1:10 pm, Wes Widner <kai5263...@gmail.com

Reply all
Reply to author
Forward
0 new messages