Editing patrol type for existing patrols?
It is not possible to edit patrol type (ground/air/water) for an existing patrol, for example if an error was made in data entry. Any reason for this, and can this be changed? (3.2.1)
Leave a comment
I believe the initial reason for this was that we were expecting to collect different information about these different types of patrols. However, currently the only thing that is different between these types is the pilot attribute, so I don't believe allowing users to edit this information would be too difficult.
Related to this, you caqnnot have different patrol types for different legs of the same patrol. The follwoing was just reported form a field site:
We had a patrol that transported by jeep to a boat launch, was then transported up the river, then went on foot patrol. I have told the teams to start new patrols when they change transport types. These are then entered as separate legs, so that (e.g.) patrol distance on foot can be separated from patrol distance in vehicle.
But I could not do that with the water legs. This is because patrol type was water (rather than ground), so different patrol types could not be combined.
I ended up making a separate patrol S-127Water that held the water legs. As I say probably not a huge deal, but it will mean that when we run reports that we have an extra patrol.
We had a patrol that transported by jeep to a boat launch, was then transported up the river, then went on foot patrol. I have told the teams to start new patrols when they change transport types. These are then entered as separate legs, so that (e.g.) patrol distance on foot can be separated from patrol distance in vehicle.
But I could not do that with the water legs. This is because patrol type was water (rather than ground), so different patrol types could not be combined.
I ended up making a separate patrol S-127Water that held the water legs. As I say probably not a huge deal, but it will mean that when we run reports that we have an extra patrol.
on 2015-12-09 12:28 *
By SMARTadmin
Use case discussed with Panthera: Master boat travels up river for patrol using GPS but not CyberTracker. While continuing up the river, a team goes off in a canoe up a tributary, hoping off and on the canoe at various locations to do short foot patrols. Two patrol types (boat and foot) in one patrol; Patrol type is of limited meaning for boat (as there two very different boats used); the team hoping on and off need to be able to switch create multiple legs which are all basically the same except transport mode has changed.
on 2015-12-09 19:25 *
By Paula_Giraldo
In Colombia, Ecuador and Perú, we have the same problem. The rangers do two or three patrol types (boat and foot, vehicle and foot or a combiantion of three of them) in one patrol. For now, the rangers are using the principal type of patrol and mark the waypoint where they change. But, will be much better to have the option to change between multiple legs with different transport.
this is critical to resolve. many sites have combined boat/foot or air/foot patrols. We need to be able to add legs with different transport types to the same patrol using data collected with Cybertracker, in addition to being able to edit on the desktop. As I stated before, I think this is more of a bug that should be fixed. There is no reason to prevent patrols with multiple modes of transport.
Discussion of this ticket has continued here: https://docs.google.com/document/d/1nwd5W4GlgGDCuRzVaVeMfXz3wFG8G1xpPjFEGAp3ijw/edit?usp=sharing
This is the latest request:
"July 25 summary of requirements:
As discussed for 1445 what we would like:
1. Include Patrol type in the configuration of SMART where setting up different transport types.
2. Add “Mixed” patrol type.
3. Remove Patrol Type from the UI for setting up patrols and entering data in the field via CT
4. Have Patrol type updated automatically in the database when data is imported/updated in SMART
5. Have Patrol type available in queries.
This would be best for us as it would:
i) Allow those who don’t want to use Patrol type to ignore it (apart from on set up of the system)
ii) Allow those who want to use it, to use it
iii) Ensure nothing breaks (i.e. all existing reports still work)
Thanks again for considering this."
Refractions has not scoped this out further; it will not be part of the 4.0.1 release. Refractions looks forward to tackling this as part of the next agreement.
"July 25 summary of requirements:
As discussed for 1445 what we would like:
1. Include Patrol type in the configuration of SMART where setting up different transport types.
2. Add “Mixed” patrol type.
3. Remove Patrol Type from the UI for setting up patrols and entering data in the field via CT
4. Have Patrol type updated automatically in the database when data is imported/updated in SMART
5. Have Patrol type available in queries.
This would be best for us as it would:
i) Allow those who don’t want to use Patrol type to ignore it (apart from on set up of the system)
ii) Allow those who want to use it, to use it
iii) Ensure nothing breaks (i.e. all existing reports still work)
Thanks again for considering this."
Refractions has not scoped this out further; it will not be part of the 4.0.1 release. Refractions looks forward to tackling this as part of the next agreement.
In 4.1.a2 this error gets logged when the menu option "Patrol - Patrol Types" is selected
====================================================================
!ENTRY org.eclipse.ui 4 0 2016-12-12 14:16:11.795
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.e4.core.di.InjectionException: org.eclipse.e4.core.di.InjectionException: java.lang.Error: Unresolved compilation problem:
Lambda expressions are allowed only at source level 1.8 or above
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:825)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:701)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$6(HandledContributionItem.java:685)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:613)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.wcs.smart.SmartApp.start(SmartApp.java:47)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
Caused by: org.eclipse.e4.core.di.InjectionException: java.lang.Error: Unresolved compilation problem:
Lambda expressions are allowed only at source level 1.8 or above
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:214)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:90)
at org.eclipse.e4.tools.compat.parts.DIHandler.execute(DIHandler.java:50)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 37 more
Caused by: java.lang.Error: Unresolved compilation problem:
Lambda expressions are allowed only at source level 1.8 or above
at org.wcs.smart.patrol.internal.ui.properties.PatrolTypePropertyPage.createContent(PatrolTypePropertyPage.java:137)
at org.wcs.smart.ui.properties.AbstractPropertyJHeaderDialog.createDialogArea(AbstractPropertyJHeaderDialog.java:77)
at org.eclipse.jface.dialogs.TitleAreaDialog.createContents(TitleAreaDialog.java:161)
at org.eclipse.jface.window.Window.create(Window.java:435)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1101)
at org.eclipse.jface.window.Window.open(Window.java:797)
at org.wcs.smart.patrol.internal.ui.properties.handlers.ShowPatrolTypeHandler.execute(ShowPatrolTypeHandler.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 48 more
====================================================================
!ENTRY org.eclipse.ui 4 0 2016-12-12 14:16:11.795
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.e4.core.di.InjectionException: org.eclipse.e4.core.di.InjectionException: java.lang.Error: Unresolved compilation problem:
Lambda expressions are allowed only at source level 1.8 or above
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:825)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:701)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$6(HandledContributionItem.java:685)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:613)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.wcs.smart.SmartApp.start(SmartApp.java:47)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
Caused by: org.eclipse.e4.core.di.InjectionException: java.lang.Error: Unresolved compilation problem:
Lambda expressions are allowed only at source level 1.8 or above
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:214)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:90)
at org.eclipse.e4.tools.compat.parts.DIHandler.execute(DIHandler.java:50)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 37 more
Caused by: java.lang.Error: Unresolved compilation problem:
Lambda expressions are allowed only at source level 1.8 or above
at org.wcs.smart.patrol.internal.ui.properties.PatrolTypePropertyPage.createContent(PatrolTypePropertyPage.java:137)
at org.wcs.smart.ui.properties.AbstractPropertyJHeaderDialog.createDialogArea(AbstractPropertyJHeaderDialog.java:77)
at org.eclipse.jface.dialogs.TitleAreaDialog.createContents(TitleAreaDialog.java:161)
at org.eclipse.jface.window.Window.create(Window.java:435)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1101)
at org.eclipse.jface.window.Window.open(Window.java:797)
at org.wcs.smart.patrol.internal.ui.properties.handlers.ShowPatrolTypeHandler.execute(ShowPatrolTypeHandler.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 48 more