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
Go to:   
Mobile view