Author |
Message |
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Hi guys. Hope all is well. I am in the process of attempting to upgrade some of our PDC's to the new Orchestration Designer framework, and I'm wondering if there are any changes in the PDC framework that need to be implemented for the upgrade. I'm imported the PDC projects into Orchestration Designer, have cleaned up any Eclipse errors caused by the updated JDK, and attempted to debug the PDC's using the Eclipse "Debug As" context menu. When the debug Eclipse instance loads, however, the following exception is being thrown to the console:
Using path [C:\runtime-ApacheTomcat\lib\ddconfig.xml] to configuration file
Warning, stored hash did not match computed hash, Config file may have been tampered with, please verify your configuration
!SESSION 2011-11-11 10:35:32.673 -----------------------------------------------
eclipse.buildId=M20100909-0800
java.version=1.6.0_21
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Framework arguments: -product org.eclipse.sdk.ide
Command-line arguments: -product org.eclipse.sdk.ide -data C:\workspace/../runtime-EclipseApplication -dev file:C:/workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse Application/dev.properties -os win32 -ws win32 -arch x86 -consoleLog
!ENTRY org.eclipse.osgi 2 0 2011-11-11 10:35:42.635
!MESSAGE While loading class "com.avaya.sce.core.internal.WorkspaceController$1", thread "Thread[main,6,main]" timed out waiting (5000ms) for thread "Thread[Worker-0,5,main]" to finish starting bundle "com.avaya.sce.core_6.0.0.0901 [11]". To avoid deadlock, thread "Thread[main,6,main]" is proceeding but "com.avaya.sce.core.internal.WorkspaceController$1" may not be fully initialized.
!STACK 0
org.osgi.framework.BundleException: State change in progress for bundle "reference:file:/C:/eclipse/plugins/com.avaya.sce.core_6.0.0.0901/" by thread "Worker-0".
at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1077)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:282)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.avaya.sce.core.internal.WorkspaceController.loadExtensions(WorkspaceController.java:190)
at com.avaya.sce.core.CorePlugin$1.run(CorePlugin.java:164)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Caused by: org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
... 40 more
Root exception:
org.eclipse.osgi.framework.internal.core.AbstractBundle$BundleStatusException
at org.eclipse.osgi.framework.internal.core.AbstractBundle.beginStateChange(AbstractBundle.java:1077)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:282)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:417)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:265)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:106)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:453)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
at com.avaya.sce.core.internal.WorkspaceController.loadExtensions(WorkspaceController.java:190)
at com.avaya.sce.core.CorePlugin$1.run(CorePlugin.java:164)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4041)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3660)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
If I ignore this and try to create a Speech Project, the Eclipse instance freezes and I have to kill it with task manager. Any idea what could be causing this?
Thank you,
Michael
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
The two changes are category and project upgrade for the PDC's in 6.0. There is a slide in the KT on this. I also sent you a copy in email.
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Is there any way to update the web.xml file from outside the PDCConfigUI class? I have a situation where a variable reference may be renamed or deleted, and I can update the property store, but I can't figure out how to update the web.xml. When inside the PDCConfigUI class, I simply call getWebApp(). I tried doing "new WFDSPdcUI().performOk(true);" to let the PDCConfigUI do the magic for me, but a NullPointerException was returned because the getProject() method didn't have an associated project with it.
Thanks,
Michael
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Never mind.. I figured it out... LOL I feel stupid now. IWorkspaceController is the key.
Thanks,
Michael
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
Great!
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Hi guys,
Is it possible to convert a simple variable to a complex variable just by adding a field to the variable? For example, will the following code snippet work?
IAvayaResourceProvider provider = ResourceProviders.getProviderById(IWorkspaceController.VARIABLE_PROVIDER_ID);
Collection<IAvayaResource> vars = provider.getSortedResources(project);
for (IAvayaResource var : vars) {
IVariableInfo varInfo = (IVariableInfo) var.getAdapter(IVariableInfo.class);
if (varInfo.getName().equals("variableName")) {
if (varInfo.isSimple()) {
IVariableResourceProvider varProvider = (IVariableResourceProvider) provider.getAdapter(IVariableResourceProvider.class);
try {
varProvider.beginTransaction(project, PLUGIN_ID);
varProvider.addVariableField(project, "variableName", "fieldName", PLUGIN_ID, plugin.VARIABLE_PROVIDER_ID, "", VariableEditPolicy.LOCKED_VARIABLE, null, null);
varProvider.commit(project, new NullProgressMonitor());
} catch (VariableException ex) {
ex.printStackTrace();
}
}
}
Or would I have to delete the simple variable and add a complex variable?
Thanks,
Michael
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
Nope, they are distinct entities and not convertable.
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
I have a PDC which employs a custom editor page. I have figured out how to update the open editor with the marker information (without the need to open/close the editor), but I cannot figure out how to update the icon to display the red "X" if a marker exists in the resource. It doesn't display the red "X" even if I close the editor and reopen it. Can someone point me in the right direction for this?
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
you need to create a resource marker
IFile file;
file = (IFile) resource.getAdapter(IFile.class);
if (file != null) {
if (file.exists() == true) {
ResourceMarker.createMarkerForResource(type, file, msg, null);
}
}
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
I am creating a marker. I'm using the Email Connector PDC as an example, and in my model.validate() method, I'm setting all the markers on the resource. The markers are being displayed within the view of the editor, but the icon is not being updated. I've tried with and without the "setTitleImage(...)" method call in my editor init(...) method. Is there a listener that I should be implementing or something? The Email Connector PDC doesn't update the title image either.
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Update: I believe I'm talking about the image decorator for resources with files.
In the navigator pane, the icon has the correct decorator when the resource has markers. when the markers are removed, the icon decorator is removed.
In the editor pane, the title image displays the image as defined in the extension point org.eclipse.ui.editors. No decorators are ever applied to this image, regardless of the resource having markers or not. Closing and reopening the resource in the editor pane has no effect.
The Email Connector PDC has the same issue. The flow editor correctly updates the title image with the appropriate decorations if markers are placed on the resource.
I'm thinking I'm missing some sort of listener or regiration of some component, however I'm completely stumped as to what this could be.
Thank you for all the help,
Michael
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
Need to add code like this:
if (ResourceMarker.resourceHasMarkers(ResourceMarker.INVALIDMARKER, file) == true) {
updateEditorImage(DecoratingImageDescriptor.ERROR);
}
private void updateEditorImage(int decoratorMask) {
if (!display.isDisposed()) {
ImageDescriptor id = new DecoratingImageDescriptor(Activator.getDefault().getBundle(), "emailedit.gif", decoratorMask);
display.syncExec(new doSetTitleImage(this, id.createImage()));
}
}
/**
* Class to set the image for the editor title
*/
class doSetTitleImage implements Runnable {
private IEditorPart editor;
private Image image;
doSetTitleImage(IEditorPart editor, Image image) {
this.editor = editor;
this.image = image;
}
public void run() {
if (!display.isDisposed()) {
((EmailEditor) editor).setTitleImage(image);
}
}
}
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Thank you Ross.
I had to modify the code a little bit because the setTitleImage(...) method in the editor isn't visible outside it's own class. I ended up doing a new Runnabled() { public void run() { ... } } instead of the new doSetTitleImage(...) method.
It's working perfectly now. Thank you so much!!!! You guys are absolutely great!!!!!
Michael
|
|
|
|
|
RossYakulis
Joined: Nov 6, 2013
Messages: 2652
Offline
|
Actually this is a better way to do this:
public class EmailEditor extends FormEditor implements EditPartSetTitleImage {
public void setPartTitleImage(Image titleImage) {
setTitleImage(titleImage);
}
public void doSave(IProgressMonitor monitor) {
monitor.beginTask("Saving email message contents", 1);
. . .
. . .
. . .
// done
monitor.worked(1);
monitor.done();
firePropertyChange(PROP_DIRTY);
EditorUtils.adjustTitle(file, "emailedit.gif", this, Activator.getDefault());
}
|
|
|
|
|
MichaelDailous_deprecated
Joined: Nov 11, 2013
Messages: 171
Offline
|
Is there any way to stack a set of data connectors that are included in the same PDC, similar to the way the "Operation" pallet item is displayed? I'm curious about both version 5.1 and 6.0. If there's no "directly extensible" way to do this, can you point me in the direction to do this through the standard Eclipse API?
Thanks,
Michael
|
|
|