No PrivateReaderMethodFinder ?

0 views
Skip to first unread message

noon

unread,
Sep 15, 2008, 5:35:49 AM9/15/08
to beanlib
Hi,

I need to clone a bean with a map property and do not want it to be
accessible from client code, so I added useful methods (addItem,
remiveItem, clear and so on...) and turned the associated getter and
setter into 'private'.
Nevertheless, since I can affect a 'PrivateSetterMethodCollector' as
SetterMethodCollector to the BeanTransformer, there is no
'PrivateReaderMethodFinder' implementation for the ReaderMethodFinder
attribute.

As a consequence, the map is not cloned properly if the getter is not
public or protected :-(

Can you add a PrivateReaderMethodFinder to the library ?

Regards
Bruno

Hanson Char

unread,
Sep 15, 2008, 11:30:36 AM9/15/08
to bea...@googlegroups.com
Added to the SVN repo.

Cheers,
Hanson

noon

unread,
Sep 16, 2008, 6:19:12 AM9/16/08
to beanlib
It works fine !

Many thanks.
Bruno

On Sep 15, 5:30 pm, "Hanson Char" <hanson.c...@gmail.com> wrote:
> Added to the SVN repo.
>
> Cheers,
> Hanson
>

noon

unread,
Oct 6, 2008, 12:28:47 PM10/6/08
to beanlib
Hi Hanson,

It looks like Tomcat does not like package friendly visibility of
ProtectedReaderMethodFinder and PrivateReaderMethodFinder.
Can you turn constructor and 'found' method in both classes to
protected (I tested it and it solves the issue) ?

Regards
Bruno

Hanson Char

unread,
Oct 6, 2008, 12:42:38 PM10/6/08
to bea...@googlegroups.com
Hi Bruno,

As I understand it, the constructor(s) and "found" method should be
internal to the package. What error did you encounter in Tomcat ?
Sounds like a classpath or class loading issue.

Cheers,
Hanson

noon

unread,
Oct 7, 2008, 7:18:08 AM10/7/08
to beanlib
Hi Hanson,

I agree with you about the limitation of visibility of constructor and
found method, but Tomcat 6 complains about it :
java.lang.IllegalAccessError: tried to access method
net.sf.beanlib.provider.finder.ProtectedReaderMethodFinder.<init>()V
from class net.sf.beanlib.provider.finder.PrivateReaderMethodFinder
at
net.sf.beanlib.provider.finder.PrivateReaderMethodFinder.<init>(PrivateReaderMethodFinder.java:
29)
at
net.sf.beanlib.provider.finder.PrivateReaderMethodFinder.<clinit>(PrivateReaderMethodFinder.java:
27)
at
net.sf.hibernate4gwt.core.beanlib.clone.CloneBeanReplicator.newBeanTransformer(CloneBeanReplicator.java:
87)
at
net.sf.hibernate4gwt.core.beanlib.clone.CloneBeanReplicator.<init>(CloneBeanReplicator.java:
44)
at net.sf.hibernate4gwt.core.LazyKiller.clone(LazyKiller.java:228)
at net.sf.hibernate4gwt.core.LazyKiller.detach(LazyKiller.java:189)
at
net.sf.hibernate4gwt.core.HibernateBeanManager.clonePojo(HibernateBeanManager.java:
418)
at
net.sf.hibernate4gwt.core.HibernateBeanManager.clone(HibernateBeanManager.java:
266)
at
net.sf.hibernate4gwt.gwt.HibernateRPCHelper.parseReturnValue(HibernateRPCHelper.java:
121)
at
net.sf.hibernate4gwt.gwt.HibernateRemoteService.processCall(HibernateRemoteService.java:
170)
at
com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:
86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:
390)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:
206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:
175)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:
128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:
102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:
844)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
447)
at java.lang.Thread.run(Thread.java:619)

Regards
Bruno

On Oct 6, 6:42 pm, "Hanson Char" <hanson.c...@gmail.com> wrote:
> Hi Bruno,
>
> As I understand it, the constructor(s) and "found" method should be
> internal to the package.  What error did you encounter in Tomcat ?
> Sounds like a classpath or class loading issue.
>
> Cheers,
> Hanson
>
Reply all
Reply to author
Forward
0 new messages