Error publishing to Essential Viewer

Post Reply
jcwillard
Posts: 9
Joined: 27 Mar 2014, 15:18

I have successfully upgraded to EMM 505. I am running in multi-user mode, on Windows server 2012R2 with Tomcat 7.0.55 and MYSQL backend. On the server itself I can open the Protégé repository in server mode, edit, and publish to the viewer. On my client, I can connect to the remote repository, open it, edit and save them successfully. However when I try to publish to the repository from the client, it fails with the error "Exception in thread AWT-EventQueue-0" and sun.java2d.HeadlessGraphicsEnvironment cannot be cast to sun.awt.Win32GraphicsEnvironment."

Is this because of the difference in Java versions between the client and the server? On the server I am running Java 1.7.0_67 and on my client I am running 1.8.0_51. If this is the source of my problem, should I upgrade the entire server to 1.8 or should I downgrade my client to 1.7? I am hoping that the upgrade is the correct answer, since I hope to deploy the client to other workstations where I may not be able to control the Java version.

Thank you in advance for your reply.
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Hi,

Thanks for posting.
This could well be a Java version issue but I think it would be worth looking into the error message a bit more.

Could you post more details of the exception message / stack to see where this error is being thrown?

Getting the JVMs to a roughly compatible level makes a lot of sense, here. There can be some incompatibilities. Unless you have many existing users running on Java 7, it's probably worth getting the server upgraded to Java 8 in line with your workstation.

Either way, it would be great to get a detailed message from the exception to help us identify the issue.

Jonathan
Essential Project Team
jcwillard
Posts: 9
Joined: 27 Mar 2014, 15:18

Code: Select all

Server: Adding Session(id=7, user=JohnWillard) on Mon Feb 08 14:28:43 EST 2016
Server: Opened project VDOT Test Repository for Session(id=7, user=JohnWillard)
on Mon Feb 08 14:28:43 EST 2016
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: sun.java2d.
HeadlessGraphicsEnvironment cannot be cast to sun.awt.Win32GraphicsEnvironment
        at sun.awt.windows.WToolkit$5.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$200(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Server: Removing Session(id=7, user=JohnWillard) on Mon Feb 08 15:06:44 EST 2016
This repeats multiple times in the file as I attempt to publish the repository to the viewer. In copying this over I notice that it records a "Adding Session" event when I tried to begin publishing and then removes that session at the end when I have failed in publishing. I do not know if that is expected behavior or not.

Thank you.
jcwillard
Posts: 9
Joined: 27 Mar 2014, 15:18

Sorry, I probably should have said that the previous trace was generated on the server. On the client, I get this:

Code: Select all

Caught the exception:
java.lang.NullPointerException
java.lang.NullPointerException
        at com.enterprise_architecture.essential.xml.XMLRenderer.<init>(XMLRende
rer.java:138)
        at com.enterprise_architecture.essential.widgets.EasReportTab.generateRe
port(EasReportTab.java:919)
        at com.enterprise_architecture.essential.widgets.EasReportTab.actionPerf
ormed(EasReportTab.java:639)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$000(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.awt.EventQueue$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.awt.EventQueue$2.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown
Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source
)

Hope that helps.
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Thanks, that's perfect.

We've identified a bug in the XML rendering package. A new version of the Essential software is now available for you to download.

The fix impacts:
  • Viewer Tab in Protege
  • Snapshot Tab in Protege
  • Essential Import Utility
Unless you are installing to a fresh environment, you should download the Upgrade installer. This will upgrade your Protege plugins and deploy a new version of the Viewer and the Import Utility (importantly, without over-writing your existing Viewer and Import Utility).

As part of this release, we've also included some small updates to the Viewer.

Jonathan
Essential Project Team
jcwillard
Posts: 9
Joined: 27 Mar 2014, 15:18

Jonathan:

Thank you. That resolved my problem.
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Great stuff - really pleased to hear that.

Thanks for confirming that the update fixed the issue.

Do keep us posted with how you get on with Version 5!

Jonathan
Essential Project Team
Post Reply