I'm still having problems with this one Netbeans 7.3.1 project ( jdk
1.7.0.17 with Tomcat 7.0.27) involving Vaadin and Cayenne. I have now
upgraded Cayenne to 3.1B2 and made all the project modifications I
needed to in order to use Cayenne 3.1 (thanks Andrus!). I'm hoping the
error message is more meaningful to someone on this list. I don't
understand how the error message indicates it can't find the class
PasswordReset and yet the code is being executed from within
PasswordReset. To me it looks like it can't load the class because of
some security restriction but what is creating the security restriction?
Any help or guidance would be greatly appreciated.
Here is the offending code:
public class PasswordReset extends _PasswordReset {
private static final long serialVersionUID = 5548297136969252200L;
private static PasswordReset newPasswordReset(User user) {
ObjectContext oc = MyApplication.getObjectContext();
PasswordReset pr = null;
String token = null;
System.out.println("oc=" + oc);
pr = oc.newObject(PasswordReset.class);
pr.setExpireDT(DateTime.now().plusMinutes(15).toDate());
token = Password.getEncryptPW(user.getUsername() +
DateTime.now().toString(), Password.generateNewSalt());
pr.setToken(token);
// pr.setUserId(user.getUser_id());
user.setToPasswordReset(pr);
oc.commitChanges();
return pr;
}
}
Here is the output
oc=org.apache.cayenne.access.DataContext@59d8afee
org.apache.cayenne.CayenneRuntimeException: [v.3.1B2 Feb 05 2013
20:43:40] Error instantiating object.
at
org.apache.cayenne.access.DataContext.newObject(DataContext.java:554)
at
org.apache.cayenne.access.DataContext.newObject(DataContext.java:531)
at
com.callistacti.callwatch.database.PasswordReset.newPasswordReset(PasswordReset.java:76)
at
com.callistacti.callwatch.database.PasswordReset.getPasswordResetToken(PasswordReset.java:44)
at
com.callistacti.callwatch.Windows.WindowLogin$3.buttonClick(WindowLogin.java:174)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:508)
at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:167)
at
com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:968)
at com.vaadin.ui.Button.fireClick(Button.java:368)
at com.vaadin.ui.Button$1.click(Button.java:57)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at
com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:168)
at
com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:118)
at
com.vaadin.server.communication.ServerRpcHandler.handleBurst(ServerRpcHandler.java:214)
at
com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:111)
at
com.vaadin.server.communication.PushHandler$2.run(PushHandler.java:158)
at
com.vaadin.server.communication.PushHandler.callWithUi(PushHandler.java:289)
at
com.vaadin.server.communication.PushHandler.onRequest(PushHandler.java:308)
at
org.atmosphere.cpr.AsynchronousProcessor.action(AsynchronousProcessor.java:259)
at
org.atmosphere.cpr.AsynchronousProcessor.suspended(AsynchronousProcessor.java:166)
at
org.atmosphere.container.TomcatWebSocketUtil.doService(TomcatWebSocketUtil.java:137)
at
org.atmosphere.container.Tomcat7AsyncSupportWithWebSocket.service(Tomcat7AsyncSupportWithWebSocket.java:59)
at
org.atmosphere.cpr.AtmosphereFramework.doCometSupport(AtmosphereFramework.java:1448)
at
org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:219)
at
org.atmosphere.websocket.DefaultWebSocketProcessor$2.run(DefaultWebSocketProcessor.java:183)
at
org.atmosphere.util.VoidExecutorService.execute(VoidExecutorService.java:101)
at
org.atmosphere.websocket.DefaultWebSocketProcessor.dispatch(DefaultWebSocketProcessor.java:178)
at
org.atmosphere.websocket.DefaultWebSocketProcessor.invokeWebSocketProtocol(DefaultWebSocketProcessor.java:167)
at
org.atmosphere.container.TomcatWebSocketHandler.onTextMessage(TomcatWebSocketHandler.java:92)
at
org.apache.catalina.websocket.MessageInbound.onTextData(MessageInbound.java:74)
at
org.apache.catalina.websocket.StreamInbound.onData(StreamInbound.java:129)
at
org.apache.coyote.http11.upgrade.UpgradeProcessor.upgradeDispatch(UpgradeProcessor.java:83)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:563)
at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.cayenne.CayenneRuntimeException: [v.3.1B2 Feb 05
2013 20:43:40] Failed to load class
com.callistacti.callwatch.database.PasswordReset:
com.callistacti.callwatch.database.PasswordReset
at org.apache.cayenne.map.ObjEntity.getJavaClass(ObjEntity.java:302)
at
org.apache.cayenne.reflect.PersistentDescriptorFactory.getDescriptor(PersistentDescriptorFactory.java:57)
at
org.apache.cayenne.reflect.ClassDescriptorMap.createDescriptor(ClassDescriptorMap.java:128)
at
org.apache.cayenne.reflect.LazyClassDescriptorDecorator.checkDescriptorInitialized(LazyClassDescriptorDecorator.java:58)
at
org.apache.cayenne.reflect.LazyClassDescriptorDecorator.createObject(LazyClassDescriptorDecorator.java:72)
at
org.apache.cayenne.access.DataContext.newObject(DataContext.java:551)
... 43 more
Caused by: java.lang.ClassNotFoundException:
com.callistacti.callwatch.database.PasswordReset
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:266)
at
org.apache.cayenne.di.spi.DefaultAdhocObjectFactory.getJavaClass(DefaultAdhocObjectFactory.java:102)
at org.apache.cayenne.util.Util.getJavaClass(Util.java:658)
at org.apache.cayenne.map.ObjEntity.getJavaClass(ObjEntity.java:299)