Аттачу процесс на котором при попытке нажать "Изменить" на роли "Бот работы с данными" получаю ошибку
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at ru.runa.gpd.swimlane.OrgFunctionSwimlaneElement.getOrgFunctionParameterValue(OrgFunctionSwimlaneElement.java:24)
at ru.runa.gpd.swimlane.ExecutorSwimlaneElement.open(ExecutorSwimlaneElement.java:67)
at ru.runa.gpd.swimlane.ExecutorSwimlaneElement.open(ExecutorSwimlaneElement.java:1)
at ru.runa.gpd.swimlane.SwimlaneElement.open(SwimlaneElement.java:95)
at ru.runa.gpd.ui.dialog.SwimlaneConfigDialog.opened(SwimlaneConfigDialog.java:75)
Перед появлением этой проблемы не мог экспортировать этот процесс на сервер.
Возможно это другая проблема, но аттачу лог и этой ситуации, вдруг связано.
Last edit: vromav 2015-01-26
Нашел зависимость для проблемы "java.lang.IndexOutOfBoundsException: Index: 0, Size: 0"
-Создаю роль Роль1
-Настраиваю для этой роли инициализатор – Группы и пользователи WF, выбираю пользователя attila с сервера
-Сохраняю,делаю переименование роли
-Если сейчас нажать изменить на Роли, то видно что, инициализатор роли задан теперь не на “Группы и пользователи WF”, а на вкладке Код
-Убираю иницализатор, выбираю EmptyOrgFunctionName
-Сохраняю, делаю переименование обратно в Роль1
Теперь если нажать на Изменить, возникнет ошибка
(Записал видео)
Похоже действительно другая проблема. Просьба посмотреть лог, если что-то понятно из него, то заведу отдельный тикет.
Избавился от swimlaneGUIconfig.xml, его данные перенесены в variables.xml, рассинхронизации теперь не возникает, обратная совместимость соблюдена.
По 2-й проблеме в логе: InternalApplicationException: swimlane 'Бот работы с данными' not found in Deployment{id=null, name=Пример 4-1, version=null}, т.е. роли там не было как бы в БП, не знаю почему. В приаттаченом пример 4-1.par всё в порядке, он деплоится. Если возникнет - просьба сделать экспорт в файловую систему его.
Сейчас, по нажатию на Изменить, вылетает NPE
java.lang.NullPointerException
at ru.runa.gpd.ui.dialog.SwimlaneConfigDialog.opened(SwimlaneConfigDialog.java:70)
at ru.runa.gpd.ui.dialog.SwimlaneConfigDialog.initializeBounds(SwimlaneConfigDialog.java:152)
at org.eclipse.jface.window.Window.create(Window.java:435)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
at org.eclipse.jface.window.Window.open(Window.java:790)
at ru.runa.gpd.editor.SwimlaneEditorPage$ChangeSwimlaneSelectionListener.onSelection(SwimlaneEditorPage.java:339)
at ru.runa.gpd.ui.custom.LoggingSelectionAdapter.widgetSelected(LoggingSelectionAdapter.java:12)
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 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 ru.runa.gpd.Application.start(Application.java:19)
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(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:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Еще:
Выбрал инициализатор на вкладке Группы и пользователи, сохранил, теперь хочу убрать инициализатор для Роли, на вкладке Код выбрал EmptyOrgFunctionName, нажал ОК. Процесс не изменился, инициализатор не очистился.
Исследование 2-й проблемы и замечание по совместимости:
Импортировал из файла исходный процесс "пример 4-1" в редактор (в аттаче помечен как original), он без ошибок экспортируется в файл и на сервер. Но если нажать Изменить на роли "Бот работы с данными" то возникает все та же ошибка "java.lang.IndexOutOfBoundsException". Это насчет совместимости.
Записал видео возникновения проблемы номер 2. Процесс выгрузил в файл (в аттаче помечен как bad)