Have an app that was built in Call Studio 9 with a couple custom elements. We are upgrading from UCCE/CVP 9 to 11 and we are importing all the apps into Call Studio 11 and validating before re-deploying. One error I can't seem to figure out is an error we encounter...
It's a Voice Element - Record_With_Confirm and the error we get is Configuration error: At least one of audio group "Before Confirm" and "After Confirm" is required. I have tried to delete the element, replace it in the workspace, and reconfigure it to no avail.
!ENTRY org.eclipse.ui 4 0 2016-07-27 23:39:16.942
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.ClassCastException: org.eclipse.ui.views.markers.internal.MarkerAdapter$MarkerCategory cannot be cast to org.eclipse.ui.views.markers.internal.ConcreteMarker)
at org.eclipse.swt.SWT.error(SWT.java:4282)
at org.eclipse.swt.SWT.error(SWT.java:4197)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4140)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3757)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
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:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: java.lang.ClassCastException: org.eclipse.ui.views.markers.internal.MarkerAdapter$MarkerCategory cannot be cast to org.eclipse.ui.views.markers.internal.ConcreteMarker
at org.eclipse.ui.views.markers.internal.MarkerView$5.getShowInContext(MarkerView.java:784)
at org.eclipse.ui.internal.services.WorkbenchSourceProvider.getContext(WorkbenchSourceProvider.java:412)
at org.eclipse.ui.internal.services.WorkbenchSourceProvider.updateActivePart(WorkbenchSourceProvider.java:478)
at org.eclipse.ui.internal.services.WorkbenchSourceProvider.updateActivePart(WorkbenchSourceProvider.java:439)
at org.eclipse.ui.internal.services.WorkbenchSourceProvider.getCurrentState(WorkbenchSourceProvider.java:135)
at org.eclipse.ui.internal.services.WorkbenchSourceProvider$6.handleEvent(WorkbenchSourceProvider.java:676)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058)
at org.eclipse.swt.widgets.Decorations.WM_ACTIVATE(Decorations.java:1647)
at org.eclipse.swt.widgets.Shell.WM_ACTIVATE(Shell.java:2137)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4525)
at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1610)
at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:2061)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:4972)
at org.eclipse.swt.internal.win32.OS.DestroyWindow(Native Method)
at org.eclipse.swt.widgets.Control.destroyWidget(Control.java:780)
at org.eclipse.swt.widgets.Shell.destroyWidget(Shell.java:698)
at org.eclipse.swt.widgets.Widget.release(Widget.java:818)
at org.eclipse.swt.widgets.Widget.dispose(Widget.java:446)
at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:447)
at org.eclipse.swt.widgets.Shell.dispose(Shell.java:715)
at org.eclipse.jface.window.Window.close(Window.java:335)
at org.eclipse.jface.dialogs.Dialog.close(Dialog.java:979)
at org.eclipse.jface.dialogs.TrayDialog.close(TrayDialog.java:221)
at org.eclipse.ui.internal.statushandlers.InternalDialog.close(InternalDialog.java:710)
at org.eclipse.jface.dialogs.Dialog.okPressed(Dialog.java:940)
at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:472)
at org.eclipse.ui.internal.statushandlers.InternalDialog.buttonPressed(InternalDialog.java:190)
at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:240)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at com.audiumcorp.studio.debug.core.views.VoiceBrowserView.runAndDispatch(VoiceBrowserView.java:625)
at com.audiumcorp.studio.debug.core.views.VoiceBrowserView.access$000(VoiceBrowserView.java:69)
at com.audiumcorp.studio.debug.core.views.VoiceBrowserView$1.run(VoiceBrowserView.java:238)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
... 23 more
Anybody come across something similar?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I'm not sure how the app would have validated in Studio 9; because if
you are using RecordWithConfirm element, you MUST fill in
Audio for the Confirmation stage - which is really a built-in yesNo
menu where the gateway plays the recording back to the caller, and the
caller MUST press 1 to save the recording, or 2 to dis-confirm
(re-record or exit, based upon the Setting named MaxDisconfirmCount).
So, just go into the Record element's Audio tab, right-click on
AudioGroups and select Record Confirm> Add After. Configure it to play
an audio file that says something like "To save this recording, press 1.
To re-record (or exit) press 2.'
If you don't want the caller to have to press 1 or 2, then replace the
Record-With-Confirm element with a Record element instead.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Hi Janine,
Thanks for the reply.
I have the Before Confirm and After Confirm audio groups in that element, despite the validator telling me otherwise, this is what's really confusing to me. I've tried deleting that element, placing a new record_with_confirm element in the workspace, and configuring the settings and audio tabs, and I still receive that message despite the fact that I have Before Confirm and After Confirm within my audio groups and all my audio groups have their audio items' URI populated. The log files don't seem to be much help unfortunately. I have other apps that include the Record_With_Confirm Voice element, and they work perfectly fine. Head scratcher...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you expand the BeforeConfirm audio group, what URI are you trying to
play? I bet it's empty. Similarly with the AfterConfirm - it must be
missing URI.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Can you send me the app (remove any private details)???
JGraves(at)TrainingTheExperts.com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Can you send me the application to look at?
JGraves(at)TrainingTheExperts(dot)com
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This seems like a bug.
However, I did find a workaround.
Try this:
Add all of the audio groups except for 'After Confirm' and 'Before Confirm' to your Record with Confirm element. Or, in your case, delete the 'After Confirm' and 'Before Confirm' audio groups. Re- add these groups so they appear at the bottom of the audio group list.
The application should then validate.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks, Mike!
I'd say that you're right about this being a bug. What I did was delete both the Before Confirm and After Confirm audio groups, saved, closed the project, re-opened the project, and re-added Before Confirm and After Confirm so that they're at the bottom of the Audio Groups list. When I validated the project, it came back clean. If I simply grab the Before Confirm and After Confirm audio groups, save, close and re-open the project and try to validate, I get the same error that I was receiving before.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Comments
0 comments
Please sign in to leave a comment.