some plugins ported to RAP from RCP
authorVictor Kirhenshtein <victor@netxms.org>
Sat, 14 Jan 2012 22:52:45 +0000 (22:52 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Sat, 14 Jan 2012 22:52:45 +0000 (22:52 +0000)
424 files changed:
.gitattributes
webui/webapp/AlarmViewer/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/AlarmViewer/.project [new file with mode: 0644]
webui/webapp/AlarmViewer/.settings/org.eclipse.core.resources.prefs [new file with mode: 0644]
webui/webapp/AlarmViewer/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle.properties [new file with mode: 0644]
webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle_es.properties [new file with mode: 0644]
webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle_ru.properties [new file with mode: 0644]
webui/webapp/AlarmViewer/build.properties [new file with mode: 0644]
webui/webapp/AlarmViewer/icons/acknowledged.png [new file with mode: 0644]
webui/webapp/AlarmViewer/icons/alarm_browser.png [new file with mode: 0644]
webui/webapp/AlarmViewer/icons/outstanding.png [new file with mode: 0644]
webui/webapp/AlarmViewer/icons/terminated.png [new file with mode: 0644]
webui/webapp/AlarmViewer/plugin.xml [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/Activator.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmComparator.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmListFilter.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmListLabelProvider.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/Messages.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/AcknowledgeAlarm.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/OpenAlarmBrowser.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/TerminateAlarm.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/messages.properties [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/messages_es.properties [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/objecttabs/AlarmTab.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/views/AlarmBrowser.java [new file with mode: 0644]
webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/widgets/AlarmList.java [new file with mode: 0644]
webui/webapp/Charts/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/Charts/.project [new file with mode: 0644]
webui/webapp/Charts/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
webui/webapp/Charts/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/Charts/build.properties [new file with mode: 0644]
webui/webapp/Charts/plugin.xml [new file with mode: 0644]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/Activator.java [new file with mode: 0644]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/ChartColor.java [new file with mode: 0644]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/ChartPluginSharedData.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 59% similarity]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/DataChart.java [new file with mode: 0644]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/DataComparisonChart.java [new file with mode: 0644]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/HistoricalDataChart.java [new file with mode: 0644]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/preferencepages/ChartColors.java [new file with mode: 0644]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/preferencepages/GeneralChartPrefs.java [new file with mode: 0644]
webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/widgets/GenericChart.java [new file with mode: 0644]
webui/webapp/Core/.classpath
webui/webapp/Core/META-INF/MANIFEST.MF
webui/webapp/Core/build.properties
webui/webapp/Core/jar/netxms-base-1.1.8.jar [deleted file]
webui/webapp/Core/jar/netxms-client-1.1.8.jar [deleted file]
webui/webapp/Core/jar/netxms-client-api-1.1.8.jar [deleted file]
webui/webapp/Core/src/org/netxms/ui/eclipse/jobs/ConsoleJob.java
webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java
webui/webapp/Core/src/org/netxms/ui/eclipse/views/AbstractTraceView.java
webui/webapp/Core/src/org/netxms/webui/core/Messages.java
webui/webapp/DataCollection/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/DataCollection/.project [new file with mode: 0644]
webui/webapp/DataCollection/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
webui/webapp/DataCollection/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/DataCollection/build.properties [new file with mode: 0644]
webui/webapp/DataCollection/icons/active.gif [new file with mode: 0644]
webui/webapp/DataCollection/icons/dc_editor.png [new file with mode: 0644]
webui/webapp/DataCollection/icons/delete.png [new file with mode: 0644]
webui/webapp/DataCollection/icons/disabled.gif [new file with mode: 0644]
webui/webapp/DataCollection/icons/edit.png [new file with mode: 0644]
webui/webapp/DataCollection/icons/last_values.png [new file with mode: 0644]
webui/webapp/DataCollection/icons/new.png [new file with mode: 0644]
webui/webapp/DataCollection/icons/question.png [new file with mode: 0644]
webui/webapp/DataCollection/icons/threshold.png [new file with mode: 0644]
webui/webapp/DataCollection/icons/unsupported.gif [new file with mode: 0644]
webui/webapp/DataCollection/plugin.xml [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/Activator.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/DataCollectionAdapterFactory.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/DciComparator.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/ThresholdLabelProvider.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/ApplyTemplate.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateInterfraceDci.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateTemplate.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateTemplateGroup.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/OpenEditor.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/RemoveTemplate.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/ShowLastValues.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/ToggleDCIFilterHandler.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/AbstractSelectParamDlg.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/CreateInterfaceDciDialog.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/DciRemoveConfirmationDialog.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/EditScheduleDialog.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/EditThresholdDialog.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/IParameterSelectionDialog.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 54% similarity]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/SelectAgentParamDlg.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/SelectDciDialog.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/SelectInternalParamDlg.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/SelectSnmpParamDlg.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/helpers/AgentParameterComparator.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/helpers/AgentParameterFilter.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/helpers/AgentParameterLabelProvider.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/helpers/InterfaceDciInfo.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/objecttabs/LastValues.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/CustomSchedule.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/General.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/Thresholds.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/Transformation.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/views/DataCollectionEditor.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/views/LastValues.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/views/helpers/DciFilter.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/views/helpers/DciLabelProvider.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/DciList.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/LastValuesWidget.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/DciListComparator.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/DciListLabelProvider.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/LastValuesComparator.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/LastValuesFilter.java [new file with mode: 0644]
webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/LastValuesLabelProvider.java [new file with mode: 0644]
webui/webapp/EventManager/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/EventManager/.project [new file with mode: 0644]
webui/webapp/EventManager/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
webui/webapp/EventManager/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/EventManager/build.properties [new file with mode: 0644]
webui/webapp/EventManager/icons/delete.png [new file with mode: 0644]
webui/webapp/EventManager/icons/edit.png [new file with mode: 0644]
webui/webapp/EventManager/icons/event_configurator.png [new file with mode: 0644]
webui/webapp/EventManager/icons/event_monitor.png [new file with mode: 0644]
webui/webapp/EventManager/icons/new.png [new file with mode: 0644]
webui/webapp/EventManager/plugin.xml [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/Activator.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/EventTemplateAdapterFactory.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/PreferenceInitializer.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 51% similarity]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/actions/OpenEventConfigurator.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/actions/OpenEventMonitor.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/actions/OpenSyslogMonitor.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/dialogs/EditEventTemplateDialog.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/dialogs/EventSelectionDialog.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/dialogs/helpers/EventListFilter.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/EventConfigurator.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/EventMonitor.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/SyslogMonitor.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/EventLabelProvider.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/EventMonitorFilter.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/EventTemplateComparator.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/EventTemplateLabelProvider.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/SyslogLabelProvider.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/SyslogMonitorFilter.java [new file with mode: 0644]
webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/widgets/EventSelector.java [new file with mode: 0644]
webui/webapp/ImageLibrary/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/ImageLibrary/.project [new file with mode: 0644]
webui/webapp/ImageLibrary/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
webui/webapp/ImageLibrary/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/ImageLibrary/build.properties [new file with mode: 0644]
webui/webapp/ImageLibrary/icons/imglib.png [new file with mode: 0644]
webui/webapp/ImageLibrary/icons/missing.png [new file with mode: 0644]
webui/webapp/ImageLibrary/plugin.xml [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/Activator.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/Messages.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/Startup.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/actions/OpenLibraryManager.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/dialogs/ImagePropertiesDialog.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/dialogs/ImageSelectionDialog.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/messages.properties [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/messages_ru.properties [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/shared/ImageProvider.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/shared/ImageUpdateListener.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/views/ImageLibrary.java [new file with mode: 0644]
webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/widgets/ImageSelector.java [new file with mode: 0644]
webui/webapp/NXSL/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/NXSL/.project [new file with mode: 0644]
webui/webapp/NXSL/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
webui/webapp/NXSL/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/NXSL/build.properties [new file with mode: 0644]
webui/webapp/NXSL/icons/constant.gif [new file with mode: 0644]
webui/webapp/NXSL/icons/delete.png [new file with mode: 0644]
webui/webapp/NXSL/icons/edit.png [new file with mode: 0644]
webui/webapp/NXSL/icons/editor.png [new file with mode: 0644]
webui/webapp/NXSL/icons/folder.png [new file with mode: 0644]
webui/webapp/NXSL/icons/function.gif [new file with mode: 0644]
webui/webapp/NXSL/icons/library.png [new file with mode: 0644]
webui/webapp/NXSL/icons/new.png [new file with mode: 0644]
webui/webapp/NXSL/icons/script.png [new file with mode: 0644]
webui/webapp/NXSL/icons/var_global.gif [new file with mode: 0644]
webui/webapp/NXSL/icons/var_local.gif [new file with mode: 0644]
webui/webapp/NXSL/plugin.xml [new file with mode: 0644]
webui/webapp/NXSL/resource.properties [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/Activator.java [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/actions/OpenScriptLibrary.java [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/dialogs/CreateScriptDialog.java [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/ScriptEditorView.java [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/ScriptLibrary.java [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/ScriptToolbox.java [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/helpers/ScriptComparator.java [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/helpers/ScriptLabelProvider.java [new file with mode: 0644]
webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/widgets/ScriptEditor.java [new file with mode: 0644]
webui/webapp/OSM/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/OSM/.project [new file with mode: 0644]
webui/webapp/OSM/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
webui/webapp/OSM/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/OSM/build.properties [new file with mode: 0644]
webui/webapp/OSM/icons/border_tile.png [new file with mode: 0644]
webui/webapp/OSM/icons/map.png [new file with mode: 0644]
webui/webapp/OSM/icons/missing_tile.png [new file with mode: 0644]
webui/webapp/OSM/plugin.xml [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/Activator.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/GeoLocationCache.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/GeoLocationCacheListener.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 59% similarity]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/Startup.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/actions/OpenLocationMap.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/actions/OpenWorldMap.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/Area.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/MapAccessor.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/MapLoader.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/QuadTree.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/TileSet.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 53% similarity]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/views/AbstractGeolocationView.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/views/LocationMap.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/views/WorldMap.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/widgets/GeoMapViewer.java [new file with mode: 0644]
webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/widgets/helpers/GeoMapListener.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 59% similarity]
webui/webapp/ObjectBrowser/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/ObjectBrowser/.project [new file with mode: 0644]
webui/webapp/ObjectBrowser/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/ObjectBrowser/build.properties [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/business_service.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/cluster.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/condition.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/container.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/dashboard.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/dashboard_root.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/interface.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/netmap.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/netmap_group.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/netmap_root.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/network.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/network_service.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/node.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/node_link.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/object_browser.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/policy.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/policy_group.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/policy_root.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/report.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/report_group.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/report_root.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/service.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/service_check.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/service_check_template.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/service_root.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/status/critical.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/status/disabled.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/status/major.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/status/minor.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/status/testing.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/status/unknown.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/status/unmanaged.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/status/warning.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/subnet.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/template.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/template_group.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/template_root.png [new file with mode: 0644]
webui/webapp/ObjectBrowser/icons/zone.gif [new file with mode: 0644]
webui/webapp/ObjectBrowser/plugin.xml [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/Activator.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/ObjectAdapterFactory.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/ObjectDecorator.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/PreferenceInitializer.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 53% similarity]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/actions/OpenObjectBrowser.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/dialogs/ChildObjectListDialog.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/dialogs/CreateObjectDialog.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/dialogs/IPAddressSelectionDialog.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/dialogs/ObjectSelectionDialog.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/messages.properties [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/messages_ru.properties [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/views/ObjectBrowser.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/IPAddressSelector.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/ObjectList.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/ObjectSelector.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/ObjectTree.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/AddressListLabelProvider.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/ObjectListFilter.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/ObjectTreeComparator.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/ObjectTreeContentProvider.java [new file with mode: 0644]
webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/ObjectTreeFilter.java [new file with mode: 0644]
webui/webapp/ObjectManager/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/ObjectManager/.project [new file with mode: 0644]
webui/webapp/ObjectManager/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/ObjectManager/build.properties [new file with mode: 0644]
webui/webapp/ObjectManager/icons/delete.png [new file with mode: 0644]
webui/webapp/ObjectManager/icons/poller_view.png [new file with mode: 0644]
webui/webapp/ObjectManager/plugin.xml [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/Activator.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/AbstractNodePoll.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/AddClusterNode.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/BindObject.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/ChangeZone.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/ConfigurationPoll.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 59% similarity]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateCluster.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateCondition.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateContainer.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateNetworkService.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateNode.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateZone.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/DeleteObject.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/InterfacePoll.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 59% similarity]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/Manage.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/MultipleObjectAction.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/RemoveClusterNode.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/StatusPoll.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 59% similarity]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/TopologyPoll.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 59% similarity]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/UnbindObject.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/Unmanage.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/AttributeEditDialog.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/ConditionDciEditDialog.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/CreateNetworkServiceDialog.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/CreateNodeDialog.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/CreateZoneDialog.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/EditClusterResourceDialog.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/ZoneSelectionDialog.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AccessControl.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AutoApply.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AutoBind.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ClusterResources.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/Comments.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/Communication.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ConditionData.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ConditionEvents.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ConditionScript.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/CustomAttributes.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/General.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/Location.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/MapAppearance.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/NetworkServicePolling.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/NodePolling.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/StatusCalculation.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/TrustedNodes.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ZoneCommunications.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/AccessListComparator.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/AccessListLabelProvider.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/AttrListLabelProvider.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/AttrViewerComparator.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/DciListLabelProvider.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/ResourceListComparator.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/ResourceListLabelProvider.java [new file with mode: 0644]
webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/views/NodePollerView.java [new file with mode: 0644]
webui/webapp/ObjectView/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/ObjectView/.project [new file with mode: 0644]
webui/webapp/ObjectView/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/ObjectView/build.properties [new file with mode: 0644]
webui/webapp/ObjectView/icons/cluster.png [new file with mode: 0644]
webui/webapp/ObjectView/icons/object_details.png [new file with mode: 0644]
webui/webapp/ObjectView/icons/overview_tab.gif [new file with mode: 0644]
webui/webapp/ObjectView/icons/restart.png [new file with mode: 0644]
webui/webapp/ObjectView/icons/shutdown.png [new file with mode: 0644]
webui/webapp/ObjectView/icons/wol.png [new file with mode: 0644]
webui/webapp/ObjectView/plugin.xml [new file with mode: 0644]
webui/webapp/ObjectView/schema/org.netxms.ui.eclipse.objectview.tabs.exsd [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/Activator.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/actions/ShowObjectDetailsView.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/ObjectOverview.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/ObjectTab.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/AvailabilityChart.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/Capabilities.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/Commands.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/Comments.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/Connection.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/GeneralInfo.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/OverviewPageElement.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/TableElement.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/services/SourceProvider.java [new file with mode: 0644]
webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/views/TabbedObjectView.java [new file with mode: 0644]
webui/webapp/SNMP/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/SNMP/.project [new file with mode: 0644]
webui/webapp/SNMP/.settings/org.eclipse.jdt.core.prefs [new file with mode: 0644]
webui/webapp/SNMP/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/SNMP/build.properties [new file with mode: 0644]
webui/webapp/SNMP/icons/delete.png [new file with mode: 0644]
webui/webapp/SNMP/icons/edit.png [new file with mode: 0644]
webui/webapp/SNMP/icons/mibexplorer.gif [new file with mode: 0644]
webui/webapp/SNMP/icons/new.png [new file with mode: 0644]
webui/webapp/SNMP/icons/trapeditor.png [new file with mode: 0644]
webui/webapp/SNMP/plugin.xml [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/Activator.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/SnmpConstants.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/Startup.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/actions/OpenMibExplorer.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/actions/OpenMibExplorerForNode.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/actions/OpenTrapEditor.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/dialogs/MibSelectionDialog.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/dialogs/ParamMappingEditDialog.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/dialogs/TrapConfigurationDialog.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/dialogs/helpers/ParamMappingLabelProvider.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/MibExplorer.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/SnmpTrapEditor.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/helpers/SnmpTrapComparator.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/helpers/SnmpTrapLabelProvider.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/helpers/SnmpValueLabelProvider.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/MibBrowser.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/MibObjectDetails.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/helpers/MibObjectComparator.java [copied from webui/webapp/Core/src/org/netxms/ui/eclipse/shared/SharedColors.java with 57% similarity]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/helpers/MibTreeContentProvider.java [new file with mode: 0644]
webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/helpers/MibTreeLabelProvider.java [new file with mode: 0644]
webui/webapp/UserManager/.classpath [copied from webui/webapp/Core/.classpath with 53% similarity]
webui/webapp/UserManager/.project [new file with mode: 0644]
webui/webapp/UserManager/META-INF/MANIFEST.MF [new file with mode: 0644]
webui/webapp/UserManager/build.properties [new file with mode: 0644]
webui/webapp/UserManager/icons/change_password.png [new file with mode: 0644]
webui/webapp/UserManager/icons/group.png [new file with mode: 0644]
webui/webapp/UserManager/icons/group_add.png [new file with mode: 0644]
webui/webapp/UserManager/icons/password.png [new file with mode: 0644]
webui/webapp/UserManager/icons/user.png [new file with mode: 0644]
webui/webapp/UserManager/icons/user_add.png [new file with mode: 0644]
webui/webapp/UserManager/icons/user_delete.png [new file with mode: 0644]
webui/webapp/UserManager/icons/user_edit.png [new file with mode: 0644]
webui/webapp/UserManager/icons/user_manager.png [new file with mode: 0644]
webui/webapp/UserManager/plugin.xml [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/Activator.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/UserAdapterFactory.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/UserComparator.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/UserLabelProvider.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/actions/ChangePassword.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/actions/OpenUserManager.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/dialogs/ChangePasswordDialog.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/dialogs/CreateObjectDialog.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/dialogs/SelectUserDialog.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/propertypages/Authentication.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/propertypages/General.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/propertypages/Members.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/propertypages/SystemRights.java [new file with mode: 0644]
webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/views/UserManagementView.java [new file with mode: 0644]
webui/webapp/nebula/org.netxms.nebula.widgets.gallery/META-INF/MANIFEST.MF
webui/webapp/nebula/org.netxms.nebula.widgets.gallery/build.properties

index c76e3cc..bc78f57 100644 (file)
@@ -2722,6 +2722,43 @@ src/zlib/nxzlib.vcproj -text
 tools/flex_bison.rule -text
 tools/mc.rule -text
 tools/patch_config.status.pl -text
+webui/webapp/AlarmViewer/.settings/org.eclipse.core.resources.prefs -text
+webui/webapp/AlarmViewer/META-INF/MANIFEST.MF -text
+webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle.properties -text
+webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle_es.properties -text
+webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle_ru.properties -text
+webui/webapp/AlarmViewer/build.properties -text
+webui/webapp/AlarmViewer/icons/acknowledged.png -text
+webui/webapp/AlarmViewer/icons/alarm_browser.png -text
+webui/webapp/AlarmViewer/icons/outstanding.png -text
+webui/webapp/AlarmViewer/icons/terminated.png -text
+webui/webapp/AlarmViewer/plugin.xml -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/Activator.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmComparator.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmListFilter.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmListLabelProvider.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/Messages.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/AcknowledgeAlarm.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/OpenAlarmBrowser.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/TerminateAlarm.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/messages.properties -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/messages_es.properties -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/objecttabs/AlarmTab.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/views/AlarmBrowser.java -text
+webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/widgets/AlarmList.java -text
+webui/webapp/Charts/.settings/org.eclipse.jdt.core.prefs -text
+webui/webapp/Charts/META-INF/MANIFEST.MF -text
+webui/webapp/Charts/build.properties -text
+webui/webapp/Charts/plugin.xml -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/Activator.java -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/ChartColor.java -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/ChartPluginSharedData.java -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/DataChart.java -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/DataComparisonChart.java -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/HistoricalDataChart.java -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/preferencepages/ChartColors.java -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/preferencepages/GeneralChartPrefs.java -text
+webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/widgets/GenericChart.java -text
 webui/webapp/Core/.settings/org.eclipse.jdt.core.prefs -text
 webui/webapp/Core/META-INF/MANIFEST.MF -text
 webui/webapp/Core/build.properties -text
@@ -2759,9 +2796,6 @@ webui/webapp/Core/icons/status/unmanaged.png -text
 webui/webapp/Core/icons/status/warning.png -text
 webui/webapp/Core/icons/zoom_in.png -text
 webui/webapp/Core/icons/zoom_out.png -text
-webui/webapp/Core/jar/netxms-base-1.1.8.jar -text
-webui/webapp/Core/jar/netxms-client-1.1.8.jar -text
-webui/webapp/Core/jar/netxms-client-api-1.1.8.jar -text
 webui/webapp/Core/jar/simple-xml-2.4.1.jar -text
 webui/webapp/Core/plugin.xml -text
 webui/webapp/Core/src/org/netxms/ui/eclipse/actions/RefreshAction.java -text
@@ -2810,6 +2844,356 @@ webui/webapp/Core/src/org/netxms/webui/core/messages.properties -text
 webui/webapp/Core/src/org/netxms/webui/core/messages_es.properties -text
 webui/webapp/Core/src/org/netxms/webui/core/messages_ru.properties -text
 webui/webapp/Core/src/org/netxms/webui/tools/RWTHelper.java -text
+webui/webapp/DataCollection/.settings/org.eclipse.jdt.core.prefs -text
+webui/webapp/DataCollection/META-INF/MANIFEST.MF -text
+webui/webapp/DataCollection/build.properties -text
+webui/webapp/DataCollection/icons/active.gif -text
+webui/webapp/DataCollection/icons/dc_editor.png -text
+webui/webapp/DataCollection/icons/delete.png -text
+webui/webapp/DataCollection/icons/disabled.gif -text
+webui/webapp/DataCollection/icons/edit.png -text
+webui/webapp/DataCollection/icons/last_values.png -text
+webui/webapp/DataCollection/icons/new.png -text
+webui/webapp/DataCollection/icons/question.png -text
+webui/webapp/DataCollection/icons/threshold.png -text
+webui/webapp/DataCollection/icons/unsupported.gif -text
+webui/webapp/DataCollection/plugin.xml -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/Activator.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/DataCollectionAdapterFactory.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/DciComparator.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/ThresholdLabelProvider.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/ApplyTemplate.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateInterfraceDci.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateTemplate.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateTemplateGroup.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/OpenEditor.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/RemoveTemplate.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/ShowLastValues.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/ToggleDCIFilterHandler.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/AbstractSelectParamDlg.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/CreateInterfaceDciDialog.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/DciRemoveConfirmationDialog.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/EditScheduleDialog.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/EditThresholdDialog.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/IParameterSelectionDialog.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/SelectAgentParamDlg.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/SelectDciDialog.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/SelectInternalParamDlg.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/SelectSnmpParamDlg.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/helpers/AgentParameterComparator.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/helpers/AgentParameterFilter.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/helpers/AgentParameterLabelProvider.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/dialogs/helpers/InterfaceDciInfo.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/objecttabs/LastValues.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/CustomSchedule.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/General.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/Thresholds.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/propertypages/Transformation.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/views/DataCollectionEditor.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/views/LastValues.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/views/helpers/DciFilter.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/views/helpers/DciLabelProvider.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/DciList.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/LastValuesWidget.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/DciListComparator.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/DciListLabelProvider.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/LastValuesComparator.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/LastValuesFilter.java -text
+webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/widgets/internal/LastValuesLabelProvider.java -text
+webui/webapp/EventManager/.settings/org.eclipse.jdt.core.prefs -text
+webui/webapp/EventManager/META-INF/MANIFEST.MF -text
+webui/webapp/EventManager/build.properties -text
+webui/webapp/EventManager/icons/delete.png -text
+webui/webapp/EventManager/icons/edit.png -text
+webui/webapp/EventManager/icons/event_configurator.png -text
+webui/webapp/EventManager/icons/event_monitor.png -text
+webui/webapp/EventManager/icons/new.png -text
+webui/webapp/EventManager/plugin.xml -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/Activator.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/EventTemplateAdapterFactory.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/PreferenceInitializer.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/actions/OpenEventConfigurator.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/actions/OpenEventMonitor.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/actions/OpenSyslogMonitor.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/dialogs/EditEventTemplateDialog.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/dialogs/EventSelectionDialog.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/dialogs/helpers/EventListFilter.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/EventConfigurator.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/EventMonitor.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/SyslogMonitor.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/EventLabelProvider.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/EventMonitorFilter.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/EventTemplateComparator.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/EventTemplateLabelProvider.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/SyslogLabelProvider.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/views/helpers/SyslogMonitorFilter.java -text
+webui/webapp/EventManager/src/org/netxms/ui/eclipse/eventmanager/widgets/EventSelector.java -text
+webui/webapp/ImageLibrary/.settings/org.eclipse.jdt.core.prefs -text
+webui/webapp/ImageLibrary/META-INF/MANIFEST.MF -text
+webui/webapp/ImageLibrary/build.properties -text
+webui/webapp/ImageLibrary/icons/imglib.png -text
+webui/webapp/ImageLibrary/icons/missing.png -text
+webui/webapp/ImageLibrary/plugin.xml -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/Activator.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/Messages.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/Startup.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/actions/OpenLibraryManager.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/dialogs/ImagePropertiesDialog.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/dialogs/ImageSelectionDialog.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/messages.properties -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/messages_ru.properties -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/shared/ImageProvider.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/shared/ImageUpdateListener.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/views/ImageLibrary.java -text
+webui/webapp/ImageLibrary/src/org/netxms/ui/eclipse/imagelibrary/widgets/ImageSelector.java -text
+webui/webapp/NXSL/.settings/org.eclipse.jdt.core.prefs -text
+webui/webapp/NXSL/META-INF/MANIFEST.MF -text
+webui/webapp/NXSL/build.properties -text
+webui/webapp/NXSL/icons/constant.gif -text
+webui/webapp/NXSL/icons/delete.png -text
+webui/webapp/NXSL/icons/edit.png -text
+webui/webapp/NXSL/icons/editor.png -text
+webui/webapp/NXSL/icons/folder.png -text
+webui/webapp/NXSL/icons/function.gif -text
+webui/webapp/NXSL/icons/library.png -text
+webui/webapp/NXSL/icons/new.png -text
+webui/webapp/NXSL/icons/script.png -text
+webui/webapp/NXSL/icons/var_global.gif -text
+webui/webapp/NXSL/icons/var_local.gif -text
+webui/webapp/NXSL/plugin.xml -text
+webui/webapp/NXSL/resource.properties -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/Activator.java -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/actions/OpenScriptLibrary.java -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/dialogs/CreateScriptDialog.java -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/ScriptEditorView.java -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/ScriptLibrary.java -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/ScriptToolbox.java -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/helpers/ScriptComparator.java -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/views/helpers/ScriptLabelProvider.java -text
+webui/webapp/NXSL/src/org/netxms/ui/eclipse/nxsl/widgets/ScriptEditor.java -text
+webui/webapp/OSM/.settings/org.eclipse.jdt.core.prefs -text
+webui/webapp/OSM/META-INF/MANIFEST.MF -text
+webui/webapp/OSM/build.properties -text
+webui/webapp/OSM/icons/border_tile.png -text
+webui/webapp/OSM/icons/map.png -text
+webui/webapp/OSM/icons/missing_tile.png -text
+webui/webapp/OSM/plugin.xml -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/Activator.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/GeoLocationCache.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/GeoLocationCacheListener.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/Startup.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/actions/OpenLocationMap.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/actions/OpenWorldMap.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/Area.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/MapAccessor.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/MapLoader.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/QuadTree.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/tools/TileSet.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/views/AbstractGeolocationView.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/views/LocationMap.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/views/WorldMap.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/widgets/GeoMapViewer.java -text
+webui/webapp/OSM/src/org/netxms/ui/eclipse/osm/widgets/helpers/GeoMapListener.java -text
+webui/webapp/ObjectBrowser/META-INF/MANIFEST.MF -text
+webui/webapp/ObjectBrowser/build.properties -text
+webui/webapp/ObjectBrowser/icons/business_service.png -text
+webui/webapp/ObjectBrowser/icons/cluster.png -text
+webui/webapp/ObjectBrowser/icons/condition.gif -text
+webui/webapp/ObjectBrowser/icons/container.png -text
+webui/webapp/ObjectBrowser/icons/dashboard.gif -text
+webui/webapp/ObjectBrowser/icons/dashboard_root.gif -text
+webui/webapp/ObjectBrowser/icons/interface.png -text
+webui/webapp/ObjectBrowser/icons/netmap.png -text
+webui/webapp/ObjectBrowser/icons/netmap_group.png -text
+webui/webapp/ObjectBrowser/icons/netmap_root.gif -text
+webui/webapp/ObjectBrowser/icons/network.png -text
+webui/webapp/ObjectBrowser/icons/network_service.png -text
+webui/webapp/ObjectBrowser/icons/node.png -text
+webui/webapp/ObjectBrowser/icons/node_link.png -text
+webui/webapp/ObjectBrowser/icons/object_browser.gif -text
+webui/webapp/ObjectBrowser/icons/policy.png -text
+webui/webapp/ObjectBrowser/icons/policy_group.png -text
+webui/webapp/ObjectBrowser/icons/policy_root.gif -text
+webui/webapp/ObjectBrowser/icons/report.png -text
+webui/webapp/ObjectBrowser/icons/report_group.png -text
+webui/webapp/ObjectBrowser/icons/report_root.gif -text
+webui/webapp/ObjectBrowser/icons/service.png -text
+webui/webapp/ObjectBrowser/icons/service_check.gif -text
+webui/webapp/ObjectBrowser/icons/service_check_template.gif -text
+webui/webapp/ObjectBrowser/icons/service_root.png -text
+webui/webapp/ObjectBrowser/icons/status/critical.png -text
+webui/webapp/ObjectBrowser/icons/status/disabled.gif -text
+webui/webapp/ObjectBrowser/icons/status/major.png -text
+webui/webapp/ObjectBrowser/icons/status/minor.png -text
+webui/webapp/ObjectBrowser/icons/status/testing.png -text
+webui/webapp/ObjectBrowser/icons/status/unknown.gif -text
+webui/webapp/ObjectBrowser/icons/status/unmanaged.gif -text
+webui/webapp/ObjectBrowser/icons/status/warning.png -text
+webui/webapp/ObjectBrowser/icons/subnet.png -text
+webui/webapp/ObjectBrowser/icons/template.png -text
+webui/webapp/ObjectBrowser/icons/template_group.png -text
+webui/webapp/ObjectBrowser/icons/template_root.png -text
+webui/webapp/ObjectBrowser/icons/zone.gif -text
+webui/webapp/ObjectBrowser/plugin.xml -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/Activator.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/ObjectAdapterFactory.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/ObjectDecorator.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/PreferenceInitializer.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/actions/OpenObjectBrowser.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/dialogs/ChildObjectListDialog.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/dialogs/CreateObjectDialog.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/dialogs/IPAddressSelectionDialog.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/dialogs/ObjectSelectionDialog.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/messages.properties -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/messages_ru.properties -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/views/ObjectBrowser.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/IPAddressSelector.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/ObjectList.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/ObjectSelector.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/ObjectTree.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/AddressListLabelProvider.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/ObjectListFilter.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/ObjectTreeComparator.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/ObjectTreeContentProvider.java -text
+webui/webapp/ObjectBrowser/src/org/netxms/ui/eclipse/objectbrowser/widgets/internal/ObjectTreeFilter.java -text
+webui/webapp/ObjectManager/META-INF/MANIFEST.MF -text
+webui/webapp/ObjectManager/build.properties -text
+webui/webapp/ObjectManager/icons/delete.png -text
+webui/webapp/ObjectManager/icons/poller_view.png -text
+webui/webapp/ObjectManager/plugin.xml -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/Activator.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/AbstractNodePoll.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/AddClusterNode.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/BindObject.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/ChangeZone.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/ConfigurationPoll.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateCluster.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateCondition.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateContainer.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateNetworkService.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateNode.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/CreateZone.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/DeleteObject.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/InterfacePoll.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/Manage.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/MultipleObjectAction.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/RemoveClusterNode.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/StatusPoll.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/TopologyPoll.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/UnbindObject.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/actions/Unmanage.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/AttributeEditDialog.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/ConditionDciEditDialog.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/CreateNetworkServiceDialog.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/CreateNodeDialog.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/CreateZoneDialog.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/EditClusterResourceDialog.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/dialogs/ZoneSelectionDialog.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AccessControl.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AutoApply.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/AutoBind.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ClusterResources.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/Comments.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/Communication.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ConditionData.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ConditionEvents.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ConditionScript.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/CustomAttributes.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/General.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/Location.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/MapAppearance.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/NetworkServicePolling.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/NodePolling.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/StatusCalculation.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/TrustedNodes.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/ZoneCommunications.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/AccessListComparator.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/AccessListLabelProvider.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/AttrListLabelProvider.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/AttrViewerComparator.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/DciListLabelProvider.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/ResourceListComparator.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/propertypages/helpers/ResourceListLabelProvider.java -text
+webui/webapp/ObjectManager/src/org/netxms/ui/eclipse/objectmanager/views/NodePollerView.java -text
+webui/webapp/ObjectView/META-INF/MANIFEST.MF -text
+webui/webapp/ObjectView/build.properties -text
+webui/webapp/ObjectView/icons/cluster.png -text
+webui/webapp/ObjectView/icons/object_details.png -text
+webui/webapp/ObjectView/icons/overview_tab.gif -text
+webui/webapp/ObjectView/icons/restart.png -text
+webui/webapp/ObjectView/icons/shutdown.png -text
+webui/webapp/ObjectView/icons/wol.png -text
+webui/webapp/ObjectView/plugin.xml -text
+webui/webapp/ObjectView/schema/org.netxms.ui.eclipse.objectview.tabs.exsd -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/Activator.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/actions/ShowObjectDetailsView.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/ObjectOverview.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/ObjectTab.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/AvailabilityChart.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/Capabilities.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/Commands.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/Comments.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/Connection.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/GeneralInfo.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/OverviewPageElement.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/objecttabs/elements/TableElement.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/services/SourceProvider.java -text
+webui/webapp/ObjectView/src/org/netxms/ui/eclipse/objectview/views/TabbedObjectView.java -text
+webui/webapp/SNMP/.settings/org.eclipse.jdt.core.prefs -text
+webui/webapp/SNMP/META-INF/MANIFEST.MF -text
+webui/webapp/SNMP/build.properties -text
+webui/webapp/SNMP/icons/delete.png -text
+webui/webapp/SNMP/icons/edit.png -text
+webui/webapp/SNMP/icons/mibexplorer.gif -text
+webui/webapp/SNMP/icons/new.png -text
+webui/webapp/SNMP/icons/trapeditor.png -text
+webui/webapp/SNMP/plugin.xml -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/Activator.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/SnmpConstants.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/Startup.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/actions/OpenMibExplorer.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/actions/OpenMibExplorerForNode.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/actions/OpenTrapEditor.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/dialogs/MibSelectionDialog.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/dialogs/ParamMappingEditDialog.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/dialogs/TrapConfigurationDialog.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/dialogs/helpers/ParamMappingLabelProvider.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/MibExplorer.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/SnmpTrapEditor.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/helpers/SnmpTrapComparator.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/helpers/SnmpTrapLabelProvider.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/views/helpers/SnmpValueLabelProvider.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/MibBrowser.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/MibObjectDetails.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/helpers/MibObjectComparator.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/helpers/MibTreeContentProvider.java -text
+webui/webapp/SNMP/src/org/netxms/ui/eclipse/snmp/widgets/helpers/MibTreeLabelProvider.java -text
+webui/webapp/UserManager/META-INF/MANIFEST.MF -text
+webui/webapp/UserManager/build.properties -text
+webui/webapp/UserManager/icons/change_password.png -text
+webui/webapp/UserManager/icons/group.png -text
+webui/webapp/UserManager/icons/group_add.png -text
+webui/webapp/UserManager/icons/password.png -text
+webui/webapp/UserManager/icons/user.png -text
+webui/webapp/UserManager/icons/user_add.png -text
+webui/webapp/UserManager/icons/user_delete.png -text
+webui/webapp/UserManager/icons/user_edit.png -text
+webui/webapp/UserManager/icons/user_manager.png -text
+webui/webapp/UserManager/plugin.xml -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/Activator.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/UserAdapterFactory.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/UserComparator.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/UserLabelProvider.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/actions/ChangePassword.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/actions/OpenUserManager.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/dialogs/ChangePasswordDialog.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/dialogs/CreateObjectDialog.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/dialogs/SelectUserDialog.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/propertypages/Authentication.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/propertypages/General.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/propertypages/Members.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/propertypages/SystemRights.java -text
+webui/webapp/UserManager/src/org/netxms/ui/eclipse/usermanager/views/UserManagementView.java -text
 webui/webapp/nebula/org.netxms.nebula.widgets.gallery/META-INF/MANIFEST.MF -text
 webui/webapp/nebula/org.netxms.nebula.widgets.gallery/build.properties -text
 webui/webapp/nebula/org.netxms.nebula.widgets.gallery/pom.xml -text
similarity index 53%
copy from webui/webapp/Core/.classpath
copy to webui/webapp/AlarmViewer/.classpath
index 9d79203..ad32c83 100644 (file)
@@ -1,9 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-client-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-client-api-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-base-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/simple-xml-2.4.1.jar"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        <classpathentry kind="src" path="src"/>
diff --git a/webui/webapp/AlarmViewer/.project b/webui/webapp/AlarmViewer/.project
new file mode 100644 (file)
index 0000000..e221893
--- /dev/null
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>AlarmViewer</name>
+       <comment></comment>
+       <projects>
+               <project>nxmc-core</project>
+               <project>nxmc-library</project>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.ManifestBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.SchemaBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.PluginNature</nature>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+       </natures>
+</projectDescription>
diff --git a/webui/webapp/AlarmViewer/.settings/org.eclipse.core.resources.prefs b/webui/webapp/AlarmViewer/.settings/org.eclipse.core.resources.prefs
new file mode 100644 (file)
index 0000000..2712cdc
--- /dev/null
@@ -0,0 +1,3 @@
+#Mon Nov 28 00:53:13 EET 2011\r
+eclipse.preferences.version=1\r
+encoding//src/org/netxms/ui/eclipse/alarmviewer/messages.properties=ISO-8859-1\r
diff --git a/webui/webapp/AlarmViewer/META-INF/MANIFEST.MF b/webui/webapp/AlarmViewer/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..5716683
--- /dev/null
@@ -0,0 +1,14 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: NXMC Alarm Viewer Plug-in
+Bundle-SymbolicName: org.netxms.ui.eclipse.alarmviewer;singleton:=true
+Bundle-Version: 1.1.9
+Bundle-Activator: org.netxms.ui.eclipse.alarmviewer.Activator
+Bundle-Vendor: netxms.org
+Require-Bundle: org.netxms.ui.eclipse.objectview;bundle-version="1.1.8",
+ org.netxms.webui.core;bundle-version="1.1.7",
+ org.eclipse.rap.ui;bundle-version="1.4.1"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Bundle-ClassPath: .
+Export-Package: org.netxms.ui.eclipse.alarmviewer.widgets
diff --git a/webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle.properties b/webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle.properties
new file mode 100644 (file)
index 0000000..943f1a0
--- /dev/null
@@ -0,0 +1,6 @@
+action.acknowledge=Acknowledge\r
+action.openAlarmBrowser=Alarm Browser\r
+action.terminate=Terminate\r
+actionDescription.openAlarmBrowser=Open Alarm Browser\r
+tab.Alarms=Alarms\r
+view.AlarmBrowser=Alarm Browser\r
diff --git a/webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle_es.properties b/webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle_es.properties
new file mode 100644 (file)
index 0000000..fdc18e6
--- /dev/null
@@ -0,0 +1,6 @@
+action.acknowledge=Aceptar\r
+action.openAlarmBrowser=Explorador de Alarmas\r
+action.terminate=Terminar\r
+actionDescription.openAlarmBrowser=Abrir el Explorador de Alarmas\r
+tab.Alarms=Alarmas\r
+view.AlarmBrowser=Explorador de Alarmas
\ No newline at end of file
diff --git a/webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle_ru.properties b/webui/webapp/AlarmViewer/OSGI-INF/l10n/bundle_ru.properties
new file mode 100644 (file)
index 0000000..943f1a0
--- /dev/null
@@ -0,0 +1,6 @@
+action.acknowledge=Acknowledge\r
+action.openAlarmBrowser=Alarm Browser\r
+action.terminate=Terminate\r
+actionDescription.openAlarmBrowser=Open Alarm Browser\r
+tab.Alarms=Alarms\r
+view.AlarmBrowser=Alarm Browser\r
diff --git a/webui/webapp/AlarmViewer/build.properties b/webui/webapp/AlarmViewer/build.properties
new file mode 100644 (file)
index 0000000..a53e488
--- /dev/null
@@ -0,0 +1,11 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = plugin.xml,\\r
+               META-INF/,\\r
+               .,\\r
+               icons/,\\r
+               OSGI-INF/\r
+bin.excludes = icons/.svn/,\\r
+               META-INF/.svn/,\\r
+               OSGI-INF/.svn/,\\r
+               OSGI-INF/l10n/.svn/\r
diff --git a/webui/webapp/AlarmViewer/icons/acknowledged.png b/webui/webapp/AlarmViewer/icons/acknowledged.png
new file mode 100644 (file)
index 0000000..e4bc611
Binary files /dev/null and b/webui/webapp/AlarmViewer/icons/acknowledged.png differ
diff --git a/webui/webapp/AlarmViewer/icons/alarm_browser.png b/webui/webapp/AlarmViewer/icons/alarm_browser.png
new file mode 100644 (file)
index 0000000..6e0015d
Binary files /dev/null and b/webui/webapp/AlarmViewer/icons/alarm_browser.png differ
diff --git a/webui/webapp/AlarmViewer/icons/outstanding.png b/webui/webapp/AlarmViewer/icons/outstanding.png
new file mode 100644 (file)
index 0000000..14c89a5
Binary files /dev/null and b/webui/webapp/AlarmViewer/icons/outstanding.png differ
diff --git a/webui/webapp/AlarmViewer/icons/terminated.png b/webui/webapp/AlarmViewer/icons/terminated.png
new file mode 100644 (file)
index 0000000..1514d51
Binary files /dev/null and b/webui/webapp/AlarmViewer/icons/terminated.png differ
diff --git a/webui/webapp/AlarmViewer/plugin.xml b/webui/webapp/AlarmViewer/plugin.xml
new file mode 100644 (file)
index 0000000..025c330
--- /dev/null
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+   <extension\r
+         point="org.eclipse.ui.views">\r
+      <view\r
+            name="%view.AlarmBrowser"\r
+            allowMultiple="false"\r
+            icon="icons/alarm_browser.png"\r
+            class="org.netxms.ui.eclipse.alarmviewer.views.AlarmBrowser"\r
+            id="org.netxms.ui.eclipse.alarmviewer.view.alarm_browser">\r
+      </view>\r
+   </extension>\r
+\r
+   <extension\r
+         point="org.eclipse.ui.commands">\r
+      <command\r
+            name="%action.openAlarmBrowser"\r
+            description="%actionDescription.openAlarmBrowser"\r
+            categoryId="org.netxms.ui.eclipse.console.category.views"\r
+            id="org.netxms.ui.eclipse.alarmviewer.commands.open_alarm_browser">\r
+      </command>\r
+   </extension>\r
+   \r
+   <extension point = "org.eclipse.ui.actionSets">\r
+          <actionSet id="org.netxms.ui.eclipse.action_set.alarm_browser"\r
+                  label="Alarm Browser"\r
+                  visible="true">\r
+                  <action id="org.netxms.ui.eclipse.alarmviewer.actions.open"\r
+                          menubarPath="view/primary"\r
+                          toolbarPath="view/additions"\r
+                          label="%action.openAlarmBrowser"\r
+                          tooltip="%actionDescription.openAlarmBrowser"\r
+                          icon="icons/alarm_browser.png"\r
+                          class="org.netxms.ui.eclipse.alarmviewer.actions.OpenAlarmBrowser"\r
+                          definitionId="org.netxms.ui.eclipse.alarmviewer.commands.open_alarm_browser">\r
+                  </action>\r
+          </actionSet>\r
+   </extension>\r
+\r
+   <extension\r
+         point="org.eclipse.ui.bindings">\r
+      <key\r
+            commandId="org.netxms.ui.eclipse.alarmviewer.commands.open_alarm_browser"\r
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"\r
+            sequence="F8">\r
+      </key>\r
+   </extension>\r
+\r
+   <extension\r
+         point="org.eclipse.ui.popupMenus">\r
+      <objectContribution\r
+            id="org.netxms.ui.eclipse.alarmviewer.actions.popup.Alarm"\r
+            objectClass="org.netxms.client.events.Alarm">\r
+         <action\r
+               class="org.netxms.ui.eclipse.alarmviewer.actions.TerminateAlarm"\r
+               id="org.netxms.ui.eclipse.alarmviewer.popupActions.TerminateAlarm"\r
+               label="%action.terminate"\r
+                      icon="icons/terminated.png"\r
+               menubarPath="additions">\r
+         </action>\r
+         <action\r
+               class="org.netxms.ui.eclipse.alarmviewer.actions.AcknowledgeAlarm"\r
+               icon="icons/acknowledged.png"\r
+               id="org.netxms.ui.eclipse.alarmviewer.popupActions.AcknowledgeAlarm"\r
+               label="%action.acknowledge"\r
+               menubarPath="additions">\r
+         </action>\r
+      </objectContribution>\r
+   </extension>\r
+\r
+   <extension\r
+         point="org.netxms.ui.eclipse.objectview.tabs">\r
+      <tab\r
+            class="org.netxms.ui.eclipse.alarmviewer.objecttabs.AlarmTab"\r
+            icon="icons/alarm_browser.png"\r
+            name="%tab.Alarms"\r
+            order="10">\r
+      </tab>\r
+   </extension>\r
+\r
+</plugin>\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/Activator.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/Activator.java
new file mode 100644 (file)
index 0000000..f368060
--- /dev/null
@@ -0,0 +1,87 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer;\r
+\r
+import org.eclipse.jface.resource.ImageDescriptor;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.eclipse.ui.plugin.AbstractUIPlugin;\r
+import org.eclipse.ui.progress.IProgressService;\r
+import org.netxms.ui.eclipse.alarmviewer.widgets.AlarmList;\r
+import org.osgi.framework.BundleContext;\r
+\r
+/**\r
+ * The activator class controls the plug-in life cycle\r
+ */\r
+public class Activator extends AbstractUIPlugin\r
+{\r
+       // The plug-in ID\r
+       public static final String PLUGIN_ID = "org.netxms.ui.eclipse.alarmviewer"; //$NON-NLS-1$\r
+\r
+       // The shared instance\r
+       private static Activator plugin;\r
+       \r
+       /**\r
+        * The constructor\r
+        */\r
+       public Activator()\r
+       {\r
+       }\r
+\r
+       /*\r
+        * (non-Javadoc)\r
+        * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)\r
+        */\r
+       public void start(BundleContext context) throws Exception\r
+       {\r
+               super.start(context);\r
+               plugin = this;\r
+       }\r
+       \r
+       /*\r
+        * (non-Javadoc)\r
+        * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)\r
+        */\r
+       public void stop(BundleContext context) throws Exception\r
+       {\r
+               plugin = null;\r
+               super.stop(context);\r
+       }\r
+\r
+       /**\r
+        * Returns the shared instance\r
+        *\r
+        * @return the shared instance\r
+        */\r
+       public static Activator getDefault()\r
+       {\r
+               return plugin;\r
+       }\r
+\r
+       /**\r
+        * Returns an image descriptor for the image file at the given\r
+        * plug-in relative path\r
+        *\r
+        * @param path the path\r
+        * @return the image descriptor\r
+        */\r
+       public static ImageDescriptor getImageDescriptor(String path)\r
+       {\r
+               return imageDescriptorFromPlugin(PLUGIN_ID, path);\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmComparator.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmComparator.java
new file mode 100644 (file)
index 0000000..aede063
--- /dev/null
@@ -0,0 +1,85 @@
+/**\r
+ * \r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer;\r
+\r
+import org.eclipse.jface.viewers.TableViewer;\r
+import org.eclipse.jface.viewers.Viewer;\r
+import org.eclipse.jface.viewers.ViewerComparator;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.widgets.TableColumn;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.events.Alarm;\r
+import org.netxms.client.objects.GenericObject;\r
+import org.netxms.ui.eclipse.alarmviewer.widgets.AlarmList;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+/**\r
+ * @author victor\r
+ *\r
+ */\r
+public class AlarmComparator extends ViewerComparator\r
+{\r
+       /**\r
+        * \r
+        */\r
+       public AlarmComparator()\r
+       {\r
+               super();\r
+       }\r
+       \r
+       \r
+       /**\r
+        * Compare two numbers and return -1, 0, or 1\r
+        */\r
+       private int compareNumbers(long n1, long n2)\r
+       {\r
+               return (n1 < n2) ? -1 : ((n1 > n2) ? 1 : 0);\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)\r
+        */\r
+       @Override\r
+       public int compare(Viewer viewer, Object e1, Object e2)\r
+       {\r
+               TableColumn sortColumn = ((TableViewer)viewer).getTable().getSortColumn();\r
+               if (sortColumn == null)\r
+                       return 0;\r
+               \r
+               int rc;\r
+               switch((Integer)sortColumn.getData("ID")) //$NON-NLS-1$\r
+               {\r
+                       case AlarmList.COLUMN_SEVERITY:\r
+                               rc = compareNumbers(((Alarm)e1).getCurrentSeverity(), ((Alarm)e2).getCurrentSeverity());\r
+                               break;\r
+                       case AlarmList.COLUMN_STATE:\r
+                               rc = compareNumbers(((Alarm)e1).getState(), ((Alarm)e2).getState());\r
+                               break;\r
+                       case AlarmList.COLUMN_SOURCE:\r
+                               GenericObject obj1 = ((NXCSession)ConsoleSharedData.getSession()).findObjectById(((Alarm)e1).getSourceObjectId());\r
+                               GenericObject obj2 = ((NXCSession)ConsoleSharedData.getSession()).findObjectById(((Alarm)e2).getSourceObjectId());\r
+                               String name1 = (obj1 != null) ? obj1.getObjectName() : Messages.AlarmComparator_Unknown;\r
+                               String name2 = (obj2 != null) ? obj2.getObjectName() : Messages.AlarmComparator_Unknown;\r
+                               rc = name1.compareToIgnoreCase(name2);\r
+                               break;\r
+                       case AlarmList.COLUMN_MESSAGE:\r
+                               rc = ((Alarm)e1).getMessage().compareToIgnoreCase(((Alarm)e2).getMessage());\r
+                               break;\r
+                       case AlarmList.COLUMN_COUNT:\r
+                               rc = compareNumbers(((Alarm)e1).getRepeatCount(), ((Alarm)e2).getRepeatCount());\r
+                               break;\r
+                       case AlarmList.COLUMN_CREATED:\r
+                               rc = ((Alarm)e1).getCreationTime().compareTo(((Alarm)e2).getCreationTime());\r
+                               break;\r
+                       case AlarmList.COLUMN_LASTCHANGE:\r
+                               rc = ((Alarm)e1).getLastChangeTime().compareTo(((Alarm)e2).getLastChangeTime());\r
+                               break;\r
+                       default:\r
+                               rc = 0;\r
+                               break;\r
+               }\r
+               int dir = ((TableViewer)viewer).getTable().getSortDirection();\r
+               return (dir == SWT.UP) ? rc : -rc;\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmListFilter.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmListFilter.java
new file mode 100644 (file)
index 0000000..7708795
--- /dev/null
@@ -0,0 +1,66 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer;\r
+\r
+import org.eclipse.jface.viewers.Viewer;\r
+import org.eclipse.jface.viewers.ViewerFilter;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.events.Alarm;\r
+import org.netxms.client.objects.GenericObject;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+/**\r
+ * Filter for alarm list\r
+ *\r
+ */\r
+public class AlarmListFilter extends ViewerFilter\r
+{\r
+       private long rootObject;\r
+       \r
+       /**\r
+        * \r
+        */\r
+       public AlarmListFilter()\r
+       {\r
+               rootObject = 0;\r
+       }\r
+       \r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)\r
+        */\r
+       @Override\r
+       public boolean select(Viewer viewer, Object parentElement, Object element)\r
+       {\r
+               if ((rootObject == 0) || (rootObject == ((Alarm)element).getSourceObjectId()))\r
+                       return true;    // No filtering by object ID or root object is a source\r
+               \r
+               GenericObject object = ((NXCSession)ConsoleSharedData.getSession()).findObjectById(((Alarm)element).getSourceObjectId());\r
+               if (object != null)\r
+                       return object.isChildOf(rootObject);\r
+               return false;\r
+       }\r
+\r
+       /**\r
+        * @param rootObject the rootObject to set\r
+        */\r
+       public final void setRootObject(long rootObject)\r
+       {\r
+               this.rootObject = rootObject;\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmListLabelProvider.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/AlarmListLabelProvider.java
new file mode 100644 (file)
index 0000000..51e0b78
--- /dev/null
@@ -0,0 +1,143 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer;\r
+\r
+import java.text.DateFormat;\r
+\r
+import org.eclipse.jface.viewers.ILabelProviderListener;\r
+import org.eclipse.jface.viewers.ITableLabelProvider;\r
+import org.eclipse.swt.graphics.Image;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.constants.Severity;\r
+import org.netxms.client.events.Alarm;\r
+import org.netxms.client.objects.GenericObject;\r
+import org.netxms.ui.eclipse.alarmviewer.widgets.AlarmList;\r
+import org.netxms.ui.eclipse.console.resources.StatusDisplayInfo;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+\r
+/**\r
+ * Label provider for alarm list\r
+ *\r
+ */\r
+public class AlarmListLabelProvider implements ITableLabelProvider\r
+{\r
+       // Constants\r
+       private static final String[] stateText = { Messages.AlarmListLabelProvider_AlarmState_Outstanding, Messages.AlarmListLabelProvider_AlarmState_Acknowledged, Messages.AlarmListLabelProvider_AlarmState_Terminated };\r
+       \r
+       // Severity images\r
+       private Image[] severityImages = new Image[5];\r
+       private Image[] stateImages = new Image[3];\r
+       \r
+       /**\r
+        * Default constructor \r
+        */\r
+       public AlarmListLabelProvider()\r
+       {\r
+               super();\r
+\r
+               severityImages[Severity.NORMAL] = StatusDisplayInfo.getStatusImage(Severity.NORMAL);\r
+               severityImages[Severity.WARNING] = StatusDisplayInfo.getStatusImage(Severity.WARNING);\r
+               severityImages[Severity.MINOR] = StatusDisplayInfo.getStatusImage(Severity.MINOR);\r
+               severityImages[Severity.MAJOR] = StatusDisplayInfo.getStatusImage(Severity.MAJOR);\r
+               severityImages[Severity.CRITICAL] = StatusDisplayInfo.getStatusImage(Severity.CRITICAL);\r
+\r
+               stateImages[0] = Activator.getImageDescriptor("icons/outstanding.png").createImage(); //$NON-NLS-1$\r
+               stateImages[1] = Activator.getImageDescriptor("icons/acknowledged.png").createImage(); //$NON-NLS-1$\r
+               stateImages[2] = Activator.getImageDescriptor("icons/terminated.png").createImage(); //$NON-NLS-1$\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)\r
+        */\r
+       @Override\r
+       public Image getColumnImage(Object element, int columnIndex)\r
+       {\r
+               switch(columnIndex)\r
+               {\r
+                       case AlarmList.COLUMN_SEVERITY:\r
+                               return severityImages[((Alarm)element).getCurrentSeverity()];\r
+                       case AlarmList.COLUMN_STATE:\r
+                               return stateImages[((Alarm)element).getState()];\r
+               }\r
+               return null;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)\r
+        */\r
+       @Override\r
+       public String getColumnText(Object element, int columnIndex)\r
+       {\r
+               switch(columnIndex)\r
+               {\r
+                       case AlarmList.COLUMN_SEVERITY:\r
+                               return StatusDisplayInfo.getStatusText(((Alarm)element).getCurrentSeverity());\r
+                       case AlarmList.COLUMN_STATE:\r
+                               return stateText[((Alarm)element).getState()];\r
+                       case AlarmList.COLUMN_SOURCE:\r
+                               GenericObject object = ((NXCSession)ConsoleSharedData.getSession()).findObjectById(((Alarm)element).getSourceObjectId());\r
+                               return (object != null) ? object.getObjectName() : null;\r
+                       case AlarmList.COLUMN_MESSAGE:\r
+                               return ((Alarm)element).getMessage();\r
+                       case AlarmList.COLUMN_COUNT:\r
+                               return Integer.toString(((Alarm)element).getRepeatCount());\r
+                       case AlarmList.COLUMN_CREATED:\r
+                               return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG).format(((Alarm)element).getCreationTime());\r
+                       case AlarmList.COLUMN_LASTCHANGE:\r
+                               return DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG).format(((Alarm)element).getLastChangeTime());\r
+               }\r
+               return null;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.IBaseLabelProvider#addListener(org.eclipse.jface.viewers.ILabelProviderListener)\r
+        */\r
+       @Override\r
+       public void addListener(ILabelProviderListener listener)\r
+       {\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()\r
+        */\r
+       @Override\r
+       public void dispose()\r
+       {\r
+               for(int i = 0; i < stateImages.length; i++)\r
+                       stateImages[i].dispose();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)\r
+        */\r
+       @Override\r
+       public boolean isLabelProperty(Object element, String property)\r
+       {\r
+               return false;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.IBaseLabelProvider#removeListener(org.eclipse.jface.viewers.ILabelProviderListener)\r
+        */\r
+       @Override\r
+       public void removeListener(ILabelProviderListener listener)\r
+       {\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/Messages.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/Messages.java
new file mode 100644 (file)
index 0000000..7c94f48
--- /dev/null
@@ -0,0 +1,42 @@
+package org.netxms.ui.eclipse.alarmviewer;\r
+\r
+import org.eclipse.osgi.util.NLS;\r
+\r
+public class Messages extends NLS\r
+{\r
+       private static final String BUNDLE_NAME = "org.netxms.ui.eclipse.alarmviewer.messages"; //$NON-NLS-1$\r
+       public static String AcknowledgeAlarm_ErrorMessage;\r
+       public static String AcknowledgeAlarm_JobName;\r
+       public static String AcknowledgeAlarm_TaskName;\r
+       public static String AlarmComparator_Unknown;\r
+       public static String AlarmList_ColumnCount;\r
+       public static String AlarmList_ColumnCreated;\r
+       public static String AlarmList_ColumnLastChange;\r
+       public static String AlarmList_ColumnMessage;\r
+       public static String AlarmList_ColumnSeverity;\r
+       public static String AlarmList_ColumnSource;\r
+       public static String AlarmList_ColumnState;\r
+       public static String AlarmList_CopyMsgToClipboard;\r
+       public static String AlarmList_CopyToClipboard;\r
+       public static String AlarmList_SyncJobError;\r
+       public static String AlarmList_SyncJobName;\r
+       public static String AlarmListLabelProvider_AlarmState_Acknowledged;\r
+       public static String AlarmListLabelProvider_AlarmState_Outstanding;\r
+       public static String AlarmListLabelProvider_AlarmState_Terminated;\r
+       public static String AlarmNotifier_ToolTip_Header;\r
+       public static String OpenAlarmBrowser_Error;\r
+       public static String OpenAlarmBrowser_ErrorOpeningView;\r
+       public static String Startup_JobName;\r
+       public static String TerminateAlarm_ErrorMessage;\r
+       public static String TerminateAlarm_JobTitle;\r
+       public static String TerminateAlarm_TaskName;\r
+       static\r
+       {\r
+               // initialize resource bundle\r
+               NLS.initializeMessages(BUNDLE_NAME, Messages.class);\r
+       }\r
+\r
+       private Messages()\r
+       {\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/AcknowledgeAlarm.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/AcknowledgeAlarm.java
new file mode 100644 (file)
index 0000000..81a1068
--- /dev/null
@@ -0,0 +1,96 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2011 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer.actions;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.IAction;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.ui.IObjectActionDelegate;\r
+import org.eclipse.ui.IWorkbenchPart;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.events.Alarm;\r
+import org.netxms.ui.eclipse.alarmviewer.Activator;\r
+import org.netxms.ui.eclipse.alarmviewer.Messages;\r
+import org.netxms.ui.eclipse.alarmviewer.widgets.AlarmList;\r
+import org.netxms.ui.eclipse.jobs.ConsoleJob;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+\r
+/**\r
+ * Acknowledge alarm action\r
+ */\r
+public class AcknowledgeAlarm implements IObjectActionDelegate\r
+{\r
+       private IWorkbenchPart wbPart;\r
+       private IStructuredSelection currentSelection;\r
+       \r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)\r
+        */\r
+       @Override\r
+       public void run(IAction action)\r
+       {\r
+               if (currentSelection == null)\r
+                       return;\r
+               \r
+               final Object[] selection = currentSelection.toArray();\r
+               final NXCSession session = (NXCSession)ConsoleSharedData.getSession();\r
+               new ConsoleJob(Messages.AcknowledgeAlarm_JobName, wbPart, Activator.PLUGIN_ID, AlarmList.JOB_FAMILY) {\r
+                       @Override\r
+                       protected void runInternal(IProgressMonitor monitor) throws Exception\r
+                       {\r
+                               monitor.beginTask(Messages.AcknowledgeAlarm_TaskName, selection.length);\r
+                               for(Object o : selection)\r
+                               {\r
+                                       if (monitor.isCanceled())\r
+                                               break;\r
+                                       if (o instanceof Alarm)\r
+                                               session.acknowledgeAlarm(((Alarm)o).getId());\r
+                                       monitor.worked(1);\r
+                               }\r
+                               monitor.done();\r
+                       }\r
+                       \r
+                       @Override\r
+                       protected String getErrorMessage()\r
+                       {\r
+                               return Messages.AcknowledgeAlarm_ErrorMessage;\r
+                       }\r
+               }.start();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)\r
+        */\r
+       @Override\r
+       public void selectionChanged(IAction action, ISelection selection)\r
+       {\r
+               currentSelection = (selection instanceof IStructuredSelection) ? (IStructuredSelection)selection : null;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)\r
+        */\r
+       @Override\r
+       public void setActivePart(IAction action, IWorkbenchPart targetPart)\r
+       {\r
+               wbPart = targetPart;\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/OpenAlarmBrowser.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/OpenAlarmBrowser.java
new file mode 100644 (file)
index 0000000..68b4ff3
--- /dev/null
@@ -0,0 +1,77 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer.actions;\r
+\r
+import org.eclipse.jface.action.IAction;\r
+import org.eclipse.jface.dialogs.MessageDialog;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.ui.IWorkbenchWindow;\r
+import org.eclipse.ui.IWorkbenchWindowActionDelegate;\r
+import org.eclipse.ui.PartInitException;\r
+import org.netxms.ui.eclipse.alarmviewer.Messages;\r
+import org.netxms.ui.eclipse.alarmviewer.views.AlarmBrowser;\r
+\r
+public class OpenAlarmBrowser implements IWorkbenchWindowActionDelegate\r
+{\r
+       private IWorkbenchWindow window;\r
+       \r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()\r
+        */\r
+       @Override\r
+       public void dispose()\r
+       {\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)\r
+        */\r
+       @Override\r
+       public void init(IWorkbenchWindow window)\r
+       {\r
+               this.window = window;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)\r
+        */\r
+       @Override\r
+       public void run(IAction action)\r
+       {\r
+               if(window != null)\r
+               {       \r
+                       try \r
+                       {\r
+                               window.getActivePage().showView(AlarmBrowser.ID);\r
+                       } \r
+                       catch (PartInitException e) \r
+                       {\r
+                               MessageDialog.openError(window.getShell(), Messages.OpenAlarmBrowser_Error, Messages.OpenAlarmBrowser_ErrorOpeningView + e.getMessage());\r
+                       }\r
+               }\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)\r
+        */\r
+       @Override\r
+       public void selectionChanged(IAction action, ISelection selection)\r
+       {\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/TerminateAlarm.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/actions/TerminateAlarm.java
new file mode 100644 (file)
index 0000000..038a84c
--- /dev/null
@@ -0,0 +1,97 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2011 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer.actions;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.IAction;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.ui.IObjectActionDelegate;\r
+import org.eclipse.ui.IWorkbenchPart;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.events.Alarm;\r
+import org.netxms.ui.eclipse.alarmviewer.Activator;\r
+import org.netxms.ui.eclipse.alarmviewer.Messages;\r
+import org.netxms.ui.eclipse.alarmviewer.widgets.AlarmList;\r
+import org.netxms.ui.eclipse.jobs.ConsoleJob;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+\r
+/**\r
+ * Terminate alarm action\r
+ *\r
+ */\r
+public class TerminateAlarm implements IObjectActionDelegate\r
+{\r
+       private IWorkbenchPart wbPart;\r
+       private IStructuredSelection currentSelection;\r
+       \r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)\r
+        */\r
+       @Override\r
+       public void run(IAction action)\r
+       {\r
+               if (currentSelection == null)\r
+                       return;\r
+               \r
+               final Object[] selection = currentSelection.toArray();\r
+               final NXCSession session = (NXCSession)ConsoleSharedData.getSession();\r
+               new ConsoleJob(Messages.TerminateAlarm_JobTitle, wbPart, Activator.PLUGIN_ID, AlarmList.JOB_FAMILY) {\r
+                       @Override\r
+                       protected void runInternal(IProgressMonitor monitor) throws Exception\r
+                       {\r
+                               monitor.beginTask(Messages.TerminateAlarm_TaskName, selection.length);\r
+                               for(Object o : selection)\r
+                               {\r
+                                       if (monitor.isCanceled())\r
+                                               break;\r
+                                       if (o instanceof Alarm)\r
+                                               session.terminateAlarm(((Alarm)o).getId());\r
+                                       monitor.worked(1);\r
+                               }\r
+                               monitor.done();\r
+                       }\r
+                       \r
+                       @Override\r
+                       protected String getErrorMessage()\r
+                       {\r
+                               return Messages.TerminateAlarm_ErrorMessage;\r
+                       }\r
+               }.start();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)\r
+        */\r
+       @Override\r
+       public void selectionChanged(IAction action, ISelection selection)\r
+       {\r
+               currentSelection = (selection instanceof IStructuredSelection) ? (IStructuredSelection)selection : null;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)\r
+        */\r
+       @Override\r
+       public void setActivePart(IAction action, IWorkbenchPart targetPart)\r
+       {\r
+               wbPart = targetPart;\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/messages.properties b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/messages.properties
new file mode 100644 (file)
index 0000000..35a02ac
--- /dev/null
@@ -0,0 +1,25 @@
+AcknowledgeAlarm_ErrorMessage=Cannot acknowledge alarm \r
+AcknowledgeAlarm_JobName=Acknowledge alarms\r
+AcknowledgeAlarm_TaskName=Acknowledging alarms...\r
+AlarmComparator_Unknown=<unknown>\r
+AlarmList_ColumnCount=Count\r
+AlarmList_ColumnCreated=Created\r
+AlarmList_ColumnLastChange=Last Change\r
+AlarmList_ColumnMessage=Message\r
+AlarmList_ColumnSeverity=Severity\r
+AlarmList_ColumnSource=Source\r
+AlarmList_ColumnState=State\r
+AlarmList_CopyMsgToClipboard=Copy &message to clipboard\r
+AlarmList_CopyToClipboard=&Copy to clipboard\r
+AlarmList_SyncJobError=Cannot synchronize alarm list\r
+AlarmList_SyncJobName=Synchronize alarm list\r
+AlarmListLabelProvider_AlarmState_Acknowledged=Acknowledged\r
+AlarmListLabelProvider_AlarmState_Outstanding=Outstanding\r
+AlarmListLabelProvider_AlarmState_Terminated=Terminated\r
+AlarmNotifier_ToolTip_Header=NetXMS Alarm (\r
+OpenAlarmBrowser_Error=Error\r
+OpenAlarmBrowser_ErrorOpeningView=Error opening view: \r
+Startup_JobName=Set alarm listener for tray popups\r
+TerminateAlarm_ErrorMessage=Cannot terminate alarm\r
+TerminateAlarm_JobTitle=Terminate alarms\r
+TerminateAlarm_TaskName=Terminating alarms...\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/messages_es.properties b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/messages_es.properties
new file mode 100644 (file)
index 0000000..5dd7281
--- /dev/null
@@ -0,0 +1,25 @@
+AcknowledgeAlarm_ErrorMessage=No es posible aceptar la alarma\r
+AcknowledgeAlarm_JobName=Aceptar alarmas\r
+AcknowledgeAlarm_TaskName=Aceptando alarmas...\r
+AlarmComparator_Unknown=<Desconocida>\r
+AlarmList_ColumnCount=Contador\r
+AlarmList_ColumnCreated=Creada\r
+AlarmList_ColumnLastChange=Ăšltimo cambio\r
+AlarmList_ColumnMessage=Mensaje\r
+AlarmList_ColumnSeverity=Gravedad\r
+AlarmList_ColumnSource=Origen\r
+AlarmList_ColumnState=Estado\r
+AlarmList_CopyMsgToClipboard=Copiar el &mensaje al portapapeles\r
+AlarmList_CopyToClipboard=&Copiar al portapapeles\r
+AlarmList_SyncJobError=No es posible sincronizar la lista de alarmas\r
+AlarmList_SyncJobName=Sincronizar la lista de alarmas\r
+AlarmListLabelProvider_AlarmState_Acknowledged=Aceptada\r
+AlarmListLabelProvider_AlarmState_Outstanding=Destacada\r
+AlarmListLabelProvider_AlarmState_Terminated=Terminada\r
+AlarmNotifier_ToolTip_Header=Alarma NetXMS (\r
+OpenAlarmBrowser_Error=Error\r
+OpenAlarmBrowser_ErrorOpeningView=Error al abrir la vista: \r
+Startup_JobName=Mostrar alarmas con mensajes emergentes en la bandeja\r
+TerminateAlarm_ErrorMessage=No es posible cerrar la alarma\r
+TerminateAlarm_JobTitle=Cerrar alarmas\r
+TerminateAlarm_TaskName=Cerrando alarmas...\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/objecttabs/AlarmTab.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/objecttabs/AlarmTab.java
new file mode 100644 (file)
index 0000000..53c6ba5
--- /dev/null
@@ -0,0 +1,97 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer.objecttabs;\r
+\r
+import org.eclipse.jface.viewers.ISelectionProvider;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.netxms.client.objects.Cluster;\r
+import org.netxms.client.objects.Container;\r
+import org.netxms.client.objects.EntireNetwork;\r
+import org.netxms.client.objects.GenericObject;\r
+import org.netxms.client.objects.Node;\r
+import org.netxms.client.objects.ServiceRoot;\r
+import org.netxms.client.objects.Subnet;\r
+import org.netxms.ui.eclipse.alarmviewer.widgets.AlarmList;\r
+import org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab;\r
+\r
+/**\r
+ * Alarm tab\r
+ */\r
+public class AlarmTab extends ObjectTab\r
+{\r
+       private AlarmList alarmList;\r
+       \r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#createTabContent(org.eclipse.swt.widgets.Composite)\r
+        */\r
+       @Override\r
+       protected void createTabContent(Composite parent)\r
+       {\r
+               alarmList = new AlarmList(getViewPart(), parent, SWT.NONE, "AlarmTab"); //$NON-NLS-1$\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#objectChanged(org.netxms.client.objects.GenericObject)\r
+        */\r
+       @Override\r
+       public void objectChanged(GenericObject object)\r
+       {\r
+               alarmList.setRootObject(object.getObjectId());\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#refresh()\r
+        */\r
+       @Override\r
+       public void refresh()\r
+       {\r
+               alarmList.refresh();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#getSelectionProvider()\r
+        */\r
+       @Override\r
+       public ISelectionProvider getSelectionProvider()\r
+       {\r
+               return alarmList.getSelectionProvider();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#showForObject(org.netxms.client.objects.GenericObject)\r
+        */\r
+       @Override\r
+       public boolean showForObject(GenericObject object)\r
+       {\r
+               return (object instanceof Node) || (object instanceof Subnet) ||\r
+                      (object instanceof EntireNetwork) || (object instanceof Container) ||\r
+                      (object instanceof Cluster) || (object instanceof ServiceRoot);\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.objectview.objecttabs.ObjectTab#dispose()\r
+        */\r
+       @Override\r
+       public void dispose()\r
+       {\r
+               alarmList.dispose();\r
+               super.dispose();\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/views/AlarmBrowser.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/views/AlarmBrowser.java
new file mode 100644 (file)
index 0000000..079dbc3
--- /dev/null
@@ -0,0 +1,132 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2011 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer.views;\r
+\r
+import org.eclipse.jface.action.Action;\r
+import org.eclipse.jface.action.IMenuManager;\r
+import org.eclipse.jface.action.IToolBarManager;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.layout.FormAttachment;\r
+import org.eclipse.swt.layout.FormData;\r
+import org.eclipse.swt.layout.FormLayout;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.ui.IActionBars;\r
+import org.eclipse.ui.part.ViewPart;\r
+import org.netxms.ui.eclipse.actions.RefreshAction;\r
+import org.netxms.ui.eclipse.alarmviewer.widgets.AlarmList;\r
+\r
+/**\r
+ * Alarm browser view\r
+ *\r
+ */\r
+public class AlarmBrowser extends ViewPart\r
+{\r
+       public static final String ID = "org.netxms.ui.eclipse.alarmviewer.view.alarm_browser"; //$NON-NLS-1$\r
+       \r
+       private AlarmList alarmView;\r
+       private Action actionRefresh;\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)\r
+        */\r
+       @Override\r
+       public void createPartControl(Composite parent)\r
+       {\r
+      FormLayout formLayout = new FormLayout();\r
+               parent.setLayout(formLayout);\r
+               \r
+               alarmView = new AlarmList(this, parent, SWT.NONE, "AlarmBrowser"); //$NON-NLS-1$\r
+               FormData fd = new FormData();\r
+               fd.left = new FormAttachment(0, 0);\r
+               fd.top = new FormAttachment(0, 0);\r
+               fd.right = new FormAttachment(100, 0);\r
+               fd.bottom = new FormAttachment(100, 0);\r
+               alarmView.setLayoutData(fd);\r
+               \r
+               createActions();\r
+               contributeToActionBars();\r
+               \r
+               getSite().setSelectionProvider(alarmView.getSelectionProvider());\r
+       }\r
+\r
+       /**\r
+        * Create actions\r
+        */\r
+       private void createActions()\r
+       {\r
+               actionRefresh = new RefreshAction() {\r
+                       @Override\r
+                       public void run()\r
+                       {\r
+                               alarmView.refresh();\r
+                       }\r
+               };\r
+       }\r
+       \r
+       /**\r
+        * Contribute actions to action bar\r
+        */\r
+       private void contributeToActionBars()\r
+       {\r
+               IActionBars bars = getViewSite().getActionBars();\r
+               fillLocalPullDown(bars.getMenuManager());\r
+               fillLocalToolBar(bars.getToolBarManager());\r
+       }\r
+\r
+       /**\r
+        * Fill local pull-down menu\r
+        * \r
+        * @param manager\r
+        *           Menu manager for pull-down menu\r
+        */\r
+       private void fillLocalPullDown(IMenuManager manager)\r
+       {\r
+               manager.add(actionRefresh);\r
+       }\r
+\r
+       /**\r
+        * Fill local tool bar\r
+        * \r
+        * @param manager\r
+        *           Menu manager for local toolbar\r
+        */\r
+       private void fillLocalToolBar(IToolBarManager manager)\r
+       {\r
+               manager.add(actionRefresh);\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.part.WorkbenchPart#setFocus()\r
+        */\r
+       @Override\r
+       public void setFocus()\r
+       {\r
+               alarmView.setFocus();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.part.WorkbenchPart#dispose()\r
+        */\r
+       @Override\r
+       public void dispose()\r
+       {\r
+               alarmView.dispose();\r
+               super.dispose();\r
+       }\r
+}\r
diff --git a/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/widgets/AlarmList.java b/webui/webapp/AlarmViewer/src/org/netxms/ui/eclipse/alarmviewer/widgets/AlarmList.java
new file mode 100644 (file)
index 0000000..fd21f8f
--- /dev/null
@@ -0,0 +1,338 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2011 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.alarmviewer.widgets;\r
+\r
+import java.util.HashMap;\r
+import java.util.Map;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.core.runtime.Platform;\r
+import org.eclipse.jface.action.Action;\r
+import org.eclipse.jface.action.GroupMarker;\r
+import org.eclipse.jface.action.IMenuListener;\r
+import org.eclipse.jface.action.IMenuManager;\r
+import org.eclipse.jface.action.MenuManager;\r
+import org.eclipse.jface.action.Separator;\r
+import org.eclipse.jface.viewers.ArrayContentProvider;\r
+import org.eclipse.jface.viewers.ISelectionProvider;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.events.DisposeEvent;\r
+import org.eclipse.swt.events.DisposeListener;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.eclipse.swt.widgets.Event;\r
+import org.eclipse.swt.widgets.Listener;\r
+import org.eclipse.swt.widgets.Menu;\r
+import org.eclipse.swt.widgets.TableItem;\r
+import org.eclipse.ui.IViewPart;\r
+import org.eclipse.ui.IWorkbenchActionConstants;\r
+import org.netxms.api.client.SessionNotification;\r
+import org.netxms.client.NXCListener;\r
+import org.netxms.client.NXCNotification;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.events.Alarm;\r
+import org.netxms.ui.eclipse.alarmviewer.Activator;\r
+import org.netxms.ui.eclipse.alarmviewer.AlarmComparator;\r
+import org.netxms.ui.eclipse.alarmviewer.AlarmListFilter;\r
+import org.netxms.ui.eclipse.alarmviewer.AlarmListLabelProvider;\r
+import org.netxms.ui.eclipse.alarmviewer.Messages;\r
+import org.netxms.ui.eclipse.jobs.ConsoleJob;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+import org.netxms.ui.eclipse.shared.IActionConstants;\r
+import org.netxms.ui.eclipse.tools.WidgetHelper;\r
+import org.netxms.ui.eclipse.widgets.SortableTableViewer;\r
+\r
+/**\r
+ * Alarm list widget\r
+ */\r
+public class AlarmList extends Composite\r
+{\r
+       public static final String JOB_FAMILY = "AlarmViewJob"; //$NON-NLS-1$\r
+       \r
+       // Columns\r
+       public static final int COLUMN_SEVERITY = 0;\r
+       public static final int COLUMN_STATE = 1;\r
+       public static final int COLUMN_SOURCE = 2;\r
+       public static final int COLUMN_MESSAGE = 3;\r
+       public static final int COLUMN_COUNT = 4;\r
+       public static final int COLUMN_CREATED = 5;\r
+       public static final int COLUMN_LASTCHANGE = 6;\r
+       \r
+       private final IViewPart viewPart;\r
+       private NXCSession session = null;\r
+       private NXCListener clientListener = null;\r
+       private SortableTableViewer alarmViewer;\r
+       private AlarmListFilter alarmFilter;\r
+       private Map<Long, Alarm> alarmList = new HashMap<Long, Alarm>();\r
+       private Action actionCopy;\r
+       private Action actionCopyMessage;\r
+       \r
+       /**\r
+        * Create alarm list widget\r
+        *  \r
+        * @param viewPart owning view part\r
+        * @param parent parent composite\r
+        * @param style widget style\r
+        * @param configPrefix prefix for saving/loading widget configuration\r
+        */\r
+       public AlarmList(IViewPart viewPart, Composite parent, int style, final String configPrefix)\r
+       {\r
+               super(parent, style);\r
+               session = (NXCSession)ConsoleSharedData.getSession();\r
+               this.viewPart = viewPart;               \r
+               \r
+               // Setup table columns\r
+               final String[] names = { Messages.AlarmList_ColumnSeverity, Messages.AlarmList_ColumnState, Messages.AlarmList_ColumnSource, Messages.AlarmList_ColumnMessage, Messages.AlarmList_ColumnCount, Messages.AlarmList_ColumnCreated, Messages.AlarmList_ColumnLastChange };\r
+               final int[] widths = { 100, 100, 150, 300, 70, 100, 100 };\r
+               alarmViewer = new SortableTableViewer(this, names, widths, 0, SWT.DOWN, SortableTableViewer.DEFAULT_STYLE);\r
+               WidgetHelper.restoreTableViewerSettings(alarmViewer, Activator.getDefault().getDialogSettings(), configPrefix);\r
+       \r
+               alarmViewer.setLabelProvider(new AlarmListLabelProvider());\r
+               alarmViewer.setContentProvider(new ArrayContentProvider());\r
+               alarmViewer.setComparator(new AlarmComparator());\r
+               alarmFilter = new AlarmListFilter();\r
+               alarmViewer.addFilter(alarmFilter);\r
+               alarmViewer.getTable().addDisposeListener(new DisposeListener() {\r
+                       @Override\r
+                       public void widgetDisposed(DisposeEvent e)\r
+                       {\r
+                               WidgetHelper.saveTableViewerSettings(alarmViewer, Activator.getDefault().getDialogSettings(), configPrefix);\r
+                       }\r
+               });\r
+               \r
+               createActions();\r
+               createPopupMenu();\r
+\r
+               addListener(SWT.Resize, new Listener() {\r
+                       public void handleEvent(Event e)\r
+                       {\r
+                               alarmViewer.getControl().setBounds(AlarmList.this.getClientArea());\r
+                       }\r
+               });\r
+               \r
+               refresh();\r
+\r
+               // Add client library listener\r
+               clientListener = new NXCListener() {\r
+                       @Override\r
+                       public void notificationHandler(SessionNotification n)\r
+                       {\r
+                               switch(n.getCode())\r
+                               {\r
+                                       case NXCNotification.NEW_ALARM:\r
+                                       case NXCNotification.ALARM_CHANGED:\r
+                                               synchronized(alarmList)\r
+                                               {\r
+                                                       alarmList.put(((Alarm)n.getObject()).getId(), (Alarm)n.getObject());\r
+                                               }\r
+                                               scheduleAlarmViewerUpdate();\r
+                                               break;\r
+                                       case NXCNotification.ALARM_TERMINATED:\r
+                                       case NXCNotification.ALARM_DELETED:\r
+                                               synchronized(alarmList)\r
+                                               {\r
+                                                       alarmList.remove(((Alarm)n.getObject()).getId());\r
+                                               }\r
+                                               scheduleAlarmViewerUpdate();\r
+                                               break;\r
+                                       default:\r
+                                               break;\r
+                               }\r
+                       }\r
+               };\r
+               session.addListener(clientListener);\r
+               \r
+               addDisposeListener(new DisposeListener() {\r
+                       @Override\r
+                       public void widgetDisposed(DisposeEvent e)\r
+                       {\r
+                               if ((session != null) && (clientListener != null))\r
+                                       session.removeListener(clientListener);\r
+                       }\r
+               });\r
+       }\r
+       \r
+       /**\r
+        * Get selection provider of alarm list\r
+        * \r
+        * @return\r
+        */\r
+       public ISelectionProvider getSelectionProvider()\r
+       {\r
+               return alarmViewer;\r
+       }\r
+               \r
+       /**\r
+        * Schedule alarm viewer update\r
+        */\r
+       private void scheduleAlarmViewerUpdate()\r
+       {\r
+               getDisplay().asyncExec(new Runnable() {\r
+                       @Override\r
+                       public void run()\r
+                       {\r
+                               if (!alarmViewer.getControl().isDisposed())\r
+                               {\r
+                                       synchronized(alarmList)\r
+                                       {\r
+                                               alarmViewer.refresh();\r
+                                       }\r
+                               }\r
+                       }\r
+               });\r
+       }\r
+       \r
+       /**\r
+        * Create actions\r
+        */\r
+       private void createActions()\r
+       {\r
+               actionCopy = new Action(Messages.AlarmList_CopyToClipboard) {\r
+                       @Override\r
+                       public void run()\r
+                       {\r
+                               TableItem[] selection = alarmViewer.getTable().getSelection();\r
+                               if (selection.length > 0)\r
+                               {\r
+                                       final String newLine = Platform.getOS().equals(Platform.OS_WIN32) ? "\r\n" : "\n"; //$NON-NLS-1$ //$NON-NLS-2$\r
+                                       StringBuilder sb = new StringBuilder();\r
+                                       for(int i = 0; i < selection.length; i++)\r
+                                       {\r
+                                               if (i > 0)\r
+                                                       sb.append(newLine);\r
+                                               sb.append('[');\r
+                                               sb.append(selection[i].getText(COLUMN_SEVERITY));\r
+                                               sb.append("]\t"); //$NON-NLS-1$\r
+                                               sb.append(selection[i].getText(COLUMN_SOURCE));\r
+                                               sb.append('\t');\r
+                                               sb.append(selection[i].getText(COLUMN_MESSAGE));\r
+                                       }\r
+                                       WidgetHelper.copyToClipboard(sb.toString());\r
+                               }\r
+                       }\r
+               };\r
+\r
+               actionCopyMessage = new Action(Messages.AlarmList_CopyMsgToClipboard) {\r
+                       @Override\r
+                       public void run()\r
+                       {\r
+                               TableItem[] selection = alarmViewer.getTable().getSelection();\r
+                               if (selection.length > 0)\r
+                               {\r
+                                       final String newLine = Platform.getOS().equals(Platform.OS_WIN32) ? "\r\n" : "\n"; //$NON-NLS-1$ //$NON-NLS-2$\r
+                                       StringBuilder sb = new StringBuilder();\r
+                                       for(int i = 0; i < selection.length; i++)\r
+                                       {\r
+                                               if (i > 0)\r
+                                                       sb.append(newLine);\r
+                                               sb.append(selection[i].getText(COLUMN_MESSAGE));\r
+                                       }\r
+                                       WidgetHelper.copyToClipboard(sb.toString());\r
+                               }\r
+                       }\r
+               };\r
+       }\r
+\r
+       /**\r
+        * Create pop-up menu for alarm list\r
+        */\r
+       private void createPopupMenu()\r
+       {\r
+               // Create menu manager.\r
+               MenuManager menuMgr = new MenuManager();\r
+               menuMgr.setRemoveAllWhenShown(true);\r
+               menuMgr.addMenuListener(new IMenuListener()\r
+               {\r
+                       public void menuAboutToShow(IMenuManager mgr)\r
+                       {\r
+                               fillContextMenu(mgr);\r
+                       }\r
+               });\r
+\r
+               // Create menu.\r
+               Menu menu = menuMgr.createContextMenu(alarmViewer.getControl());\r
+               alarmViewer.getControl().setMenu(menu);\r
+\r
+               // Register menu for extension.\r
+               if (viewPart != null)\r
+                       viewPart.getSite().registerContextMenu(menuMgr, alarmViewer);\r
+       }\r
+       \r
+       /**\r
+        * Fill context menu\r
+        * @param mgr Menu manager\r
+        */\r
+       protected void fillContextMenu(IMenuManager manager)\r
+       {\r
+               manager.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));\r
+               manager.add(new Separator());\r
+               manager.add(new GroupMarker(IActionConstants.MB_OBJECT_MANAGEMENT));\r
+               manager.add(new Separator());\r
+               manager.add(actionCopy);\r
+               manager.add(actionCopyMessage);\r
+       }\r
+\r
+       /**\r
+        * Change root object for alarm list\r
+        * \r
+        * @param objectId ID of new root object\r
+        */\r
+       public void setRootObject(long objectId)\r
+       {\r
+               alarmFilter.setRootObject(objectId);\r
+               synchronized(alarmList)\r
+               {\r
+                       alarmViewer.refresh();\r
+               }\r
+       }\r
+\r
+       /**\r
+        * Refresh alarm list\r
+        */\r
+       public void refresh()\r
+       {\r
+               new ConsoleJob(Messages.AlarmList_SyncJobName, viewPart, Activator.PLUGIN_ID, JOB_FAMILY) {\r
+                       @Override\r
+                       protected void runInternal(IProgressMonitor monitor) throws Exception\r
+                       {\r
+                               final HashMap<Long, Alarm> list = session.getAlarms(false);\r
+                               runInUIThread(new Runnable() {\r
+                                       @Override\r
+                                       public void run()\r
+                                       {\r
+                                               if (!alarmViewer.getControl().isDisposed())\r
+                                               {\r
+                                                       synchronized(alarmList)\r
+                                                       {\r
+                                                               alarmList.clear();\r
+                                                               alarmList.putAll(list);\r
+                                                               alarmViewer.setInput(alarmList.values());\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                               });\r
+                       }\r
+\r
+                       @Override\r
+                       protected String getErrorMessage()\r
+                       {\r
+                               return Messages.AlarmList_SyncJobError;\r
+                       }\r
+               }.start();\r
+       }\r
+}\r
similarity index 53%
copy from webui/webapp/Core/.classpath
copy to webui/webapp/Charts/.classpath
index 9d79203..ad32c83 100644 (file)
@@ -1,9 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-client-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-client-api-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-base-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/simple-xml-2.4.1.jar"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        <classpathentry kind="src" path="src"/>
diff --git a/webui/webapp/Charts/.project b/webui/webapp/Charts/.project
new file mode 100644 (file)
index 0000000..39034d6
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>Charts</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.ManifestBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.SchemaBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.PluginNature</nature>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+       </natures>
+</projectDescription>
diff --git a/webui/webapp/Charts/.settings/org.eclipse.jdt.core.prefs b/webui/webapp/Charts/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..4f5e5b2
--- /dev/null
@@ -0,0 +1,7 @@
+#Tue Aug 04 18:36:50 EEST 2009\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\r
+org.eclipse.jdt.core.compiler.compliance=1.6\r
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error\r
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error\r
+org.eclipse.jdt.core.compiler.source=1.6\r
diff --git a/webui/webapp/Charts/META-INF/MANIFEST.MF b/webui/webapp/Charts/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..b2e7c50
--- /dev/null
@@ -0,0 +1,13 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: NXMC Charts Plug-in
+Bundle-SymbolicName: org.netxms.ui.eclipse.charts;singleton:=true
+Bundle-Version: 1.1.9
+Bundle-Activator: org.netxms.ui.eclipse.charts.Activator
+Bundle-Vendor: netxms.org
+Require-Bundle: org.netxms.webui.core;bundle-version="1.1.9",
+ org.eclipse.rap.ui;bundle-version="1.4.1"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Export-Package: org.netxms.ui.eclipse.charts.api,
+ org.netxms.ui.eclipse.charts.widgets
diff --git a/webui/webapp/Charts/build.properties b/webui/webapp/Charts/build.properties
new file mode 100644 (file)
index 0000000..8989219
--- /dev/null
@@ -0,0 +1,6 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = META-INF/,\\r
+               .,\\r
+               plugin.xml\r
+bin.excludes = META-INF/.svn/\r
diff --git a/webui/webapp/Charts/plugin.xml b/webui/webapp/Charts/plugin.xml
new file mode 100644 (file)
index 0000000..504f960
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+   <extension point="org.eclipse.ui.preferencePages">\r
+      <page name="Charts"\r
+            class="org.netxms.ui.eclipse.charts.preferencepages.GeneralChartPrefs"\r
+            id="org.eclipse.ui.preferencePages.Charts">\r
+      </page>\r
+      <page name="Colors"\r
+            class="org.netxms.ui.eclipse.charts.preferencepages.ChartColors"\r
+            id="org.eclipse.ui.preferencePages.Charts"\r
+            category="org.eclipse.ui.preferencePages.Charts">\r
+      </page>\r
+   </extension>\r
+</plugin>\r
diff --git a/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/Activator.java b/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/Activator.java
new file mode 100644 (file)
index 0000000..9ca9a14
--- /dev/null
@@ -0,0 +1,147 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2011 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.charts;\r
+\r
+import org.eclipse.jface.preference.IPreferenceStore;\r
+import org.eclipse.jface.resource.ImageDescriptor;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.graphics.Font;\r
+import org.eclipse.swt.widgets.Display;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.eclipse.ui.plugin.AbstractUIPlugin;\r
+import org.eclipse.ui.progress.IProgressService;\r
+import org.osgi.framework.BundleContext;\r
+\r
+/**\r
+ * The activator class controls the plug-in life cycle\r
+ */\r
+public class Activator extends AbstractUIPlugin\r
+{\r
+       // The plug-in ID\r
+       public static final String PLUGIN_ID = "org.netxms.ui.eclipse.charts";\r
+\r
+       // The shared instance\r
+       private static Activator plugin;\r
+       \r
+       private Font chartTitleFont;\r
+       private Font chartFont;\r
+\r
+       /*\r
+        * (non-Javadoc)\r
+        * \r
+        * @see\r
+        * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext\r
+        * )\r
+        */\r
+       public void start(BundleContext context) throws Exception\r
+       {\r
+               super.start(context);\r
+               plugin = this;\r
+\r
+               /* FIXME: how to init?\r
+          // Set default values for preferences\r
+          IPreferenceStore ps = getPreferenceStore();\r
+          \r
+          ps.setDefault("Chart.Colors.Background", "240,240,240");\r
+          ps.setDefault("Chart.Colors.Data.0", "64,105,156");\r
+          ps.setDefault("Chart.Colors.Data.1", "158,65,62");\r
+          ps.setDefault("Chart.Colors.Data.2", "127,154,72");\r
+          ps.setDefault("Chart.Colors.Data.3", "105,81,133");\r
+          ps.setDefault("Chart.Colors.Data.4", "60,141,163");\r
+          ps.setDefault("Chart.Colors.Data.5", "204,123,56");\r
+          ps.setDefault("Chart.Colors.Data.6", "79,129,189");\r
+          ps.setDefault("Chart.Colors.Data.7", "192,80,77");\r
+          ps.setDefault("Chart.Colors.Data.8", "155,187,89");\r
+          ps.setDefault("Chart.Colors.Data.9", "128,100,162");\r
+          ps.setDefault("Chart.Colors.Data.10", "75,172,198");\r
+          ps.setDefault("Chart.Colors.Data.11", "247,150,70");\r
+          ps.setDefault("Chart.Colors.Data.12", "170,186,215");\r
+          ps.setDefault("Chart.Colors.Data.13", "217,170,169");\r
+          ps.setDefault("Chart.Colors.Data.14", "198,214,172");\r
+          ps.setDefault("Chart.Colors.Data.15", "186,176,201");\r
+          ps.setDefault("Chart.Colors.PlotArea", "255,255,255");\r
+          ps.setDefault("Chart.Colors.Selection", "0,0,128");\r
+          ps.setDefault("Chart.Colors.Title", "0,0,0");\r
+          ps.setDefault("Chart.Axis.X.Color", "22,22,22");\r
+          ps.setDefault("Chart.Axis.Y.Color", "22,22,22");\r
+          ps.setDefault("Chart.Grid.X.Color", "232,232,232");\r
+          //ps.setDefault("Chart.Grid.X.Style", LineStyle.DOT.label);\r
+          ps.setDefault("Chart.Grid.Y.Color", "232,232,232");\r
+          //ps.setDefault("Chart.Grid.Y.Style", LineStyle.DOT.label);\r
+          ps.setDefault("Chart.EnableZoom", true);\r
+          ps.setDefault("Chart.ShowTitle", false);\r
+          ps.setDefault("Chart.ShowToolTips", true);\r
+          \r
+          chartTitleFont = new Font(Display.getDefault(), "Verdana", 9, SWT.NORMAL);\r
+          chartFont = new Font(Display.getDefault(), "Verdana", 8, SWT.NORMAL);\r
+                */\r
+       }\r
+\r
+       /*\r
+        * (non-Javadoc)\r
+        * \r
+        * @see\r
+        * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext\r
+        * )\r
+        */\r
+       public void stop(BundleContext context) throws Exception\r
+       {\r
+               plugin = null;\r
+               super.stop(context);\r
+       }\r
+\r
+       /**\r
+        * Returns the shared instance\r
+        * \r
+        * @return the shared instance\r
+        */\r
+       public static Activator getDefault()\r
+       {\r
+               return plugin;\r
+       }\r
+\r
+       /**\r
+        * Returns an image descriptor for the image file at the given plug-in\r
+        * relative path\r
+        * \r
+        * @param path\r
+        *           the path\r
+        * @return the image descriptor\r
+        */\r
+       public static ImageDescriptor getImageDescriptor(String path)\r
+       {\r
+               return imageDescriptorFromPlugin(PLUGIN_ID, path);\r
+       }\r
+\r
+       /**\r
+        * @return the chartTitleFont\r
+        */\r
+       public Font getChartTitleFont()\r
+       {\r
+               return chartTitleFont;\r
+       }\r
+\r
+       /**\r
+        * @return the chartFont\r
+        */\r
+       public Font getChartFont()\r
+       {\r
+               return chartFont;\r
+       }\r
+}\r
diff --git a/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/ChartColor.java b/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/ChartColor.java
new file mode 100644 (file)
index 0000000..c19a8e1
--- /dev/null
@@ -0,0 +1,137 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.charts.api;\r
+\r
+import org.eclipse.jface.preference.IPreferenceStore;\r
+import org.eclipse.jface.preference.PreferenceConverter;\r
+import org.eclipse.swt.graphics.RGB;\r
+import org.netxms.ui.eclipse.charts.Activator;\r
+\r
+/**\r
+ * Color for chart element\r
+ *\r
+ */\r
+public final class ChartColor\r
+{\r
+       public int red;\r
+       public int green;\r
+       public int blue;\r
+       public int alpha;\r
+       \r
+       /**\r
+        * Create color object from separate R, G, B, A values\r
+        * \r
+        * @param red\r
+        * @param green\r
+        * @param blue\r
+        * @param alpha\r
+        */\r
+       public ChartColor(int red, int green, int blue, int alpha)\r
+       {\r
+               this.red = red;\r
+               this.green = green;\r
+               this.blue = blue;\r
+               this.alpha = alpha;\r
+       }\r
+\r
+       /**\r
+        * Create color object from separate R, G, B values. Alpha value set to 255 (opaque).\r
+        * \r
+        * @param red\r
+        * @param green\r
+        * @param blue\r
+        */\r
+       public ChartColor(int red, int green, int blue)\r
+       {\r
+               this.red = red;\r
+               this.green = green;\r
+               this.blue = blue;\r
+               this.alpha = 255;\r
+       }\r
+       \r
+       /**\r
+        * Create color object from 32bit integer containing RGB value (high-order byte ignored).\r
+        * \r
+        * @param rgb RGB value encoded as 32bit integer\r
+        */\r
+       public ChartColor(int rgb)\r
+       {\r
+               red = rgb & 0xFF;\r
+               green = (rgb >> 8) & 0xFF;\r
+               blue = rgb >> 16;\r
+               alpha = 255;\r
+       }\r
+       \r
+       /**\r
+        * Create chart color from RGB object\r
+        * \r
+        * @param rgb RGB object\r
+        */\r
+       public ChartColor(RGB rgb)\r
+       {\r
+               red = rgb.red;\r
+               green = rgb.green;\r
+               blue = rgb.blue;\r
+               alpha = 255;\r
+       }\r
+       \r
+       /**\r
+        * Create RGB value encoded into 32bit integer. Alpha value ignored.\r
+        *  \r
+        * @return RGB value for color\r
+        */\r
+       public int getRGB()\r
+       {\r
+               return (red & 0xFF) | ((green & 0xFF) << 8) | ((blue & 0xFF) << 16);\r
+       }\r
+       \r
+       /**\r
+        * Create RGBA value encoded into 32bit integer, with alpha value in high-order byte.\r
+        *  \r
+        * @return RGBA value for color\r
+        */\r
+       public int getRGBA()\r
+       {\r
+               return (red & 0xFF) | ((green & 0xFF) << 8) | ((blue & 0xFF) << 16) | ((alpha & 0xFF) << 24);\r
+       }\r
+       \r
+       /**\r
+        * Convenient method for creating chart color object from preference store\r
+        * \r
+        * @param preferenceStore preference store\r
+        * @param name preference name\r
+        * @return chart color object\r
+        */\r
+       public static ChartColor createFromPreferences(IPreferenceStore preferenceStore, String name)\r
+       {\r
+               RGB rgb = PreferenceConverter.getColor(preferenceStore, name);\r
+               return new ChartColor(rgb.red, rgb.green, rgb.blue);\r
+       }\r
+       \r
+       /**\r
+        * Get default color for series\r
+        * \r
+        * @param index series index\r
+        * @return default color for series\r
+        */\r
+       public static ChartColor getDefaultColor(int index)\r
+       {\r
+               return new ChartColor(PreferenceConverter.getColor(Activator.getDefault().getPreferenceStore(), "Chart.Colors.Data." + index));\r
+       }\r
+}\r
  * along with this program; if not, write to the Free Software\r
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
  */\r
-package org.netxms.ui.eclipse.shared;\r
+package org.netxms.ui.eclipse.charts.api;\r
 \r
-import org.eclipse.swt.graphics.Color;\r
-import org.eclipse.swt.widgets.Display;\r
+import org.eclipse.jface.preference.IPreferenceStore;\r
+import org.netxms.ui.eclipse.charts.Activator;\r
 \r
 /**\r
- * Shared colors\r
+ * Shared data of chart plugin\r
  */\r
-public class SharedColors\r
+public abstract class ChartPluginSharedData\r
 {\r
-       public static Color BLACK;\r
-       public static Color RED;\r
-       public static Color WHITE;\r
-       \r
        /**\r
-        * Initialize static members. Intended to be called once by library activator.\r
+        * Get preference store used for default chart settings\r
+        * \r
+        * @return chart preference store\r
         */\r
-       public static void init()\r
+       public static IPreferenceStore getPreferenceStore()\r
        {\r
-               Display display = Display.getCurrent();\r
-               \r
-               BLACK = new Color(display, 0, 0, 0);\r
-               RED = new Color(display, 255, 0, 0);\r
-               WHITE = new Color(display, 255, 255, 255);\r
+               return Activator.getDefault().getPreferenceStore();\r
        }\r
 }\r
diff --git a/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/DataChart.java b/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/DataChart.java
new file mode 100644 (file)
index 0000000..a87d321
--- /dev/null
@@ -0,0 +1,164 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.charts.api;\r
+\r
+/**\r
+ * Generic data chart interface\r
+ *\r
+ */\r
+public interface DataChart\r
+{\r
+       public static final int MAX_CHART_ITEMS = 16;\r
+       \r
+       /**\r
+        * Marks end of initialization stage and causes first render of a chart.\r
+        */\r
+       public abstract void initializationComplete();\r
+       \r
+       /**\r
+        * Set chart's title\r
+        * \r
+        * @param title new title\r
+        */\r
+       public abstract void setChartTitle(String title);\r
+       \r
+       /**\r
+        * Get chart's title\r
+        * \r
+        * @return chart's title\r
+        */\r
+       public abstract String getChartTitle();\r
+       \r
+       /**\r
+        * Show or hide chart's title\r
+        * \r
+        * @param visible true to show title, false to hide\r
+        */\r
+       public abstract void setTitleVisible(boolean visible);\r
+       \r
+       /**\r
+        * Get title's visibility\r
+        * \r
+        * @return true if title is visible\r
+        */\r
+       public abstract boolean isTitleVisible();\r
+\r
+       /**\r
+        * Show or hide chart's legend\r
+        * \r
+        * @param visible true to show legend, false to hide\r
+        */\r
+       public abstract void setLegendVisible(boolean visible);\r
+       \r
+       /**\r
+        * Get legend's visibility\r
+        * \r
+        * @return true if legend is visible\r
+        */\r
+       public abstract boolean isLegendVisible();\r
+       \r
+       /**\r
+        * Set legend position\r
+        * \r
+        * @param position\r
+        */\r
+       public abstract void setLegendPosition(int position);\r
+       \r
+       /**\r
+        * Get legend position\r
+        * @return\r
+        */\r
+       public abstract int getLegendPosition();\r
+       \r
+       /**\r
+        * Set palette.\r
+        * \r
+        * @param colors colors for series\r
+        */\r
+       public abstract void setPalette(ChartColor[] colors);\r
+       \r
+       /**\r
+        * Get single palette element.\r
+        * \r
+        * @param index element index\r
+        */\r
+       public abstract ChartColor getPaletteEntry(int index);\r
+\r
+       /**\r
+        * Set single palette element.\r
+        * \r
+        * @param index element index\r
+        * @param color color for series\r
+        */\r
+       public abstract void setPaletteEntry(int index, ChartColor color);\r
+\r
+       /**\r
+        * Set 3D display mode\r
+        * \r
+        * @param enabled true to enable 3D mode\r
+        */\r
+       public abstract void set3DModeEnabled(boolean enabled);\r
+       \r
+       /**\r
+        * Get 3D mode state.\r
+        * \r
+        * @return true if 3D display mode enabled\r
+        */\r
+       public abstract boolean is3DModeEnabled();\r
+\r
+       /**\r
+        * Set logarithmic scale mode\r
+        * \r
+        * @param enabled true to enable logarithmic scale mode\r
+        */\r
+       public abstract void setLogScaleEnabled(boolean enabled);\r
+       \r
+       /**\r
+        * Get logarithmic scale mode state.\r
+        * \r
+        * @return true if logarithmic scale mode enabled\r
+        */\r
+       public abstract boolean isLogScaleEnabled();\r
+       \r
+       /**\r
+        * Set chart data translucent. May not be supported by all chart types.\r
+        * \r
+        * @param translucent tru to set chart data translucent\r
+        */\r
+       public abstract void setTranslucent(boolean translucent);\r
+       \r
+       /**\r
+        * Get translucent mode.\r
+        * \r
+        * @return true if chart data is translucent\r
+        */\r
+       public abstract boolean isTranslucent();\r
+\r
+       /**\r
+        * Refresh (repaint) chart using current data and settings\r
+        */\r
+       public abstract void refresh();\r
+       \r
+       /**\r
+        * Returns true if chart has axes.\r
+        * \r
+        * @return true if chart has axes\r
+        */\r
+       public abstract boolean hasAxes();\r
+}\r
diff --git a/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/DataComparisonChart.java b/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/DataComparisonChart.java
new file mode 100644 (file)
index 0000000..538ea43
--- /dev/null
@@ -0,0 +1,117 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.charts.api;\r
+\r
+import org.netxms.client.datacollection.GraphItem;\r
+import org.netxms.client.datacollection.Threshold;\r
+\r
+/**\r
+ * Interface for data comparision chart\r
+ *\r
+ */\r
+public interface DataComparisonChart extends DataChart\r
+{\r
+       public static final int BAR_CHART = 0;\r
+       public static final int PIE_CHART = 1;\r
+       public static final int RADAR_CHART = 2;\r
+       public static final int TUBE_CHART = 3;\r
+       public static final int DIAL_CHART = 4;\r
+\r
+       /**\r
+        * Add parameter\r
+        * \r
+        * @param parameter DCI information\r
+        * @param value parameter's initial value\r
+        * @return parameter's index (0 .. MAX_CHART_ITEMS-1)\r
+        */\r
+       public abstract int addParameter(GraphItem parameter, double value);\r
+       \r
+       /**\r
+        * Update value for parameter\r
+        * \r
+        * @param index parameter's index (0 .. MAX_CHART_ITEMS-1)\r
+        * @param value parameter's value\r
+        * @param updateChart if tru, chart will be updated (repainted)\r
+        */\r
+       public abstract void updateParameter(int index, double value, boolean updateChart);\r
+       \r
+       /**\r
+        * Update thresholds for parameter\r
+        * \r
+        * @param index parameter's index (0 .. MAX_CHART_ITEMS-1)\r
+        * @param thresholds new thresholds\r
+        */\r
+       public abstract void updateParameterThresholds(int index, Threshold[] thresholds);\r
+\r
+       /**\r
+        * Set chart type\r
+        * \r
+        * @param chartType new chart type\r
+        */\r
+       public abstract void setChartType(int chartType);\r
+\r
+       /**\r
+        * Get current chart type\r
+        * \r
+        * @return curently selected chart type\r
+        */\r
+       public abstract int getChartType();\r
+       \r
+       /**\r
+        * Set chart transposed (swapping of axes).\r
+        * \r
+        * @param transposed true for transposed chart\r
+        */\r
+       public abstract void setTransposed(boolean transposed);\r
+       \r
+       /**\r
+        * Get "transposed" flag\r
+        * \r
+        * @return "transposed" flag\r
+        */\r
+       public abstract boolean isTransposed();\r
+       \r
+       /**\r
+        * Set data label visibility status\r
+        * \r
+        * @param visible true to make data labels visible\r
+        */\r
+       public abstract void setLabelsVisible(boolean visible);\r
+       \r
+       /**\r
+        * Get data label visibility status\r
+        * \r
+        * @return data label visibility status\r
+        */\r
+       public abstract boolean isLabelsVisible();\r
+       \r
+       /**\r
+        * Set rotation angle for chart types where it applicable (like pie chart)\r
+        * \r
+        * @param angle rotation angle\r
+        */\r
+       public abstract void setRotation(double angle);\r
+       \r
+       /**\r
+        * Get currently set rotation angle\r
+        * \r
+        * @return currently set rotation angle\r
+        */\r
+       public abstract double getRotation();\r
+}\r
diff --git a/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/HistoricalDataChart.java b/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/api/HistoricalDataChart.java
new file mode 100644 (file)
index 0000000..624fc0a
--- /dev/null
@@ -0,0 +1,56 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.charts.api;\r
+\r
+import java.util.Date;\r
+\r
+import org.netxms.client.datacollection.DciData;\r
+import org.netxms.client.datacollection.GraphItem;\r
+\r
+/**\r
+ * Historical data chart interface\r
+ *\r
+ */\r
+public interface HistoricalDataChart extends DataChart\r
+{\r
+       /**\r
+        * Set time range for chart.\r
+        * \r
+        * @param from\r
+        * @param to\r
+        */\r
+       public abstract void setTimeRange(Date from, Date to);\r
+       \r
+       /**\r
+        * Add new parameter to chart.\r
+        * \r
+        * @param item parameter\r
+        * @return assigned index\r
+        */\r
+       public abstract int addParameter(GraphItem item);\r
+       \r
+       /**\r
+        * Update data for parameter\r
+        * \r
+        * @param index parameter's index\r
+        * @param data data for parameter\r
+        * @param updateChart if true, chart will be updated (repainted)\r
+        */\r
+       public abstract void updateParameter(int index, DciData data, boolean updateChart);\r
+}\r
diff --git a/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/preferencepages/ChartColors.java b/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/preferencepages/ChartColors.java
new file mode 100644 (file)
index 0000000..93e6f11
--- /dev/null
@@ -0,0 +1,115 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.charts.preferencepages;\r
+\r
+import org.eclipse.jface.preference.ColorFieldEditor;\r
+import org.eclipse.jface.preference.FieldEditorPreferencePage;\r
+import org.eclipse.swt.SWT;\r
+import org.eclipse.swt.layout.GridData;\r
+import org.eclipse.swt.layout.GridLayout;\r
+import org.eclipse.swt.widgets.Group;\r
+import org.eclipse.swt.widgets.Label;\r
+import org.eclipse.ui.IWorkbench;\r
+import org.eclipse.ui.IWorkbenchPreferencePage;\r
+import org.netxms.ui.eclipse.charts.Activator;\r
+\r
+/**\r
+ * Chart colors preference page\r
+ *\r
+ */\r
+public class ChartColors extends FieldEditorPreferencePage implements IWorkbenchPreferencePage\r
+{\r
+       private Group lineColors;\r
+       private Label filler;\r
+       \r
+       public ChartColors()\r
+       {\r
+               super(FieldEditorPreferencePage.GRID);\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)\r
+        */\r
+       @Override\r
+       public void init(IWorkbench workbench)\r
+       {\r
+               setPreferenceStore(Activator.getDefault().getPreferenceStore());\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()\r
+        */\r
+       @Override\r
+       protected void createFieldEditors()\r
+       {\r
+               addField(new ColorFieldEditor("Chart.Colors.Background", "Background color:", getFieldEditorParent()));\r
+               addField(new ColorFieldEditor("Chart.Colors.PlotArea", "Plot area background color:", getFieldEditorParent()));\r
+               addField(new ColorFieldEditor("Chart.Colors.Title", "Title text color:", getFieldEditorParent()));\r
+               \r
+               filler = new Label(getFieldEditorParent(), SWT.NONE);\r
+\r
+               addField(new ColorFieldEditor("Chart.Axis.X.Color", "X axis tick color:", getFieldEditorParent()));\r
+               addField(new ColorFieldEditor("Chart.Axis.Y.Color", "Y axis tick color:", getFieldEditorParent()));\r
+               addField(new ColorFieldEditor("Chart.Grid.X.Color", "X axis grid color:", getFieldEditorParent()));\r
+               addField(new ColorFieldEditor("Chart.Grid.Y.Color", "Y axis grid color:", getFieldEditorParent()));\r
+\r
+               lineColors = new Group(getFieldEditorParent(), SWT.NONE);\r
+               lineColors.setText("Line colors");\r
+                       \r
+               addField(new ColorFieldEditor("Chart.Colors.Data.0", "1st:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.1", "2nd:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.2", "3rd:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.3", "4th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.4", "5th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.5", "6th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.6", "7th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.7", "8th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.8", "9th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.9", "10th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.10", "11th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.11", "12th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.12", "13th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.13", "14th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.14", "15th:", lineColors));\r
+               addField(new ColorFieldEditor("Chart.Colors.Data.15", "16th:", lineColors));\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.preference.FieldEditorPreferencePage#adjustGridLayout()\r
+        */\r
+       @Override\r
+       protected void adjustGridLayout()\r
+       {\r
+               ((GridLayout)getFieldEditorParent().getLayout()).numColumns = 4;\r
+\r
+               GridLayout layout = new GridLayout();\r
+               layout.numColumns = 8;\r
+               layout.makeColumnsEqualWidth = false;\r
+               lineColors.setLayout(layout);\r
+               GridData gd = new GridData();\r
+               gd.horizontalAlignment = SWT.FILL;\r
+               gd.grabExcessHorizontalSpace = true;\r
+               gd.horizontalSpan = 4;\r
+               lineColors.setLayoutData(gd);\r
+               \r
+               gd = new GridData();\r
+               gd.horizontalSpan = 2;\r
+               filler.setLayoutData(gd);\r
+       }\r
+}\r
diff --git a/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/preferencepages/GeneralChartPrefs.java b/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/preferencepages/GeneralChartPrefs.java
new file mode 100644 (file)
index 0000000..05ae419
--- /dev/null
@@ -0,0 +1,65 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.charts.preferencepages;\r
+\r
+import org.eclipse.jface.preference.BooleanFieldEditor;\r
+import org.eclipse.jface.preference.FieldEditorPreferencePage;\r
+import org.eclipse.jface.preference.RadioGroupFieldEditor;\r
+import org.eclipse.ui.IWorkbench;\r
+import org.eclipse.ui.IWorkbenchPreferencePage;\r
+import org.netxms.ui.eclipse.charts.Activator;\r
+\r
+/**\r
+ * General charts preference page\r
+ *\r
+ */\r
+public class GeneralChartPrefs extends FieldEditorPreferencePage implements IWorkbenchPreferencePage\r
+{\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench)\r
+        */\r
+       @Override\r
+       public void init(IWorkbench workbench)\r
+       {\r
+               setPreferenceStore(Activator.getDefault().getPreferenceStore());\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.preference.FieldEditorPreferencePage#createFieldEditors()\r
+        */\r
+       @Override\r
+       protected void createFieldEditors()\r
+       {\r
+               addField(new BooleanFieldEditor("Chart.ShowTitle", "Show chart title", getFieldEditorParent()));\r
+               addField(new BooleanFieldEditor("Chart.ShowToolTips", "Show tooltips when mouse hovers over plot area", getFieldEditorParent()));\r
+\r
+               /*\r
+               final String[][] gridStyles =   new String[][] { \r
+                               { "None", LineStyle.NONE.label },\r
+                               { "Solid", LineStyle.SOLID.label },\r
+                               { "Dash", LineStyle.DASH.label },\r
+                               { "Dot", LineStyle.DOT.label },\r
+                               { "Dash-Dot", LineStyle.DASHDOT.label },\r
+                               { "Dash-Dot-Dot", LineStyle.DASHDOTDOT.label },\r
+                       };\r
+               addField(new RadioGroupFieldEditor("Chart.Grid.X.Style", "Style for X axis grid", 3, gridStyles, getFieldEditorParent(), true));\r
+               addField(new RadioGroupFieldEditor("Chart.Grid.Y.Style", "Style for Y axis grid", 3, gridStyles, getFieldEditorParent(), true));\r
+               */\r
+       }\r
+}\r
diff --git a/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/widgets/GenericChart.java b/webui/webapp/Charts/src/org/netxms/ui/eclipse/charts/widgets/GenericChart.java
new file mode 100644 (file)
index 0000000..cfbf91f
--- /dev/null
@@ -0,0 +1,189 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2011 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.charts.widgets;\r
+\r
+import org.eclipse.jface.preference.IPreferenceStore;\r
+import org.eclipse.swt.widgets.Canvas;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.netxms.ui.eclipse.charts.Activator;\r
+import org.netxms.ui.eclipse.charts.api.ChartColor;\r
+import org.netxms.ui.eclipse.charts.api.DataChart;\r
+\r
+/**\r
+ * Abstract base class for charts\r
+ */\r
+public abstract class GenericChart extends Canvas implements DataChart\r
+{\r
+       protected String title = "Chart";\r
+       protected boolean titleVisible = false;\r
+       protected boolean legendVisible = true;\r
+       protected boolean displayIn3D = true;\r
+       protected boolean useLogScale = false;\r
+       protected boolean translucent = false;\r
+       protected ChartColor[] palette = null;\r
+       protected IPreferenceStore preferenceStore;\r
+       protected int legendPosition;\r
+\r
+       /**\r
+        * Generic constructor.\r
+        * \r
+        * @param parent parent composite\r
+        * @param style SWT control styles\r
+        */\r
+       public GenericChart(Composite parent, int style)\r
+       {\r
+               super(parent, style);\r
+\r
+               preferenceStore = Activator.getDefault().getPreferenceStore();\r
+               createDefaultPalette();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#getTitle()\r
+        */\r
+       @Override\r
+       public String getChartTitle()\r
+       {\r
+               return title;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#isLegendVisible()\r
+        */\r
+       @Override\r
+       public boolean isLegendVisible()\r
+       {\r
+               return legendVisible;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#isTitleVisible()\r
+        */\r
+       @Override\r
+       public boolean isTitleVisible()\r
+       {\r
+               return titleVisible;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#setPalette(org.netxms.ui.eclipse.charts.api.ChartColor[])\r
+        */\r
+       @Override\r
+       public void setPalette(ChartColor[] colors)\r
+       {\r
+               palette = colors;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#setPaletteEntry(int, org.netxms.ui.eclipse.charts.api.ChartColor)\r
+        */\r
+       @Override\r
+       public void setPaletteEntry(int index, ChartColor color)\r
+       {\r
+               try\r
+               {\r
+                       palette[index] = color;\r
+               }\r
+               catch(ArrayIndexOutOfBoundsException e)\r
+               {\r
+               }\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#getPaletteEntry(int)\r
+        */\r
+       @Override\r
+       public ChartColor getPaletteEntry(int index)\r
+       {\r
+               try\r
+               {\r
+                       return palette[index];\r
+               }\r
+               catch(ArrayIndexOutOfBoundsException e)\r
+               {\r
+                       return null;\r
+               }\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#is3DModeEnabled()\r
+        */\r
+       @Override\r
+       public boolean is3DModeEnabled()\r
+       {\r
+               return displayIn3D;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#isLogScaleEnabled()\r
+        */\r
+       @Override\r
+       public boolean isLogScaleEnabled()\r
+       {\r
+               return useLogScale;\r
+       }\r
+\r
+       /**\r
+        * Create default palette from preferences\r
+        */\r
+       protected void createDefaultPalette()\r
+       {\r
+               palette = new ChartColor[MAX_CHART_ITEMS];\r
+               for(int i = 0; i < MAX_CHART_ITEMS; i++)\r
+               {\r
+                       palette[i] = ChartColor.getDefaultColor(i);\r
+               }\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#setLegendPosition(int)\r
+        */\r
+       @Override\r
+       public void setLegendPosition(int position)\r
+       {\r
+               legendPosition = position;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#getLegendPosition()\r
+        */\r
+       @Override\r
+       public int getLegendPosition()\r
+       {\r
+               return legendPosition;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#isTranslucent()\r
+        */\r
+       @Override\r
+       public boolean isTranslucent()\r
+       {\r
+               return translucent;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.netxms.ui.eclipse.charts.api.DataChart#setTranslucent(boolean)\r
+        */\r
+       @Override\r
+       public void setTranslucent(boolean translucent)\r
+       {\r
+               this.translucent = translucent;\r
+       }\r
+}\r
index 9d79203..138253b 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-client-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-client-api-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-base-1.1.8.jar"/>
+       <classpathentry exported="true" kind="lib" path="jar/netxms-base-1.1.9.jar"/>
+       <classpathentry exported="true" kind="lib" path="jar/netxms-client-1.1.9.jar"/>
+       <classpathentry exported="true" kind="lib" path="jar/netxms-client-api-1.1.9.jar"/>
        <classpathentry exported="true" kind="lib" path="jar/simple-xml-2.4.1.jar"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
index 29ed1fe..d65859b 100644 (file)
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
 Bundle-ManifestVersion: 2\r
 Bundle-Name: NetXMS WebUI Core\r
 Bundle-SymbolicName: org.netxms.webui.core; singleton:=true\r
-Bundle-Version: 1.1.7\r
+Bundle-Version: 1.1.9\r
 Bundle-Activator: org.netxms.webui.core.Activator\r
 Bundle-Vendor: netxms.org\r
 Require-Bundle: org.eclipse.rap.ui,\r
@@ -12,9 +12,9 @@ Bundle-ActivationPolicy: lazy
 Import-Package: javax.servlet;version="2.5.0",\r
  javax.servlet.http;version="2.5.0"\r
 Bundle-ClassPath: .,\r
- jar/netxms-base-1.1.8.jar,\r
- jar/netxms-client-api-1.1.8.jar,\r
- jar/netxms-client-1.1.8.jar,\r
+ jar/netxms-base-1.1.9.jar,\r
+ jar/netxms-client-1.1.9.jar,\r
+ jar/netxms-client-api-1.1.9.jar,\r
  jar/simple-xml-2.4.1.jar\r
 Export-Package: org.netxms.api.client,\r
  org.netxms.api.client.constants,\r
@@ -33,6 +33,7 @@ Export-Package: org.netxms.api.client,
  org.netxms.client.maps.elements,\r
  org.netxms.client.objects,\r
  org.netxms.client.objecttools,\r
+ org.netxms.client.packages,\r
  org.netxms.client.reports,\r
  org.netxms.client.situations,\r
  org.netxms.client.snmp,\r
index 36aa7b3..578e102 100644 (file)
@@ -4,6 +4,6 @@ bin.includes = plugin.xml,\
                META-INF/,\\r
                .,\\r
                jar/simple-xml-2.4.1.jar,\\r
-               jar/netxms-base-1.1.8.jar,\\r
-               jar/netxms-client-1.1.8.jar,\\r
-               jar/netxms-client-api-1.1.8.jar\r
+               jar/netxms-base-1.1.9.jar,\\r
+               jar/netxms-client-1.1.9.jar,\\r
+               jar/netxms-client-api-1.1.9.jar\r
diff --git a/webui/webapp/Core/jar/netxms-base-1.1.8.jar b/webui/webapp/Core/jar/netxms-base-1.1.8.jar
deleted file mode 100644 (file)
index f016417..0000000
Binary files a/webui/webapp/Core/jar/netxms-base-1.1.8.jar and /dev/null differ
diff --git a/webui/webapp/Core/jar/netxms-client-1.1.8.jar b/webui/webapp/Core/jar/netxms-client-1.1.8.jar
deleted file mode 100644 (file)
index 95146a0..0000000
Binary files a/webui/webapp/Core/jar/netxms-client-1.1.8.jar and /dev/null differ
diff --git a/webui/webapp/Core/jar/netxms-client-api-1.1.8.jar b/webui/webapp/Core/jar/netxms-client-api-1.1.8.jar
deleted file mode 100644 (file)
index abdb225..0000000
Binary files a/webui/webapp/Core/jar/netxms-client-api-1.1.8.jar and /dev/null differ
index 8ce9029..adf6831 100644 (file)
@@ -26,6 +26,7 @@ import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;\r
 import org.eclipse.jface.dialogs.MessageDialog;\r
 import org.eclipse.jface.operation.IRunnableWithProgress;\r
+import org.eclipse.swt.widgets.Display;\r
 import org.eclipse.ui.IWorkbenchPart;\r
 import org.eclipse.ui.PlatformUI;\r
 import org.eclipse.ui.progress.IProgressService;\r
@@ -44,6 +45,7 @@ public abstract class ConsoleJob extends Job
        private String pluginId;\r
        private Object jobFamily;\r
        private boolean passException = false;\r
+       private Display display;\r
        \r
        /**\r
         * Constructor for console job object\r
@@ -61,6 +63,9 @@ public abstract class ConsoleJob extends Job
                siteService = (wbPart != null) ? \r
                                        (IWorkbenchSiteProgressService)wbPart.getSite().getService(IWorkbenchSiteProgressService.class) : null;\r
                setUser(true);\r
+               display = PlatformUI.getWorkbench().getDisplay();\r
+               if (display == null)\r
+                       throw new IllegalThreadStateException("ConsoleJob constructor called from non-UI thread");\r
        }\r
 \r
        /* (non-Javadoc)\r
@@ -183,6 +188,6 @@ public abstract class ConsoleJob extends Job
         */\r
        protected void runInUIThread(final Runnable runnable)\r
        {\r
-               PlatformUI.getWorkbench().getDisplay().asyncExec(runnable);\r
+               display.asyncExec(runnable);\r
        }\r
 }\r
index a0267f5..e5db59c 100644 (file)
@@ -35,7 +35,7 @@ public class SharedColors
         */\r
        public static void init()\r
        {\r
-               Display display = Display.getCurrent();\r
+               Display display = Display.getDefault();\r
                \r
                BLACK = new Color(display, 0, 0, 0);\r
                RED = new Color(display, 255, 0, 0);\r
index 55f6225..450edc1 100644 (file)
@@ -401,4 +401,12 @@ public abstract class AbstractTraceView extends ViewPart
                this.filter = filter;\r
                viewer.addFilter(filter);\r
        }\r
+       \r
+       /**\r
+        * @param runnable\r
+        */\r
+       protected void runInUIThread(final Runnable runnable)\r
+       {\r
+               viewer.getControl().getDisplay().asyncExec(runnable);\r
+       }\r
 }\r
index 72a3ffc..d6d14b7 100644 (file)
@@ -4,7 +4,7 @@ import org.eclipse.osgi.util.NLS;
 \r
 public class Messages extends NLS\r
 {\r
-       private static final String BUNDLE_NAME = "org.netxms.ui.eclipse.library.messages"; //$NON-NLS-1$\r
+       private static final String BUNDLE_NAME = "org.netxms.webui.core.messages"; //$NON-NLS-1$\r
        public static String AbstractSelector_CopyToClipboard;\r
        public static String AbstractSelector_Select;\r
        public static String ConsoleJob_ErrorDialogTitle;\r
similarity index 53%
copy from webui/webapp/Core/.classpath
copy to webui/webapp/DataCollection/.classpath
index 9d79203..ad32c83 100644 (file)
@@ -1,9 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-client-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-client-api-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/netxms-base-1.1.8.jar"/>
-       <classpathentry exported="true" kind="lib" path="jar/simple-xml-2.4.1.jar"/>
        <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
        <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
        <classpathentry kind="src" path="src"/>
diff --git a/webui/webapp/DataCollection/.project b/webui/webapp/DataCollection/.project
new file mode 100644 (file)
index 0000000..270324a
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+       <name>DataCollection</name>
+       <comment></comment>
+       <projects>
+       </projects>
+       <buildSpec>
+               <buildCommand>
+                       <name>org.eclipse.jdt.core.javabuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.ManifestBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.pde.SchemaBuilder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
+       </buildSpec>
+       <natures>
+               <nature>org.eclipse.pde.PluginNature</nature>
+               <nature>org.eclipse.jdt.core.javanature</nature>
+       </natures>
+</projectDescription>
diff --git a/webui/webapp/DataCollection/.settings/org.eclipse.jdt.core.prefs b/webui/webapp/DataCollection/.settings/org.eclipse.jdt.core.prefs
new file mode 100644 (file)
index 0000000..4f5e5b2
--- /dev/null
@@ -0,0 +1,7 @@
+#Tue Aug 04 18:36:50 EEST 2009\r
+eclipse.preferences.version=1\r
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6\r
+org.eclipse.jdt.core.compiler.compliance=1.6\r
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error\r
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error\r
+org.eclipse.jdt.core.compiler.source=1.6\r
diff --git a/webui/webapp/DataCollection/META-INF/MANIFEST.MF b/webui/webapp/DataCollection/META-INF/MANIFEST.MF
new file mode 100644 (file)
index 0000000..9c4f7d1
--- /dev/null
@@ -0,0 +1,18 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Data Collection Management Plug-in
+Bundle-SymbolicName: org.netxms.ui.eclipse.datacollection;singleton:=true
+Bundle-Version: 1.1.9
+Bundle-Activator: org.netxms.ui.eclipse.datacollection.Activator
+Bundle-Vendor: netxms.org
+Require-Bundle: org.netxms.ui.eclipse.objectbrowser;bundle-version="1.1.9",
+ org.netxms.ui.eclipse.eventmanager;bundle-version="1.1.9",
+ org.netxms.ui.eclipse.objectview;bundle-version="1.1.9",
+ org.netxms.ui.eclipse.snmp;bundle-version="1.1.9",
+ org.netxms.ui.eclipse.nxsl;bundle-version="1.1.9",
+ org.eclipse.core.expressions;bundle-version="3.4.300",
+ org.netxms.webui.core;bundle-version="1.1.9",
+ org.eclipse.rap.ui;bundle-version="1.4.1"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Bundle-ActivationPolicy: lazy
+Export-Package: org.netxms.ui.eclipse.datacollection.dialogs
diff --git a/webui/webapp/DataCollection/build.properties b/webui/webapp/DataCollection/build.properties
new file mode 100644 (file)
index 0000000..71da832
--- /dev/null
@@ -0,0 +1,8 @@
+source.. = src/\r
+output.. = bin/\r
+bin.includes = META-INF/,\\r
+               .,\\r
+               plugin.xml,\\r
+               icons/\r
+bin.excludes = META-INF/.svn/,\\r
+               icons/.svn/\r
diff --git a/webui/webapp/DataCollection/icons/active.gif b/webui/webapp/DataCollection/icons/active.gif
new file mode 100644 (file)
index 0000000..c7394b3
Binary files /dev/null and b/webui/webapp/DataCollection/icons/active.gif differ
diff --git a/webui/webapp/DataCollection/icons/dc_editor.png b/webui/webapp/DataCollection/icons/dc_editor.png
new file mode 100644 (file)
index 0000000..e501b66
Binary files /dev/null and b/webui/webapp/DataCollection/icons/dc_editor.png differ
diff --git a/webui/webapp/DataCollection/icons/delete.png b/webui/webapp/DataCollection/icons/delete.png
new file mode 100644 (file)
index 0000000..1514d51
Binary files /dev/null and b/webui/webapp/DataCollection/icons/delete.png differ
diff --git a/webui/webapp/DataCollection/icons/disabled.gif b/webui/webapp/DataCollection/icons/disabled.gif
new file mode 100644 (file)
index 0000000..af04f54
Binary files /dev/null and b/webui/webapp/DataCollection/icons/disabled.gif differ
diff --git a/webui/webapp/DataCollection/icons/edit.png b/webui/webapp/DataCollection/icons/edit.png
new file mode 100644 (file)
index 0000000..bfcb024
Binary files /dev/null and b/webui/webapp/DataCollection/icons/edit.png differ
diff --git a/webui/webapp/DataCollection/icons/last_values.png b/webui/webapp/DataCollection/icons/last_values.png
new file mode 100644 (file)
index 0000000..693709c
Binary files /dev/null and b/webui/webapp/DataCollection/icons/last_values.png differ
diff --git a/webui/webapp/DataCollection/icons/new.png b/webui/webapp/DataCollection/icons/new.png
new file mode 100644 (file)
index 0000000..2a3e5c4
Binary files /dev/null and b/webui/webapp/DataCollection/icons/new.png differ
diff --git a/webui/webapp/DataCollection/icons/question.png b/webui/webapp/DataCollection/icons/question.png
new file mode 100644 (file)
index 0000000..5b846ba
Binary files /dev/null and b/webui/webapp/DataCollection/icons/question.png differ
diff --git a/webui/webapp/DataCollection/icons/threshold.png b/webui/webapp/DataCollection/icons/threshold.png
new file mode 100644 (file)
index 0000000..25796e0
Binary files /dev/null and b/webui/webapp/DataCollection/icons/threshold.png differ
diff --git a/webui/webapp/DataCollection/icons/unsupported.gif b/webui/webapp/DataCollection/icons/unsupported.gif
new file mode 100644 (file)
index 0000000..1453e5b
Binary files /dev/null and b/webui/webapp/DataCollection/icons/unsupported.gif differ
diff --git a/webui/webapp/DataCollection/plugin.xml b/webui/webapp/DataCollection/plugin.xml
new file mode 100644 (file)
index 0000000..306e881
--- /dev/null
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<?eclipse version="3.2"?>\r
+<plugin>\r
+\r
+   <extension\r
+         point="org.eclipse.ui.views">\r
+      <view\r
+            allowMultiple="true"\r
+            class="org.netxms.ui.eclipse.datacollection.views.DataCollectionEditor"\r
+            icon="icons/dc_editor.png"\r
+            id="org.netxms.ui.eclipse.datacollection.view.data_collection_editor"\r
+            name="Data Collection Configuration"\r
+            restorable="false">\r
+      </view>\r
+      <view\r
+            name="Last Values"\r
+            allowMultiple="true"\r
+            icon="icons/last_values.png"\r
+            class="org.netxms.ui.eclipse.datacollection.views.LastValues"\r
+            id="org.netxms.ui.eclipse.datacollection.view.last_values">\r
+      </view>\r
+   </extension>\r
+   \r
+   <extension\r
+         point="org.eclipse.ui.popupMenus">\r
+      <objectContribution\r
+            id="org.netxms.ui.eclipse.datacollection.actions.popup.object.Node"\r
+            objectClass="org.netxms.client.objects.Node">\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.OpenEditor"\r
+               enablesFor="1"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.OpenEditor#Node"\r
+               label="Data Collection Configuration"\r
+               icon="icons/dc_editor.png"\r
+               menubarPath="datacollection">\r
+         </action>\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.ShowLastValues"\r
+               enablesFor="1"\r
+               icon="icons/last_values.png"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.ShowLastValues"\r
+               label="Last values"\r
+               menubarPath="datacollection">\r
+         </action>\r
+      </objectContribution>\r
+      <objectContribution\r
+            id="org.netxms.ui.eclipse.datacollection.actions.popup.object.Template"\r
+            objectClass="org.netxms.client.objects.Template">\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.OpenEditor"\r
+               enablesFor="1"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.OpenEditor#Template"\r
+               label="Data Collection Configuration"\r
+               icon="icons/dc_editor.png"\r
+               menubarPath="datacollection">\r
+         </action>\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.RemoveTemplate"\r
+               enablesFor="1"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.RemoveTemplate"\r
+               label="&amp;Remove..."\r
+               menubarPath="objectbinding"\r
+               style="push"\r
+               tooltip="Remove template from node(s)">\r
+         </action>\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.ApplyTemplate"\r
+               enablesFor="1"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.ApplyTemplate"\r
+               label="&amp;Apply..."\r
+               menubarPath="objectbinding"\r
+               style="push"\r
+               tooltip="Apply template to node(s)">\r
+         </action>\r
+      </objectContribution>\r
+      <objectContribution\r
+            adaptable="false"\r
+            id="org.netxms.ui.eclipse.datacollection.actions.popup.object.TemplateRoot"\r
+            objectClass="org.netxms.client.objects.TemplateRoot">\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.CreateTemplateGroup"\r
+               enablesFor="1"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.CreateTemplateGroup#TemplateRoot"\r
+               label="Create template &amp;group..."\r
+               menubarPath="objectcreation">\r
+         </action>\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.CreateTemplate"\r
+               enablesFor="1"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.CreateTemplate#TemplateRoot"\r
+               label="Create &amp;template..."\r
+               menubarPath="objectcreation">\r
+         </action>\r
+      </objectContribution>\r
+      <objectContribution\r
+            adaptable="false"\r
+            id="org.netxms.ui.eclipse.datacollection.actions.popup.object.TemplateGroup"\r
+            objectClass="org.netxms.client.objects.TemplateGroup">\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.CreateTemplateGroup"\r
+               enablesFor="1"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.CreateTemplateGroup#TemplateGroup"\r
+               label="Create template &amp;group..."\r
+               menubarPath="objectcreation">\r
+         </action>\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.CreateTemplate"\r
+               enablesFor="1"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.CreateTemplate#TemplateGroup"\r
+               label="Create &amp;template..."\r
+               menubarPath="objectcreation">\r
+         </action>\r
+      </objectContribution>\r
+      <objectContribution\r
+            adaptable="false"\r
+            id="org.netxms.ui.eclipse.datacollection.actions.popup.object.Interface"\r
+            objectClass="org.netxms.client.objects.Interface">\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.CreateInterfraceDci"\r
+               enablesFor="+"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.CreateInterfaceDci#Interface"\r
+               label="Create data collection items..."\r
+               menubarPath="datacollection">\r
+         </action>\r
+      </objectContribution>\r
+      <objectContribution\r
+            adaptable="false"\r
+            id="org.netxms.ui.eclipse.datacollection.actions.popup.object.Cluster"\r
+            objectClass="org.netxms.client.objects.Cluster">\r
+         <action\r
+               class="org.netxms.ui.eclipse.datacollection.actions.OpenEditor"\r
+               enablesFor="1"\r
+               icon="icons/dc_editor.png"\r
+               id="org.netxms.ui.eclipse.datacollection.popupActions.OpenEditor#Cluster"\r
+               label="Data Collection Configuration"\r
+               menubarPath="datacollection">\r
+         </action>\r
+      </objectContribution>\r
+   </extension>\r
+\r
+  <extension\r
+     point="org.eclipse.ui.propertyPages">\r
+        <page\r
+           id="org.netxms.ui.eclipse.datacollection.propertypages.General#0"\r
+           name="General"\r
+              class="org.netxms.ui.eclipse.datacollection.propertypages.General">\r
+          <enabledWhen>\r
+             <instanceof\r
+                  value="org.netxms.client.datacollection.DataCollectionItem">\r
+             </instanceof>\r
+          </enabledWhen>\r
+        </page>\r
+        <page\r
+           id="org.netxms.ui.eclipse.datacollection.propertypages.CustomSchedule#10"\r
+           name="Custom Schedule"\r
+              class="org.netxms.ui.eclipse.datacollection.propertypages.CustomSchedule">\r
+          <enabledWhen>\r
+             <instanceof\r
+                  value="org.netxms.client.datacollection.DataCollectionItem">\r
+             </instanceof>\r
+          </enabledWhen>\r
+        </page>\r
+        <page\r
+           id="org.netxms.ui.eclipse.datacollection.propertypages.Transformation#20"\r
+           name="Transformation"\r
+              class="org.netxms.ui.eclipse.datacollection.propertypages.Transformation">\r
+          <enabledWhen>\r
+             <instanceof\r
+                  value="org.netxms.client.datacollection.DataCollectionItem">\r
+             </instanceof>\r
+          </enabledWhen>\r
+        </page>\r
+        <page\r
+           id="org.netxms.ui.eclipse.datacollection.propertypages.Thresholds#30"\r
+           name="Thresholds"\r
+              class="org.netxms.ui.eclipse.datacollection.propertypages.Thresholds">\r
+          <enabledWhen>\r
+             <instanceof\r
+                  value="org.netxms.client.datacollection.DataCollectionItem">\r
+             </instanceof>\r
+          </enabledWhen>\r
+        </page>\r
+   </extension>\r
+\r
+  <extension\r
+     point="org.eclipse.core.runtime.adapters">\r
+        <factory \r
+           class="org.netxms.ui.eclipse.datacollection.DataCollectionAdapterFactory" \r
+           adaptableType="org.netxms.client.datacollection.DataCollectionItem">\r
+          <adapter type="org.eclipse.ui.model.IWorkbenchAdapter"/>\r
+        </factory>\r
+  </extension>\r
+\r
+   <extension\r
+         point="org.netxms.ui.eclipse.objectview.tabs">\r
+      <tab\r
+            class="org.netxms.ui.eclipse.datacollection.objecttabs.LastValues"\r
+            icon="icons/last_values.png"\r
+            name="Last Values"\r
+            order="20">\r
+      </tab>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.ui.commands">\r
+      <command\r
+            description="Toggle DCI Filter"\r
+            id="org.netxms.ui.eclipse.datacollection.commands.show_dci_filter"\r
+            name="Toggle DCI Filter">\r
+         <defaultHandler\r
+               class="org.netxms.ui.eclipse.datacollection.actions.ToggleDCIFilterHandler">\r
+            <parameter\r
+                  name="default"\r
+                  value="default">\r
+            </parameter>\r
+         </defaultHandler>\r
+         <state\r
+               class="org.eclipse.jface.commands.ToggleState"\r
+               id="org.netxms.ui.eclipse.datacollection.commands.show_dci_filter.state">\r
+         </state>\r
+      </command>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.ui.bindings">\r
+      <key\r
+            commandId="org.netxms.ui.eclipse.datacollection.commands.show_dci_filter"\r
+            contextId="org.netxms.ui.eclipse.datacollection.context.LastValues"\r
+            schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"\r
+            sequence="Ctrl+F2">\r
+      </key>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.ui.contexts">\r
+      <context\r
+            id="org.netxms.ui.eclipse.datacollection.context.LastValues"\r
+            name="Last Values List"\r
+            parentId="org.eclipse.ui.contexts.window">\r
+      </context>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.ui.menus">\r
+      <menuContribution\r
+            allPopups="false"\r
+            locationURI="menu:org.netxms.ui.eclipse.objectview.view.tabbed_object_view?after=additions">\r
+         <command\r
+               commandId="org.netxms.ui.eclipse.datacollection.commands.show_dci_filter"\r
+               label="Show DCI &amp;filter"\r
+               style="toggle"\r
+               tooltip="Show/hide DCI filter">\r
+            <visibleWhen\r
+                  checkEnabled="false">\r
+               <with\r
+                     variable="nxmcObjectViewActiveTab">\r
+                  <instanceof\r
+                        value="org.netxms.ui.eclipse.datacollection.objecttabs.LastValues">\r
+                  </instanceof>\r
+               </with>\r
+            </visibleWhen>\r
+         </command>\r
+      </menuContribution>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.ui.services">\r
+      <sourceProvider\r
+            provider="org.netxms.ui.eclipse.objectview.services.SourceProvider">\r
+         <variable\r
+               name="nxmcObjectViewActiveTab"\r
+               priorityLevel="workbench">\r
+         </variable>\r
+      </sourceProvider>\r
+   </extension>\r
+\r
+</plugin>\r
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/Activator.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/Activator.java
new file mode 100644 (file)
index 0000000..412f76d
--- /dev/null
@@ -0,0 +1,91 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2009 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.datacollection;\r
+\r
+import org.eclipse.jface.resource.ImageDescriptor;\r
+import org.eclipse.ui.plugin.AbstractUIPlugin;\r
+import org.osgi.framework.BundleContext;\r
+\r
+/**\r
+ * The activator class controls the plug-in life cycle\r
+ */\r
+public class Activator extends AbstractUIPlugin\r
+{\r
+       // The plug-in ID\r
+       public static final String PLUGIN_ID = "org.netxms.ui.eclipse.datacollection";\r
+\r
+       // The shared instance\r
+       private static Activator plugin;\r
+\r
+       /**\r
+        * The constructor\r
+        */\r
+       public Activator()\r
+       {\r
+       }\r
+\r
+       /*\r
+        * (non-Javadoc)\r
+        * \r
+        * @see\r
+        * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext\r
+        * )\r
+        */\r
+       public void start(BundleContext context) throws Exception\r
+       {\r
+               super.start(context);\r
+               plugin = this;\r
+       }\r
+\r
+       /*\r
+        * (non-Javadoc)\r
+        * \r
+        * @see\r
+        * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext\r
+        * )\r
+        */\r
+       public void stop(BundleContext context) throws Exception\r
+       {\r
+               plugin = null;\r
+               super.stop(context);\r
+       }\r
+\r
+       /**\r
+        * Returns the shared instance\r
+        * \r
+        * @return the shared instance\r
+        */\r
+       public static Activator getDefault()\r
+       {\r
+               return plugin;\r
+       }\r
+\r
+       /**\r
+        * Returns an image descriptor for the image file at the given plug-in\r
+        * relative path\r
+        * \r
+        * @param path\r
+        *           the path\r
+        * @return the image descriptor\r
+        */\r
+       public static ImageDescriptor getImageDescriptor(String path)\r
+       {\r
+               return imageDescriptorFromPlugin(PLUGIN_ID, path);\r
+       }\r
+}\r
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/DataCollectionAdapterFactory.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/DataCollectionAdapterFactory.java
new file mode 100644 (file)
index 0000000..a2a8a54
--- /dev/null
@@ -0,0 +1,91 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2009 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.datacollection;\r
+\r
+import org.eclipse.core.runtime.IAdapterFactory;\r
+import org.eclipse.jface.resource.ImageDescriptor;\r
+import org.eclipse.ui.model.IWorkbenchAdapter;\r
+import org.netxms.client.datacollection.DataCollectionItem;\r
+\r
+/**\r
+ * Adapter factory for data collection objects\r
+ * \r
+ */\r
+public class DataCollectionAdapterFactory implements IAdapterFactory\r
+{\r
+       @SuppressWarnings("rawtypes")\r
+       private static final Class[] supportedClasses = \r
+       {\r
+               IWorkbenchAdapter.class\r
+       };\r
+       \r
+       private static final String[] dciStatusImages = { "icons/active.gif", "icons/disabled.gif", "icons/unsupported.gif" };\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.core.runtime.IAdapterFactory#getAdapter(java.lang.Object, java.lang.Class)\r
+        */\r
+       @SuppressWarnings("rawtypes")\r
+       @Override\r
+       public Object getAdapter(Object adaptableObject, Class adapterType)\r
+       {\r
+               if (adapterType == IWorkbenchAdapter.class)\r
+               {\r
+                       // NXCUser\r
+                       if (adaptableObject instanceof DataCollectionItem)\r
+                       {\r
+                               return new IWorkbenchAdapter() {\r
+                                       @Override\r
+                                       public Object[] getChildren(Object o)\r
+                                       {\r
+                                               return null;\r
+                                       }\r
+\r
+                                       @Override\r
+                                       public ImageDescriptor getImageDescriptor(Object object)\r
+                                       {\r
+                                               return Activator.getImageDescriptor(dciStatusImages[((DataCollectionItem)object).getStatus()]);\r
+                                       }\r
+\r
+                                       @Override\r
+                                       public String getLabel(Object o)\r
+                                       {\r
+                                               return ((DataCollectionItem)o).getDescription();\r
+                                       }\r
+\r
+                                       @Override\r
+                                       public Object getParent(Object o)\r
+                                       {\r
+                                               return null;\r
+                                       }\r
+                               };\r
+                       }\r
+               }\r
+               return null;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.core.runtime.IAdapterFactory#getAdapterList()\r
+        */\r
+       @SuppressWarnings("rawtypes")\r
+       @Override\r
+       public Class[] getAdapterList()\r
+       {\r
+               return supportedClasses;\r
+       }\r
+}\r
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/DciComparator.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/DciComparator.java
new file mode 100644 (file)
index 0000000..a52c79b
--- /dev/null
@@ -0,0 +1,88 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2009 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.datacollection;\r
+\r
+import org.eclipse.jface.viewers.Viewer;\r
+import org.eclipse.jface.viewers.ViewerComparator;\r
+import org.eclipse.swt.SWT;\r
+import org.netxms.client.datacollection.DataCollectionItem;\r
+import org.netxms.ui.eclipse.datacollection.views.DataCollectionEditor;\r
+import org.netxms.ui.eclipse.datacollection.views.helpers.DciLabelProvider;\r
+import org.netxms.ui.eclipse.widgets.SortableTableViewer;\r
+\r
+/**\r
+ * @author Victor\r
+ *\r
+ */\r
+public class DciComparator extends ViewerComparator\r
+{\r
+       private DciLabelProvider labelProvider;\r
+       \r
+       /**\r
+        * Default constructor\r
+        */\r
+       public DciComparator(DciLabelProvider labelProvider)\r
+       {\r
+               this.labelProvider = labelProvider;\r
+       }\r
+       \r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.ViewerComparator#compare(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)\r
+        */\r
+       @Override\r
+       public int compare(Viewer viewer, Object e1, Object e2)\r
+       {\r
+               int result;\r
+\r
+               DataCollectionItem dci1 = (DataCollectionItem)e1;\r
+               DataCollectionItem dci2 = (DataCollectionItem)e2;\r
+\r
+               int column = (Integer)((SortableTableViewer)viewer).getTable().getSortColumn().getData("ID");\r
+               switch(column)\r
+               {\r
+                       case DataCollectionEditor.COLUMN_ID:\r
+                               result = (int)(dci1.getId() - dci2.getId());\r
+                               break;\r
+                       case DataCollectionEditor.COLUMN_DESCRIPTION:\r
+                               result = dci1.getDescription().compareToIgnoreCase(dci2.getDescription());\r
+                               break;\r
+                       case DataCollectionEditor.COLUMN_PARAMETER:\r
+                               result = dci1.getName().compareToIgnoreCase(dci2.getName());\r
+                               break;\r
+                       case DataCollectionEditor.COLUMN_INTERVAL:\r
+                               result = (int)(dci1.getPollingInterval() - dci2.getPollingInterval());\r
+                               break;\r
+                       case DataCollectionEditor.COLUMN_RETENTION:\r
+                               result = (int)(dci1.getRetentionTime() - dci2.getRetentionTime());\r
+                               break;\r
+                       case DataCollectionEditor.COLUMN_ORIGIN:\r
+                       case DataCollectionEditor.COLUMN_DATATYPE:\r
+                       case DataCollectionEditor.COLUMN_STATUS:\r
+                       case DataCollectionEditor.COLUMN_TEMPLATE:\r
+                               final String text1 = labelProvider.getColumnText(e1, column);\r
+                               final String text2 = labelProvider.getColumnText(e2, column);\r
+                               result = text1.compareToIgnoreCase(text2);\r
+                               break;\r
+                       default:\r
+                               result = 0;\r
+                               break;\r
+               }\r
+               return (((SortableTableViewer)viewer).getTable().getSortDirection() == SWT.UP) ? result : -result;\r
+       }\r
+}\r
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/ThresholdLabelProvider.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/ThresholdLabelProvider.java
new file mode 100644 (file)
index 0000000..da8b9c5
--- /dev/null
@@ -0,0 +1,102 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2012 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.datacollection;\r
+\r
+import org.eclipse.jface.viewers.ITableLabelProvider;\r
+import org.eclipse.jface.viewers.LabelProvider;\r
+import org.eclipse.swt.graphics.Image;\r
+import org.eclipse.ui.model.WorkbenchLabelProvider;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.datacollection.Threshold;\r
+import org.netxms.client.events.EventTemplate;\r
+import org.netxms.ui.eclipse.console.resources.StatusDisplayInfo;\r
+import org.netxms.ui.eclipse.datacollection.propertypages.Thresholds;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+/**\r
+ * Label provider for threshold objects\r
+ */\r
+public class ThresholdLabelProvider extends LabelProvider implements ITableLabelProvider\r
+{\r
+       private static final String[] functions = { "last(", "average(", "deviation(", "diff()", "error(", "sum(" };\r
+       private static final String[] operations = { "<", "<=", "==", ">=", ">", "!=", "like", "!like" };\r
+       \r
+       private WorkbenchLabelProvider eventLabelProvider = new WorkbenchLabelProvider();\r
+       private NXCSession session = (NXCSession)ConsoleSharedData.getSession();\r
+       private Image thresholdIcon = Activator.getImageDescriptor("icons/threshold.png").createImage();\r
+       \r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object, int)\r
+        */\r
+       @Override\r
+       public Image getColumnImage(Object element, int columnIndex)\r
+       {\r
+               switch(columnIndex)\r
+               {\r
+                       case Thresholds.COLUMN_OPERATION:\r
+                               return thresholdIcon;\r
+                       case Thresholds.COLUMN_EVENT:\r
+                               final EventTemplate event = session.findEventTemplateByCode(((Threshold)element).getFireEvent());\r
+                               return StatusDisplayInfo.getStatusImage(event.getSeverity());\r
+               }\r
+               return null;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object, int)\r
+        */\r
+       @Override\r
+       public String getColumnText(Object element, int columnIndex)\r
+       {\r
+               switch(columnIndex)\r
+               {\r
+                       case Thresholds.COLUMN_OPERATION:\r
+                               int f = ((Threshold)element).getFunction();\r
+                               StringBuilder text = new StringBuilder(functions[f]);\r
+                               if (f != Threshold.F_DIFF)\r
+                               {\r
+                                       text.append(((Threshold)element).getArg1());\r
+                                       text.append(") ");\r
+                               }\r
+                               else\r
+                               {\r
+                                       text.append(' ');\r
+                               }\r
+                               text.append(operations[((Threshold)element).getOperation()]);\r
+                               text.append(' ');\r
+                               text.append(((Threshold)element).getValue());\r
+                               return text.toString();\r
+                       case Thresholds.COLUMN_EVENT:\r
+                               final EventTemplate event = session.findEventTemplateByCode(((Threshold)element).getFireEvent());\r
+                               return eventLabelProvider.getText(event);\r
+               }\r
+               return null;\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.jface.viewers.IBaseLabelProvider#dispose()\r
+        */\r
+       @Override\r
+       public void dispose()\r
+       {\r
+               eventLabelProvider.dispose();\r
+               thresholdIcon.dispose();\r
+               super.dispose();\r
+       }\r
+}\r
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/ApplyTemplate.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/ApplyTemplate.java
new file mode 100644 (file)
index 0000000..16ae6cc
--- /dev/null
@@ -0,0 +1,110 @@
+/**
+ * NetXMS - open source network management system
+ * Copyright (C) 2003-2011 Victor Kirhenshtein
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */package org.netxms.ui.eclipse.datacollection.actions;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.window.Window;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IObjectActionDelegate;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.part.ViewPart;
+import org.netxms.client.NXCSession;
+import org.netxms.client.objects.GenericObject;
+import org.netxms.client.objects.Template;
+import org.netxms.ui.eclipse.datacollection.Activator;
+import org.netxms.ui.eclipse.jobs.ConsoleJob;
+import org.netxms.ui.eclipse.objectbrowser.dialogs.ObjectSelectionDialog;
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;
+
+/**
+ * "Apply template" action
+ */
+public class ApplyTemplate implements IObjectActionDelegate
+{
+       private Shell shell;
+       private ViewPart viewPart;
+       private long parentId;
+
+       /**
+        * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
+        */
+       public void setActivePart(IAction action, IWorkbenchPart targetPart)
+       {
+               shell = targetPart.getSite().getShell();
+               viewPart = (targetPart instanceof ViewPart) ? (ViewPart)targetPart : null;
+       }
+
+       /**
+        * @see IActionDelegate#run(IAction)
+        */
+       public void run(IAction action)
+       {
+               final ObjectSelectionDialog dlg = new ObjectSelectionDialog(shell, null, ObjectSelectionDialog.createNodeSelectionFilter());
+               if (dlg.open() == Window.OK)
+               {
+                       final NXCSession session = (NXCSession)ConsoleSharedData.getSession();
+                       new ConsoleJob("Apply template", viewPart, Activator.PLUGIN_ID, null) {
+                               @Override
+                               protected String getErrorMessage()
+                               {
+                                       return "Cannot apply data collection template";
+                               }
+
+                               @Override
+                               protected void runInternal(IProgressMonitor monitor) throws Exception
+                               {
+                                       List<GenericObject> objects = dlg.getSelectedObjects();
+                                       for(GenericObject o : objects)
+                                               session.applyTemplate(parentId, o.getObjectId());
+                               }
+                       }.start();
+               }
+       }
+
+       /**
+        * @see IActionDelegate#selectionChanged(IAction, ISelection)
+        */
+       public void selectionChanged(IAction action, ISelection selection)
+       {
+               if ((selection instanceof IStructuredSelection) &&
+                        (((IStructuredSelection)selection).size() == 1))
+               {
+                       Object obj = ((IStructuredSelection)selection).getFirstElement();
+                       if (obj instanceof Template)
+                       {
+                               action.setEnabled(true);
+                               parentId = ((GenericObject)obj).getObjectId();
+                       }
+                       else
+                       {
+                               action.setEnabled(false);
+                               parentId = 0;
+                       }
+               }
+               else
+               {
+                       action.setEnabled(false);
+                       parentId = 0;
+               }
+       }
+}
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateInterfraceDci.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateInterfraceDci.java
new file mode 100644 (file)
index 0000000..adb590e
--- /dev/null
@@ -0,0 +1,251 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2011 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.datacollection.actions;\r
+\r
+import java.util.ArrayList;\r
+import java.util.HashMap;\r
+import java.util.HashSet;\r
+import java.util.List;\r
+import java.util.Map;\r
+import java.util.Set;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.IAction;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.jface.window.Window;\r
+import org.eclipse.swt.widgets.Shell;\r
+import org.eclipse.ui.IObjectActionDelegate;\r
+import org.eclipse.ui.IViewReference;\r
+import org.eclipse.ui.IWorkbenchPage;\r
+import org.eclipse.ui.IWorkbenchPart;\r
+import org.eclipse.ui.PlatformUI;\r
+import org.eclipse.ui.part.ViewPart;\r
+import org.netxms.client.NXCException;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.constants.RCC;\r
+import org.netxms.client.datacollection.DataCollectionConfiguration;\r
+import org.netxms.client.datacollection.DataCollectionItem;\r
+import org.netxms.client.objects.Interface;\r
+import org.netxms.client.objects.Node;\r
+import org.netxms.ui.eclipse.datacollection.Activator;\r
+import org.netxms.ui.eclipse.datacollection.dialogs.CreateInterfaceDciDialog;\r
+import org.netxms.ui.eclipse.datacollection.dialogs.helpers.InterfaceDciInfo;\r
+import org.netxms.ui.eclipse.datacollection.views.DataCollectionEditor;\r
+import org.netxms.ui.eclipse.jobs.ConsoleJob;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+/**\r
+ * "Create DCI for interface" action\r
+ */\r
+public class CreateInterfraceDci implements IObjectActionDelegate\r
+{\r
+       private static final int IFDCI_IN_BYTES = 0;\r
+       private static final int IFDCI_OUT_BYTES = 1;\r
+       private static final int IFDCI_IN_PACKETS = 2;\r
+       private static final int IFDCI_OUT_PACKETS = 3;\r
+       private static final int IFDCI_IN_ERRORS = 4;\r
+       private static final int IFDCI_OUT_ERRORS = 5;\r
+       \r
+       private Shell shell;\r
+       private ViewPart viewPart;\r
+       private List<Interface> objects = new ArrayList<Interface>();\r
+\r
+       /**\r
+        * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)\r
+        */\r
+       public void setActivePart(IAction action, IWorkbenchPart targetPart)\r
+       {\r
+               shell = targetPart.getSite().getShell();\r
+               viewPart = (targetPart instanceof ViewPart) ? (ViewPart)targetPart : null;\r
+       }\r
+\r
+       /**\r
+        * @see IActionDelegate#run(IAction)\r
+        */\r
+       public void run(IAction action)\r
+       {\r
+               final CreateInterfaceDciDialog dlg = new CreateInterfaceDciDialog(shell, (objects.size() == 1) ? objects.get(0) : null);\r
+               if (dlg.open() == Window.OK)\r
+               {\r
+                       final List<Interface> ifaces = new ArrayList<Interface>(objects);\r
+                       \r
+                       // Get set of nodes\r
+                       final Set<Node> nodes = new HashSet<Node>();\r
+                       for(Interface iface : ifaces)\r
+                       {\r
+                               Node node = iface.getParentNode();\r
+                               if (node != null)\r
+                               {\r
+                                       nodes.add(node);\r
+                               }\r
+                       }\r
+                       \r
+                       // Check what nodes requires DCI list lock\r
+                       final Map<Long, Boolean> lockRequired = new HashMap<Long, Boolean>(nodes.size());\r
+                       final IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();\r
+                       for(Node n : nodes)\r
+                       {\r
+                               IViewReference ref = page.findViewReference(DataCollectionEditor.ID, Long.toString(n.getObjectId()));\r
+                               lockRequired.put(n.getObjectId(), !((ref != null) && (ref.getView(false) != null)));\r
+                       }\r
+                       \r
+                       new ConsoleJob("Create DCIs for interface", viewPart, Activator.PLUGIN_ID, null) {\r
+                               @Override\r
+                               protected String getErrorMessage()\r
+                               {\r
+                                       return "Cannot create DCI for interface";\r
+                               }\r
+\r
+                               @Override\r
+                               protected void runInternal(IProgressMonitor monitor) throws Exception\r
+                               {\r
+                                       InterfaceDciInfo[] dciInfo = dlg.getDciInfo();\r
+                                       monitor.beginTask("Creating DCIs", ifaces.size() * dciInfo.length);\r
+                                       for(int i = 0; i < ifaces.size(); i++)\r
+                                       {\r
+                                               for(int j = 0; j < dciInfo.length; j++)\r
+                                               {\r
+                                                       if (dciInfo[j].enabled)\r
+                                                       {\r
+                                                               createInterfaceDci(ifaces.get(i), j, dciInfo[j], dlg.getPollingInterval(), \r
+                                                                               dlg.getRetentionTime(), ifaces.size() > 1, lockRequired);\r
+                                                       }\r
+                                                       monitor.worked(1);\r
+                                               }\r
+                                       }\r
+                                       monitor.done();\r
+                               }\r
+                       }.start();\r
+               }\r
+       }\r
+\r
+       /**\r
+        * @param iface\r
+        * @param dciType\r
+        * @param dciInfo\r
+        * @throws Exception\r
+        */\r
+       private static void createInterfaceDci(Interface iface, int dciType, InterfaceDciInfo dciInfo, int pollingInterval,\r
+                       int retentionTime, boolean updateDescription, Map<Long, Boolean> lockRequired) throws Exception\r
+       {\r
+               Node node = iface.getParentNode();\r
+               if (node == null)\r
+                       throw new NXCException(RCC.INTERNAL_ERROR);\r
+               \r
+               final NXCSession session = (NXCSession)ConsoleSharedData.getSession();\r
+               DataCollectionConfiguration dcc;\r
+               if (lockRequired.get(node.getObjectId()))\r
+               {\r
+                       dcc = session.openDataCollectionConfiguration(node.getObjectId());\r
+               }\r
+               else\r
+               {\r
+                       dcc = new DataCollectionConfiguration(session, node.getObjectId());\r
+               }\r
+\r
+               final DataCollectionItem dci = dcc.findItem(dcc.createItem());\r
+               dci.setPollingInterval(pollingInterval);\r
+               dci.setRetentionTime(retentionTime);\r
+               dci.setOrigin(node.hasAgent() ? DataCollectionItem.AGENT : DataCollectionItem.SNMP);\r
+               dci.setDataType(DataCollectionItem.DT_UINT);\r
+               dci.setStatus(DataCollectionItem.ACTIVE);\r
+               dci.setDescription(updateDescription ? dciInfo.description.replaceAll("@@ifName@@", iface.getObjectName()) : dciInfo.description);\r
+               dci.setDeltaCalculation(dciInfo.delta ? DataCollectionItem.DELTA_AVERAGE_PER_SECOND : DataCollectionItem.DELTA_NONE);\r
+               \r
+               if (dci.getOrigin() == DataCollectionItem.AGENT)\r
+               {\r
+                       switch(dciType)\r
+                       {\r
+                               case IFDCI_IN_BYTES:\r
+                                       dci.setName("Net.Interface.BytesIn(" + iface.getIfIndex() + ")");\r
+                                       break;\r
+                               case IFDCI_OUT_BYTES:\r
+                                       dci.setName("Net.Interface.BytesOut(" + iface.getIfIndex() + ")");\r
+                                       break;\r
+                               case IFDCI_IN_PACKETS:\r
+                                       dci.setName("Net.Interface.PacketsIn(" + iface.getIfIndex() + ")");\r
+                                       break;\r
+                               case IFDCI_OUT_PACKETS:\r
+                                       dci.setName("Net.Interface.PacketsOut(" + iface.getIfIndex() + ")");\r
+                                       break;\r
+                               case IFDCI_IN_ERRORS:\r
+                                       dci.setName("Net.Interface.InErrors(" + iface.getIfIndex() + ")");\r
+                                       break;\r
+                               case IFDCI_OUT_ERRORS:\r
+                                       dci.setName("Net.Interface.OutErrors(" + iface.getIfIndex() + ")");\r
+                                       break;\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       switch(dciType)\r
+                       {\r
+                               case IFDCI_IN_BYTES:\r
+                                       dci.setName(".1.3.6.1.2.1.2.2.1.10." + iface.getIfIndex());\r
+                                       break;\r
+                               case IFDCI_OUT_BYTES:\r
+                                       dci.setName(".1.3.6.1.2.1.2.2.1.16." + iface.getIfIndex());\r
+                                       break;\r
+                               case IFDCI_IN_PACKETS:\r
+                                       dci.setName(".1.3.6.1.2.1.2.2.1.11." + iface.getIfIndex());\r
+                                       break;\r
+                               case IFDCI_OUT_PACKETS:\r
+                                       dci.setName(".1.3.6.1.2.1.2.2.1.17." + iface.getIfIndex());\r
+                                       break;\r
+                               case IFDCI_IN_ERRORS:\r
+                                       dci.setName(".1.3.6.1.2.1.2.2.1.14." + iface.getIfIndex());\r
+                                       break;\r
+                               case IFDCI_OUT_ERRORS:\r
+                                       dci.setName(".1.3.6.1.2.1.2.2.1.20." + iface.getIfIndex());\r
+                                       break;\r
+                       }\r
+               }\r
+               \r
+               dcc.modifyItem(dci);\r
+                       \r
+               if (lockRequired.get(node.getObjectId()))\r
+               {\r
+                       dcc.close();\r
+               }\r
+       }\r
+       \r
+       /**\r
+        * @see IActionDelegate#selectionChanged(IAction, ISelection)\r
+        */\r
+       public void selectionChanged(IAction action, ISelection selection)\r
+       {\r
+               objects.clear();\r
+               if ((selection instanceof IStructuredSelection) &&\r
+                        (((IStructuredSelection)selection).size() > 0))\r
+               {\r
+                       for(Object o : ((IStructuredSelection)selection).toList())\r
+                       {\r
+                               if (o instanceof Interface)\r
+                                       objects.add((Interface)o);\r
+                       }\r
+                       \r
+                       action.setEnabled(objects.size() > 0);\r
+               }\r
+               else\r
+               {\r
+                       action.setEnabled(false);\r
+               }\r
+       }\r
+}\r
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateTemplate.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateTemplate.java
new file mode 100644 (file)
index 0000000..a51d59c
--- /dev/null
@@ -0,0 +1,111 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.datacollection.actions;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.IAction;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.jface.window.Window;\r
+import org.eclipse.ui.IObjectActionDelegate;\r
+import org.eclipse.ui.IWorkbenchPart;\r
+import org.eclipse.ui.IWorkbenchWindow;\r
+import org.netxms.client.NXCObjectCreationData;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.objects.GenericObject;\r
+import org.netxms.client.objects.TemplateGroup;\r
+import org.netxms.client.objects.TemplateRoot;\r
+import org.netxms.ui.eclipse.datacollection.Activator;\r
+import org.netxms.ui.eclipse.jobs.ConsoleJob;\r
+import org.netxms.ui.eclipse.objectbrowser.dialogs.CreateObjectDialog;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+/**\r
+ * Create container object\r
+ *\r
+ */\r
+public class CreateTemplate implements IObjectActionDelegate\r
+{\r
+       private IWorkbenchWindow window;\r
+       private IWorkbenchPart part;\r
+       private long parentId = -1;\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)\r
+        */\r
+       @Override\r
+       public void setActivePart(IAction action, IWorkbenchPart targetPart)\r
+       {\r
+               part = targetPart;\r
+               window = targetPart.getSite().getWorkbenchWindow();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)\r
+        */\r
+       @Override\r
+       public void run(IAction action)\r
+       {\r
+               final CreateObjectDialog dlg = new CreateObjectDialog(window.getShell(), "Template");\r
+               if (dlg.open() != Window.OK)\r
+                       return;\r
+               \r
+               new ConsoleJob("Create template", part, Activator.PLUGIN_ID, null) {\r
+                       @Override\r
+                       protected void runInternal(IProgressMonitor monitor) throws Exception\r
+                       {\r
+                               NXCSession session = (NXCSession)ConsoleSharedData.getSession();\r
+                               NXCObjectCreationData cd = new NXCObjectCreationData(GenericObject.OBJECT_TEMPLATE, dlg.getObjectName(), parentId);\r
+                               session.createObject(cd);\r
+                       }\r
+\r
+                       @Override\r
+                       protected String getErrorMessage()\r
+                       {\r
+                               return "Cannot create template object \"" + dlg.getObjectName() + "\"";\r
+                       }\r
+               }.start();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)\r
+        */\r
+       @Override\r
+       public void selectionChanged(IAction action, ISelection selection)\r
+       {\r
+               if ((selection instanceof IStructuredSelection) && (((IStructuredSelection)selection).size() == 1))\r
+               {\r
+                       final Object object = ((IStructuredSelection)selection).getFirstElement();\r
+                       if ((object instanceof TemplateGroup) || (object instanceof TemplateRoot))\r
+                       {\r
+                               parentId = ((GenericObject)object).getObjectId();\r
+                       }\r
+                       else\r
+                       {\r
+                               parentId = -1;\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       parentId = -1;\r
+               }\r
+\r
+               action.setEnabled(parentId != -1);\r
+       }\r
+}\r
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateTemplateGroup.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/CreateTemplateGroup.java
new file mode 100644 (file)
index 0000000..e4f4cd4
--- /dev/null
@@ -0,0 +1,111 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.datacollection.actions;\r
+\r
+import org.eclipse.core.runtime.IProgressMonitor;\r
+import org.eclipse.jface.action.IAction;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.jface.window.Window;\r
+import org.eclipse.ui.IObjectActionDelegate;\r
+import org.eclipse.ui.IWorkbenchPart;\r
+import org.eclipse.ui.IWorkbenchWindow;\r
+import org.netxms.client.NXCObjectCreationData;\r
+import org.netxms.client.NXCSession;\r
+import org.netxms.client.objects.GenericObject;\r
+import org.netxms.client.objects.TemplateGroup;\r
+import org.netxms.client.objects.TemplateRoot;\r
+import org.netxms.ui.eclipse.datacollection.Activator;\r
+import org.netxms.ui.eclipse.jobs.ConsoleJob;\r
+import org.netxms.ui.eclipse.objectbrowser.dialogs.CreateObjectDialog;\r
+import org.netxms.ui.eclipse.shared.ConsoleSharedData;\r
+\r
+/**\r
+ * Create container object\r
+ *\r
+ */\r
+public class CreateTemplateGroup implements IObjectActionDelegate\r
+{\r
+       private IWorkbenchWindow window;\r
+       private IWorkbenchPart part;\r
+       private long parentId = -1;\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)\r
+        */\r
+       @Override\r
+       public void setActivePart(IAction action, IWorkbenchPart targetPart)\r
+       {\r
+               part = targetPart;\r
+               window = targetPart.getSite().getWorkbenchWindow();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)\r
+        */\r
+       @Override\r
+       public void run(IAction action)\r
+       {\r
+               final CreateObjectDialog dlg = new CreateObjectDialog(window.getShell(), "Template Group");\r
+               if (dlg.open() != Window.OK)\r
+                       return;\r
+               \r
+               new ConsoleJob("Create template group", part, Activator.PLUGIN_ID, null) {\r
+                       @Override\r
+                       protected void runInternal(IProgressMonitor monitor) throws Exception\r
+                       {\r
+                               NXCSession session = (NXCSession)ConsoleSharedData.getSession();\r
+                               NXCObjectCreationData cd = new NXCObjectCreationData(GenericObject.OBJECT_TEMPLATEGROUP, dlg.getObjectName(), parentId);\r
+                               session.createObject(cd);\r
+                       }\r
+\r
+                       @Override\r
+                       protected String getErrorMessage()\r
+                       {\r
+                               return "Cannot create template group object \"" + dlg.getObjectName() + "\"";\r
+                       }\r
+               }.start();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)\r
+        */\r
+       @Override\r
+       public void selectionChanged(IAction action, ISelection selection)\r
+       {\r
+               if ((selection instanceof IStructuredSelection) && (((IStructuredSelection)selection).size() == 1))\r
+               {\r
+                       final Object object = ((IStructuredSelection)selection).getFirstElement();\r
+                       if ((object instanceof TemplateGroup) || (object instanceof TemplateRoot))\r
+                       {\r
+                               parentId = ((GenericObject)object).getObjectId();\r
+                       }\r
+                       else\r
+                       {\r
+                               parentId = -1;\r
+                       }\r
+               }\r
+               else\r
+               {\r
+                       parentId = -1;\r
+               }\r
+\r
+               action.setEnabled(parentId != -1);\r
+       }\r
+}\r
diff --git a/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/OpenEditor.java b/webui/webapp/DataCollection/src/org/netxms/ui/eclipse/datacollection/actions/OpenEditor.java
new file mode 100644 (file)
index 0000000..80b0be8
--- /dev/null
@@ -0,0 +1,97 @@
+/**\r
+ * NetXMS - open source network management system\r
+ * Copyright (C) 2003-2010 Victor Kirhenshtein\r
+ *\r
+ * This program is free software; you can redistribute it and/or modify\r
+ * it under the terms of the GNU General Public License as published by\r
+ * the Free Software Foundation; either version 2 of the License, or\r
+ * (at your option) any later version.\r
+ *\r
+ * This program is distributed in the hope that it will be useful,\r
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+ * GNU General Public License for more details.\r
+ *\r
+ * You should have received a copy of the GNU General Public License\r
+ * along with this program; if not, write to the Free Software\r
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
+ */\r
+package org.netxms.ui.eclipse.datacollection.actions;\r
+\r
+import org.eclipse.jface.action.IAction;\r
+import org.eclipse.jface.dialogs.MessageDialog;\r
+import org.eclipse.jface.viewers.ISelection;\r
+import org.eclipse.jface.viewers.IStructuredSelection;\r
+import org.eclipse.ui.IObjectActionDelegate;\r
+import org.eclipse.ui.IWorkbenchPage;\r
+import org.eclipse.ui.IWorkbenchPart;\r
+import org.eclipse.ui.IWorkbenchWindow;\r
+import org.eclipse.ui.PartInitException;\r
+import org.netxms.client.objects.Cluster;\r
+import org.netxms.client.objects.GenericObject;\r
+import org.netxms.client.objects.Node;\r
+import org.netxms.client.objects.Template;\r
+import org.netxms.ui.eclipse.datacollection.views.DataCollectionEditor;\r
+\r
+/**\r
+ * Open data collection editor\r
+ */\r
+public class OpenEditor implements IObjectActionDelegate\r
+{\r
+       private IWorkbenchWindow window;\r
+       private GenericObject object;\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IObjectActionDelegate#setActivePart(org.eclipse.jface.action.IAction, org.eclipse.ui.IWorkbenchPart)\r
+        */\r
+       @Override\r
+       public void setActivePart(IAction action, IWorkbenchPart targetPart)\r
+       {\r
+               window = targetPart.getSite().getWorkbenchWindow();\r
+       }\r
+\r
+       /* (non-Javadoc)\r
+        * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.ac