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)

Reply via email to