At work we decided to give the essential project a try as we are looking for an architecture modeling tool at the time.
I have successfully set up an essential instance on my local machine and have played a bit with it: incredibly powerful, and easy to use; all in all very promising.
The next step was to try and install a server version with a shared repository. We have now installed an essential instance on the server. It's got an attached mysql database and works fine for itself. When started on the server (via X11 fowarding through ssh) all was up and well.
However it was not possible to connect to the repository: when trying to open the repository (through the menu via File>Open>Server ... as stated in the tutorial section of this website.) nothing happens. No response at all is given.
Mind that the repository service is running (started as 'sudo run_protege_server.sh') - otherwise there would be a message stating that the specified server is not accessible. Also I don't think the problem lies with the user specification in the metaproject, as there is no authorization respond either.
I found out however that the protege.jar throws an exception in the exact moment someone tries to log in remotely. (This also lets us forget about possible networking problems, obviously the connection works.)
The error is as follows:
Code: Select all
WARNING: Could not log in -- java.lang.NullPointerException
at edu.stanford.smi.protege.server.metaproject.impl.UserImpl.equals(Unknown Source)
at java.util.HashMap.put(HashMap.java:393)
at java.util.HashSet.add(HashSet.java:217)
at edu.stanford.smi.protege.server.metaproject.impl.MetaProjectImpl.getWrappedInstances(Unknown Source)
at edu.stanford.smi.protege.server.metaproject.impl.MetaProjectImpl.getUsers(Unknown Source)
at edu.stanford.smi.protege.server.metaproject.impl.PolicyImpl.getUserByName(Unknown Source)
at edu.stanford.smi.protege.server.Server.isServerOperationAllowed(Unknown Source)
at edu.stanford.smi.protege.server.Server.isServerOperationAllowed(Unknown Source)
at edu.stanford.smi.protege.server.Server.openSession(Unknown Source)
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:616)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:553)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:636)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:273)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:251)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:160)
at edu.stanford.smi.protege.server.Server_Stub.openSession(Unknown Source)
at edu.stanford.smi.protege.server.ServerPanel.createSession(Unknown Source)
at edu.stanford.smi.protege.server.ServerPanel.isValidConfiguration(Unknown Source)
at edu.stanford.smi.protege.server.ServerPanel.validateContents(Unknown Source)
at edu.stanford.smi.protege.util.ProjectChooser.canClose(Unknown Source)
at edu.stanford.smi.protege.util.ProjectChooser.attemptClose(Unknown Source)
at edu.stanford.smi.protege.util.ProjectChooser.access$200(Unknown Source)
at edu.stanford.smi.protege.util.ProjectChooser$2.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
at java.awt.Component.processMouseEvent(Component.java:6106)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3276)
at java.awt.Component.processEvent(Component.java:5871)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194)
at java.awt.Dialog$1.run(Dialog.java:1072)
at java.awt.Dialog$3.run(Dialog.java:1126)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Dialog.java:1124)
at javax.swing.JFileChooser.showDialog(JFileChooser.java:740)
at javax.swing.JFileChooser.showOpenDialog(JFileChooser.java:643)
at edu.stanford.smi.protege.util.ProjectChooser.showOpenDialog(Unknown Source)
at edu.stanford.smi.protege.ui.ProjectManager.getRequestedProject(Unknown Source)
at edu.stanford.smi.protege.ui.ProjectManager.openProjectRequest(Unknown Source)
at edu.stanford.smi.protege.ui.ProjectManager.openProjectRequest(Unknown Source)
at edu.stanford.smi.protege.action.OpenProject.actionPerformed(Unknown Source)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1688)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1732)
at java.awt.Component.processMouseEvent(Component.java:6106)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3276)
at java.awt.Component.processEvent(Component.java:5871)
at java.awt.Container.processEvent(Container.java:2105)
at java.awt.Component.dispatchEventImpl(Component.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2163)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
at java.awt.Container.dispatchEventImpl(Container.java:2149)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4293)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
Thanks in advance,
Florian
To sum up some system information:
- The server runs Ubuntu Server 8.04 LTS.
- Installed are Protege 3.4.4, Tomcat 5.5, MySQLServer 5.0.51 and Java 6.