13.5.1-1 baseline
Former-commit-id:6384018950
[formerly998961612c
] [formerly6384018950
[formerly998961612c
] [formerlyfe872355a7
[formerly 72a49a353cb22c89c9aa19ed1f4a681c3e89d5f3]]] Former-commit-id:fe872355a7
Former-commit-id:0aab285b8a
[formerly30ba1d634e
] Former-commit-id:146c5e8940
|
@ -85,6 +85,9 @@
|
|||
</copy>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../" includes="org.springframework*/**"/>
|
||||
</copy>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../" includes="org.quartz*/**"/>
|
||||
</copy>
|
||||
<copy todir="${buildDirectory}/plugins">
|
||||
<fileset dir="${buildDirectory}/../../" includes="com.raytheon.uf.common.util*/**"/>
|
||||
|
|
|
@ -155,4 +155,10 @@
|
|||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.quartz"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
</feature>
|
||||
|
|
|
@ -15,7 +15,8 @@ Export-Package: com.raytheon.rcm.coll,
|
|||
Require-Bundle: com.raytheon.rcm.lib;bundle-version="1.0.0",
|
||||
org.apache.commons.logging;bundle-version="1.0.4",
|
||||
org.springframework;bundle-version="2.5.6",
|
||||
org.itadaki.bzip2;bundle-version="0.9.1"
|
||||
org.itadaki.bzip2;bundle-version="0.9.1",
|
||||
org.quartz;bundle-version="1.8.6"
|
||||
Import-Package: com.raytheon.uf.common.util,
|
||||
org.apache.log4j,
|
||||
org.junit
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<project default="p2.build" basedir=".">
|
||||
<project default="main" basedir=".">
|
||||
|
||||
<!-- TODO: Verify These Properties References An Actual Directory. -->
|
||||
<property name="eclipse.dir"
|
||||
|
@ -14,9 +14,9 @@
|
|||
<property name="workspace.dir" value="${basedir}/../" />
|
||||
|
||||
<property name="pde.build.script"
|
||||
value="org.eclipse.pde.build_3.6.1.R36x_v20100823/scripts/build.xml" />
|
||||
value="org.eclipse.pde.build_3.8.2.v20121114-140810/scripts/build.xml" />
|
||||
<property name="eclipse.launcher.jar"
|
||||
value="org.eclipse.equinox.launcher_1.1.0.v20100507.jar" />
|
||||
value="org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar" />
|
||||
|
||||
<!-- Verify That We Have Access To A Copy Of Eclipse -->
|
||||
<target name="verify">
|
||||
|
@ -120,13 +120,6 @@
|
|||
includes="it.*/**" />
|
||||
</copy>
|
||||
<!-- END: Copy The Plugins -->
|
||||
|
||||
<!-- Copy The Features -->
|
||||
<echo message="FEATURES: *viz*feature*" />
|
||||
<copy todir="${basedir}/cave/p2/features">
|
||||
<fileset dir="${workspace.dir}"
|
||||
includes="*viz*feature*/**" />
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<!-- Cleans Up Any Temporary Directories -->
|
||||
|
@ -154,7 +147,18 @@
|
|||
<param name="feature"
|
||||
value="com.raytheon.viz.feature.awips" />
|
||||
<param name="omit"
|
||||
value="false" />
|
||||
value="true" />
|
||||
</antcall>
|
||||
<!--
|
||||
we will still build this for the MSFT Windows CAVE.
|
||||
-->
|
||||
<antcall target="p2.build.repo">
|
||||
<param name="feature"
|
||||
value="com.raytheon.uf.common.base.feature" />
|
||||
</antcall>
|
||||
<antcall target="p2.build.repo">
|
||||
<param name="feature"
|
||||
value="com.raytheon.uf.viz.base.feature" />
|
||||
</antcall>
|
||||
<antcall target="p2.build.repo">
|
||||
<param name="feature"
|
||||
|
@ -164,6 +168,10 @@
|
|||
<param name="feature"
|
||||
value="com.raytheon.uf.viz.common.core.feature" />
|
||||
</antcall>
|
||||
<antcall target="p2.build.repo">
|
||||
<param name="feature"
|
||||
value="com.raytheon.uf.viz.localization.perspective.feature" />
|
||||
</antcall>
|
||||
<antcall target="p2.build.repo">
|
||||
<param name="feature"
|
||||
value="com.raytheon.uf.viz.core.feature" />
|
||||
|
@ -188,10 +196,6 @@
|
|||
<param name="feature"
|
||||
value="com.raytheon.uf.viz.d2d.core.feature" />
|
||||
</antcall>
|
||||
<antcall target="p2.build.repo">
|
||||
<param name="feature"
|
||||
value="com.raytheon.uf.viz.localization.perspective.feature" />
|
||||
</antcall>
|
||||
<antcall target="p2.build.repo">
|
||||
<param name="feature"
|
||||
value="com.raytheon.viz.radar.feature" />
|
||||
|
@ -312,7 +316,32 @@
|
|||
<antcall target="cleanup.features" />
|
||||
</target>
|
||||
|
||||
<target name="wa-build" depends="p2.build" description="Builds work assignment specific features after the main build">
|
||||
<for param="wa.feature.list.file">
|
||||
<fileset dir="${basedir}" includes="*-wa-build.properties" />
|
||||
<sequential>
|
||||
<var name="wa.features" unset="true" />
|
||||
<property file="@{wa.feature.list.file}" />
|
||||
<for list="${wa.features}" param="wa.feature">
|
||||
<sequential>
|
||||
<antcall target="p2.build.repo">
|
||||
<param name="feature" value="@{wa.feature}" />
|
||||
</antcall>
|
||||
</sequential>
|
||||
</for>
|
||||
</sequential>
|
||||
</for>
|
||||
</target>
|
||||
|
||||
<target name="main" depends="clean, p2.build, wa-build" />
|
||||
|
||||
<target name="p2.build.repo">
|
||||
<!-- Copy The Feature -->
|
||||
<copy todir="${basedir}/cave/p2/features">
|
||||
<fileset dir="${workspace.dir}"
|
||||
includes="${feature}/**" />
|
||||
</copy>
|
||||
|
||||
<!-- Update The Feature -->
|
||||
<property name="process.feature.tool"
|
||||
value="${workspace.dir}/build/tools/ProcessFeature.jar" />
|
||||
|
@ -410,20 +439,6 @@
|
|||
</then>
|
||||
</if>
|
||||
|
||||
<!-- Remove 'com.raytheon.uf.viz.eclipse.feature' -->
|
||||
<if>
|
||||
<available
|
||||
file="${basedir}/cave/p2/features/com.raytheon.uf.viz.eclipse.feature"
|
||||
type="dir" />
|
||||
<then>
|
||||
<delete includeemptydirs="true">
|
||||
<fileset
|
||||
dir="${basedir}/cave/p2/features/com.raytheon.uf.viz.eclipse.feature"
|
||||
/>
|
||||
</delete>
|
||||
</then>
|
||||
</if>
|
||||
|
||||
<!-- Remove 'com.raytheon.uf.viz.feature.alertviz' -->
|
||||
<if>
|
||||
<available
|
||||
|
@ -451,7 +466,19 @@
|
|||
</delete>
|
||||
</then>
|
||||
</if>
|
||||
|
||||
<!-- Remove 'com.raytheon.uf.common.base.feature' -->
|
||||
<if>
|
||||
<available
|
||||
file="${basedir}/cave/p2/features/com.raytheon.uf.common.base.feature"
|
||||
type="dir" />
|
||||
<then>
|
||||
<delete includeemptydirs="true">
|
||||
<fileset
|
||||
dir="${basedir}/cave/p2/features/com.raytheon.uf.common.base.feature"
|
||||
/>
|
||||
</delete>
|
||||
</then>
|
||||
</if>
|
||||
<!-- Remove 'com.raytheon.uf.viz.collaboration.product.feature' -->
|
||||
<if>
|
||||
<available
|
||||
|
|
|
@ -18,6 +18,21 @@
|
|||
# further licensing information.
|
||||
##
|
||||
|
||||
#
|
||||
# Port of A1 HazardsTable.py.
|
||||
#
|
||||
#
|
||||
# SOFTWARE HISTORY
|
||||
#
|
||||
# Date Ticket# Engineer Description
|
||||
# ------------ ---------- ----------- --------------------------
|
||||
# ??/??/?? ???????? Initial Creation.
|
||||
# 05/14/13 1842 dgilling Use GFEVtecUtil to handle NEW
|
||||
# ETN assignment.
|
||||
#
|
||||
#
|
||||
|
||||
|
||||
import time, getopt, sys, copy, string, logging
|
||||
import VTECTableUtil, VTECTable
|
||||
import TimeRange, AbsTime, ActiveTableVtec
|
||||
|
@ -28,6 +43,7 @@ from com.raytheon.uf.common.dataplugin.gfe.reference import ReferenceID
|
|||
from com.raytheon.uf.common.dataplugin.gfe.discrete import DiscreteKey
|
||||
from com.raytheon.uf.common.time import TimeRange as JavaTimeRange
|
||||
from com.raytheon.viz.gfe.sampler import HistoSampler, SamplerRequest
|
||||
from com.raytheon.viz.gfe.vtec import GFEVtecUtil
|
||||
import cPickle
|
||||
|
||||
# This class makes an object that interfaces to the GFE hazard grid
|
||||
|
@ -69,14 +85,14 @@ class HazardsTable(VTECTableUtil.VTECTableUtil):
|
|||
self.__marineProds = ["CWF", "NSH", "GLF", "MWW", "OFF"]
|
||||
|
||||
# list of phen/sig from national centers and "until further notice"
|
||||
self.__tpcKeys = [('HU','A'), ('HU','S'), ('HU','W'), ('TR','A'),
|
||||
('TR','W')]
|
||||
self.__tpcKeys = self.__processJavaCollection(GFEVtecUtil.TROPICAL_PHENSIGS, self.__convertPhensig)
|
||||
self.__tpcBaseETN = '1001'
|
||||
self.__ncKeys = [('TO','A'), ('SV','A'), ('HU', 'S'), ('HU','A'), ('HU','W'),
|
||||
('TR','A'), ('TR','W')] # added HU.S
|
||||
self.__ncKeys = self.__processJavaCollection(GFEVtecUtil.NATIONAL_PHENSIGS, self.__convertPhensig)
|
||||
self.__ufnKeys = [('HU','A'), ('HU','S'), ('HU','W'), ('TR','A'), ('TR','W'),
|
||||
('TY','A'), ('TY','W')]
|
||||
|
||||
self.__sitesIgnoreNatlEtn = self.__processJavaCollection(GFEVtecUtil.IGNORE_NATIONAL_ETN, str)
|
||||
|
||||
self.__marineZonesPrefix = ["AM", "GM", "PZ", "PK", "PH", "PM", "AN",
|
||||
"PS", "SL"] #list of zone name prefix that are marine zones
|
||||
|
||||
|
@ -682,19 +698,13 @@ class HazardsTable(VTECTableUtil.VTECTableUtil):
|
|||
assigned.extend(ids2)
|
||||
|
||||
# find highest etn in active table for phen/sig, returns it.
|
||||
# This method has been dramatically re-written for A2 to use
|
||||
# GFEVtecUtil to do preliminary ETN assignment instead of scrubbing
|
||||
# the whole set of ActiveTableRecords to calculate it.
|
||||
def __highestETNActiveTable(self, phen, sig, activeTable):
|
||||
#check active table for highest etn
|
||||
presentyear = time.gmtime(self.__time)[0]
|
||||
etn_base = 0
|
||||
for active in activeTable:
|
||||
# find only records with
|
||||
# 1. same phen and sig
|
||||
# 2. in the present year
|
||||
# and not from the national center
|
||||
activeyear = time.gmtime(active['issueTime'])[0]
|
||||
phensig = (active['phen'],active['sig'])
|
||||
if active['phen'] == phen and active['sig'] == sig and \
|
||||
activeyear == presentyear:
|
||||
phensig = (phen, sig)
|
||||
|
||||
# find the max ETN...
|
||||
# 1. highest ETN period for non-tropical and all GUM products (tpcKeys)
|
||||
# or
|
||||
|
@ -702,16 +712,17 @@ class HazardsTable(VTECTableUtil.VTECTableUtil):
|
|||
#
|
||||
# Local WFOs do not assign these numbers, so they should have
|
||||
# numbers < 1000
|
||||
if active['etn'] > etn_base and \
|
||||
phensig not in self.__tpcKeys:
|
||||
etn_base = active['etn']
|
||||
elif active['etn'] > etn_base and \
|
||||
phensig in self.__tpcKeys:
|
||||
if self.__siteID4 == 'PGUM':
|
||||
etn_base = active['etn'] # GUM uses their own ETNs regardless of hazard
|
||||
if phensig not in self.__tpcKeys or self.__siteID4 in self.__sitesIgnoreNatlEtn:
|
||||
etn_base = GFEVtecUtil.getNextEtn(self.__siteID4, '.'.join(phensig), False) - 1
|
||||
else:
|
||||
if active['etn'] < 1001: # causes failure if tropical hazards are less than 1001
|
||||
self.log.error("Incorrect ETN for tropical hazard.")
|
||||
presentyear = time.gmtime(self.__time)[0]
|
||||
for active in activeTable:
|
||||
activeyear = time.gmtime(active['issueTime'])[0]
|
||||
activephensig = (active['phen'],active['sig'])
|
||||
if phensig == activephensig and presentyear == activeyear:
|
||||
# causes failure if tropical hazards are less than 1001
|
||||
if active['etn'] < int(self.__tpcBaseETN):
|
||||
LogStream.logProblem("Incorrect ETN for tropical hazard.")
|
||||
return etn_base
|
||||
|
||||
#determine the new etn to use, using the etn cache
|
||||
|
@ -2389,3 +2400,17 @@ class HazardsTable(VTECTableUtil.VTECTableUtil):
|
|||
# return False #same phen/sig, not tpc, so. non separate track
|
||||
# else:
|
||||
# return true;
|
||||
|
||||
def __processJavaCollection(self, javaObj, processMethod=None):
|
||||
retVal = []
|
||||
iter = javaObj.iterator()
|
||||
while iter.hasNext():
|
||||
nextObj = iter.next()
|
||||
if processMethod is not None:
|
||||
nextObj = processMethod(nextObj)
|
||||
retVal.append(nextObj)
|
||||
return retVal
|
||||
|
||||
def __convertPhensig(self, javaPhensig):
|
||||
phenSig = tuple(str(javaPhensig).split('.'))
|
||||
return phenSig
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
||||
menuText="30 min stn plot" id="local30minstnplot">
|
||||
<dataURI>/ldadmesonet/%</dataURI>
|
||||
<substitute key="svg" value="ldadMesoDesign.svg"/>
|
||||
<substitute key="legend" value="30 min Local Data Plot"/>
|
||||
<substitute key="posOffset" value="900"/>
|
||||
|
@ -29,7 +28,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoQCPlot.xml"
|
||||
menuText="30 min stn plot + QC" id="local30minstnQCplot">
|
||||
<dataURI>/qc/%</dataURI>
|
||||
<substitute key="svgPrefix" value="ldadQC"/>
|
||||
<substitute key="legend" value="30 min LDAD QC Plot"/>
|
||||
<substitute key="posOffset" value="900"/>
|
||||
|
@ -40,7 +38,6 @@
|
|||
<contribute xsi:type="subMenu" menuText="Other Local Plots">
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
||||
menuText="15 min stn plot" id="local15minstnplot">
|
||||
<dataURI>/ldadmesonet/%</dataURI>
|
||||
<substitute key="svg" value="ldadMesoDesign.svg"/>
|
||||
<substitute key="legend" value="15 min Local Data Plot"/>
|
||||
<substitute key="posOffset" value="450"/>
|
||||
|
@ -48,7 +45,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoQCPlot.xml"
|
||||
menuText="15 min stn plot + QC" id="local15minstnQCplot">
|
||||
<dataURI>/qc/%</dataURI>
|
||||
<substitute key="svgPrefix" value="ldadQC"/>
|
||||
<substitute key="legend" value="15 min LDAD QC Plot"/>
|
||||
<substitute key="posOffset" value="450"/>
|
||||
|
@ -58,7 +54,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
||||
menuText="5 min stn plot" id="local5minstnplot">
|
||||
<dataURI>/ldadmesonet/%</dataURI>
|
||||
<substitute key="svg" value="ldadMesoDesign.svg"/>
|
||||
<substitute key="legend" value="5 min Local Data Plot"/>
|
||||
<substitute key="posOffset" value="150"/>
|
||||
|
@ -66,7 +61,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
||||
menuText="1 min stn plot" id="local1minstnplot">
|
||||
<dataURI>/ldadmesonet/%</dataURI>
|
||||
<substitute key="svg" value="ldadMesoDesign.svg"/>
|
||||
<substitute key="legend" value="1 min Local Data Plot"/>
|
||||
<substitute key="posOffset" value="30"/>
|
||||
|
@ -74,7 +68,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
|
||||
menuText="WindCh/HeatIdx" id="localWindChHeatIdx">
|
||||
<dataURI>/ldadmesonet/%</dataURI>
|
||||
<substitute key="svg" value="ldadMesoHiWcDesign.svg"/>
|
||||
<substitute key="legend" value="Local WindChill/HeatIndex Plot"/>
|
||||
<substitute key="posOffset" value="900"/>
|
||||
|
@ -87,7 +80,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
||||
menuText="3 hr Precip" id="local3hrPrecip">
|
||||
<dataURI>/ldadhydro/%</dataURI>
|
||||
<substitute key="svg" value="ldadHydro3hrPrecipDesign.svg"/>
|
||||
<substitute key="legend" value="3 hr Precip Plot"/>
|
||||
<substitute key="posOffset" value="5400"/>
|
||||
|
@ -95,7 +87,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
||||
menuText="1 hr Precip" id="local1hrPrecip">
|
||||
<dataURI>/ldadhydro/%</dataURI>
|
||||
<substitute key="svg" value="ldadHydro1hrPrecipDesign.svg"/>
|
||||
<substitute key="legend" value="1 hr Precip Plot"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -103,7 +94,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
||||
menuText="30 min Precip" id="local30minPrecip">
|
||||
<dataURI>/ldadhydro/%</dataURI>
|
||||
<substitute key="svg" value="ldadHydro30minPrecipDesign.svg"/>
|
||||
<substitute key="legend" value="30 min Precip Plot"/>
|
||||
<substitute key="posOffset" value="900"/>
|
||||
|
@ -111,7 +101,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
||||
menuText="15 min Precip" id="local15minPrecip">
|
||||
<dataURI>/ldadhydro/%</dataURI>
|
||||
<substitute key="svg" value="ldadHydro15minPrecipDesign.svg"/>
|
||||
<substitute key="legend" value="15 min Precip Plot"/>
|
||||
<substitute key="posOffset" value="450"/>
|
||||
|
@ -119,7 +108,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
|
||||
menuText="5 min Precip" id="local5minPrecip">
|
||||
<dataURI>/ldadhydro/%</dataURI>
|
||||
<substitute key="svg" value="ldadHydro5minPrecipDesign.svg"/>
|
||||
<substitute key="legend" value="5 min Precip Plot"/>
|
||||
<substitute key="posOffset" value="150"/>
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
|
||||
menuText="NWS MSL Pressure" id="msasMSLnwsPressure">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svgPrefix" value="msasMSLnwsPressure"/>
|
||||
<substitute key="legend" value="msas MSLP-nws Obs(mb*10)"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -31,7 +30,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
|
||||
menuText="MSAS MSL Pressure" id="msasMAPSPressure">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svgPrefix" value="msasMAPSPressure"/>
|
||||
<substitute key="legend" value="msas MSL Obs(mb*10)"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -41,7 +39,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
|
||||
menuText="Altimeter" id="msasAltimeter">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svgPrefix" value="msasAltimeter"/>
|
||||
<substitute key="legend" value="msas altimeter Obs(mb*10)"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -51,7 +48,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
|
||||
menuText="3hr Pressure Change" id="msas3hrPressureChange">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svgPrefix" value="msas3hrPressureChange"/>
|
||||
<substitute key="legend" value="msas 3hr press change Obs(mb*10)"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -61,7 +57,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
|
||||
menuText="Wind" id="msasWind">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svgPrefix" value="msasWind"/>
|
||||
<substitute key="legend" value="msas wind Obs(kts)"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -71,7 +66,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
|
||||
menuText="Potential Temp" id="msasPotentialTemp">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svgPrefix" value="msasPotentialTemp"/>
|
||||
<substitute key="legend" value="msas theta Obs(K)"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -81,7 +75,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
|
||||
menuText="Dewpoint" id="msasDewpoint">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svgPrefix" value="msasDewpoint"/>
|
||||
<substitute key="legend" value="msas dewpoint Obs(F)"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -91,7 +84,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
|
||||
menuText="Dewpoint Depression" id="msasDewpointDepression">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svgPrefix" value="msasDewpointDepression"/>
|
||||
<substitute key="legend" value="msas dewpoint dep Obs(F)"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
|
|
@ -21,24 +21,17 @@
|
|||
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<contribute xsi:type="bundleItem" file="bundles/maritimeFixedBuoy.xml"
|
||||
menuText="Fixed Buoys" id="FixedBuoys"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%/1005/%</dataURI>
|
||||
</contribute>
|
||||
productInterval="3600" productOffset="1800" />
|
||||
<contribute xsi:type="bundleItem" file="bundles/maritimeMoving.xml"
|
||||
menuText="Moving Maritime" id="MovingMaritime"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%/1003/%</dataURI>
|
||||
</contribute>
|
||||
productInterval="3600" productOffset="1800" />
|
||||
<contribute xsi:type="bundleItem" file="bundles/maritimeMAROB.xml"
|
||||
menuText="MAROB" id="MAROB"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%/1007/%</dataURI>
|
||||
</contribute>
|
||||
productInterval="3600" productOffset="1800" />
|
||||
<contribute xsi:type="subMenu" menuText="Other Maritime Plots">
|
||||
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
|
||||
menuText="Fixed Sea State" id="FixedSeaState"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%</dataURI>
|
||||
<substitute key="svg" value="seaStateDesign.svg"/>
|
||||
<substitute key="legend" value="Fixed Buoys Sea State"/>
|
||||
<substitute key="reportType" value="1004,1005"/>
|
||||
|
@ -46,7 +39,6 @@
|
|||
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
|
||||
menuText="Moving Sea State" id="MovingSeaState"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%</dataURI>
|
||||
<substitute key="svg" value="seaStateDesign.svg"/>
|
||||
<substitute key="legend" value="Moving Buoys/Ships Sea State"/>
|
||||
<substitute key="reportType" value="1003,1006"/>
|
||||
|
@ -54,7 +46,6 @@
|
|||
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
|
||||
menuText="MAROB Sea State" id="MAROBSeaState"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%/1007/%</dataURI>
|
||||
<substitute key="svg" value="seaStateDesign.svg"/>
|
||||
<substitute key="legend" value="MAROB Sea State"/>
|
||||
<substitute key="reportType" value="1007"/>
|
||||
|
@ -62,7 +53,6 @@
|
|||
<contribute xsi:type="bundleItem" file="bundles/MaritimePlot.xml"
|
||||
menuText="Maritime Clouds/Vis" id="MaritimeCloudVis"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%/1003/%</dataURI>
|
||||
<substitute key="svg" value="maritimeCvDesign.svg"/>
|
||||
<substitute key="legend" value="Maritime Clouds and Visibility"/>
|
||||
<substitute key="reportType" value="1003"/>
|
||||
|
@ -70,7 +60,6 @@
|
|||
<contribute xsi:type="bundleItem" file="bundles/MaritimePlot.xml"
|
||||
menuText="MAROB Clouds/Vis" id="MarobCloudsVis"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%/1007/%</dataURI>
|
||||
<substitute key="svg" value="maritimeCvDesign.svg"/>
|
||||
<substitute key="legend" value="MAROB Clouds and Visibility"/>
|
||||
<substitute key="reportType" value="1007"/>
|
||||
|
@ -91,7 +80,6 @@
|
|||
<contribute xsi:type="bundleItem" file="bundles/Scatterometer.xml"
|
||||
menuText="ASCAT Winds 25 km" id="ASCATWinds"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/bufrascat/%</dataURI>
|
||||
<substitute key="legend" value="ASCAT"/>
|
||||
<substitute key="svg" value="ascatPlotDesign.svg"/>
|
||||
<substitute key="plugin" value="bufrascat"/>
|
||||
|
|
|
@ -25,12 +25,9 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="subMenu" menuText="Other Plots">
|
||||
<contribute xsi:type="bundleItem" file="bundles/15minSurfacePlot.xml"
|
||||
menuText="15 min Plot" id="15MinSurfacePlot">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
</contribute>
|
||||
menuText="15 min Plot" id="15MinSurfacePlot" />
|
||||
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
|
||||
menuText="24Hr Chg" id="24HrChg">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svg" value="metar24ChgDesign.svg"/>
|
||||
<substitute key="legend" value="METAR 24H Change"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -38,7 +35,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
|
||||
menuText="Ceil/Vis Plot (AGL)" id="CeilVisPlotAGL">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svg" value="metarCvDesign.svg"/>
|
||||
<substitute key="legend" value="Ceiling (agl) and Visibility"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -46,7 +42,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
|
||||
menuText="Ceil/Vis Plot (MSL)" id="CeilVisPlotMSL">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svg" value="metarCvMslDesign.svg"/>
|
||||
<substitute key="legend" value="Ceiling (msl) and Visibility"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -54,7 +49,6 @@
|
|||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
|
||||
menuText="Wind Ch/HeatIdx" id="WindChHeatIdx">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="svg" value="metarHiWcDesign.svg"/>
|
||||
<substitute key="legend" value="Wind Chill/Heat Index plot"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
|
@ -67,28 +61,24 @@
|
|||
|
||||
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
|
||||
menuText="24hr Precip" id="24HrPrecip">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="duration" value="24"/>
|
||||
<substitute key="posOffset" value="21600"/>
|
||||
<substitute key="negOffset" value="0"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
|
||||
menuText="6hr Precip" id="6HrPrecip">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="duration" value="6"/>
|
||||
<substitute key="posOffset" value="10800"/>
|
||||
<substitute key="negOffset" value="10800"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
|
||||
menuText="3hr Precip" id="3HrPrecip">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="duration" value="3"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
<substitute key="negOffset" value="9000"/>
|
||||
</contribute>
|
||||
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
|
||||
menuText="1hr Precip" id="1HrPrecip">
|
||||
<dataURI>/obs/%</dataURI>
|
||||
<substitute key="duration" value="1"/>
|
||||
<substitute key="posOffset" value="1800"/>
|
||||
<substitute key="negOffset" value="1800"/>
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
<contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml"
|
||||
menuText="6 hr Precip" id="synoptic6hrPrecip"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%/1001/%</dataURI>
|
||||
<substitute key="svg" value="synopticPrcp6Design.svg"/>
|
||||
<substitute key="legend" value="Synoptic 6hr Precip Plot"/>
|
||||
<substitute key="posOffset" value="0"/>
|
||||
|
@ -39,7 +38,6 @@
|
|||
<contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml"
|
||||
menuText="24 hr Precip" id="synoptic24hrPrecip"
|
||||
productInterval="3600" productOffset="1800">
|
||||
<dataURI>/sfcobs/%/1001/%</dataURI>
|
||||
<substitute key="svg" value="synopticPrcp24Design.svg"/>
|
||||
<substitute key="legend" value="Synoptic 24hr Precip Plot"/>
|
||||
<substitute key="posOffset" value="0"/>
|
||||
|
|
|
@ -7,7 +7,7 @@ Bundle-Activator: com.raytheon.uf.viz.alertviz.Activator
|
|||
Bundle-Vendor: Raytheon
|
||||
Require-Bundle: org.eclipse.ui,
|
||||
org.eclipse.core.runtime,
|
||||
org.apache.activemq;visibility:=reexport,
|
||||
org.apache.activemq,
|
||||
com.raytheon.uf.common.localization;visibility:=reexport,
|
||||
com.raytheon.uf.common.serialization;visibility:=reexport,
|
||||
com.raytheon.uf.viz.core;visibility:=reexport,
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="AlertVizAdminLogAppender" class="com.raytheon.uf.viz.alertviz.EnvConfigurableRollingFileAppender">
|
||||
<appender name="AlertVizAdminLogAppender" class="com.raytheon.uf.viz.core.log.EnvConfigurableRollingFileAppender">
|
||||
<param name="envLogVar" value="LOGFILE_ALERTVIZ" />
|
||||
<param name="maxFileSize" value="2GB"/>
|
||||
<param name="maxBackupIndex" value="5"/>
|
||||
|
|
|
@ -58,7 +58,6 @@ import com.raytheon.uf.viz.alertviz.internal.LogMessageDAO;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Sep 4, 2008 1433 chammack Initial creation
|
||||
* Jun 3, 2013 2026 randerso Improve error handling
|
||||
* </pre>
|
||||
*
|
||||
* @author chammack
|
||||
|
@ -209,12 +208,10 @@ public class AlertvizJob extends Job {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
String xmlString = null;
|
||||
StatusMessage statusMessage = null;
|
||||
try {
|
||||
xmlString = tm.getText();
|
||||
StringReader sr = new StringReader(xmlString);
|
||||
statusMessage = (StatusMessage) umsh
|
||||
|
||||
StringReader sr = new StringReader(tm.getText());
|
||||
StatusMessage statusMessage = (StatusMessage) umsh
|
||||
.unmarshal(sr);
|
||||
if (statusMessage.getEventTime() == null) {
|
||||
statusMessage.setEventTime(SimulatedTime
|
||||
|
@ -223,25 +220,34 @@ public class AlertvizJob extends Job {
|
|||
|
||||
displayAlert(statusMessage);
|
||||
|
||||
} catch (JMSException e) {
|
||||
String message = "Unable to retrieve JMS message text";
|
||||
handleInteralError(message, e);
|
||||
} catch (JAXBException e) {
|
||||
String message = "Unable to unmarshal XML:\n"
|
||||
+ xmlString;
|
||||
handleInteralError(message, e);
|
||||
} catch (Exception e) {
|
||||
String message = "Unexpected exception";
|
||||
if (xmlString == null) {
|
||||
message += ": ";
|
||||
} else if (statusMessage == null) {
|
||||
message += " while processing:\n"
|
||||
+ xmlString;
|
||||
} else {
|
||||
message += " while processing:\n"
|
||||
+ statusMessage;
|
||||
// Log to internal Log4j log
|
||||
Container
|
||||
.logInternal(
|
||||
Priority.ERROR,
|
||||
"AlertVizJob: exception when retrieving text message text or "
|
||||
+ "creating text message unmarshaller.",
|
||||
e);
|
||||
StatusMessage sm = new StatusMessage();
|
||||
sm.setPriority(Priority.CRITICAL);
|
||||
sm.setMachineToCurrent();
|
||||
sm.setCategory("GDN_ADMIN");
|
||||
sm.setSourceKey("GDN_ADMIN");
|
||||
sm.setMessage(e.getMessage());
|
||||
sm.setEventTime(SimulatedTime.getSystemTime()
|
||||
.getTime());
|
||||
try {
|
||||
LogMessageDAO.getInstance().save(sm);
|
||||
} catch (AlertvizException e1) {
|
||||
// Nothing but we can do but print
|
||||
// stacktrace
|
||||
// Log to internal Log4j log
|
||||
Container
|
||||
.logInternal(
|
||||
Priority.ERROR,
|
||||
"AlertVizJob unalbe to save to internal database.",
|
||||
e);
|
||||
}
|
||||
handleInteralError(message, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -260,25 +266,6 @@ public class AlertvizJob extends Job {
|
|||
}
|
||||
}
|
||||
|
||||
private void handleInteralError(String message, Throwable e) {
|
||||
|
||||
// Log to internal Log4j log
|
||||
Container.logInternal(Priority.CRITICAL, message, e);
|
||||
StatusMessage sm = new StatusMessage("GDN_ADMIN", "GDN_ADMIN",
|
||||
Priority.CRITICAL, this.getClass().getPackage().getName(),
|
||||
message, e);
|
||||
sm.setMachineToCurrent();
|
||||
sm.setEventTime(SimulatedTime.getSystemTime().getTime());
|
||||
try {
|
||||
LogMessageDAO.getInstance().save(sm);
|
||||
} catch (AlertvizException e1) {
|
||||
// Nothing but we can do but print stacktrace
|
||||
// Log to internal Log4j log
|
||||
Container.logInternal(Priority.ERROR,
|
||||
"AlertVizJob unalbe to save to internal database.", e);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
|
|
|
@ -36,8 +36,8 @@ import com.raytheon.uf.viz.alertviz.config.Category;
|
|||
import com.raytheon.uf.viz.alertviz.config.Configuration;
|
||||
import com.raytheon.uf.viz.alertviz.config.ForcedConfiguration;
|
||||
import com.raytheon.uf.viz.alertviz.config.Source;
|
||||
import com.raytheon.uf.viz.alertviz.internal.LogMessageDAO;
|
||||
import com.raytheon.uf.viz.alertviz.internal.PurgeLogJob;
|
||||
import com.raytheon.uf.viz.alertviz.internal.LogMessageDAO;
|
||||
import com.raytheon.uf.viz.core.VizApp;
|
||||
|
||||
/**
|
||||
|
@ -51,7 +51,6 @@ import com.raytheon.uf.viz.core.VizApp;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* Sep 8, 2008 1433 chammack Initial creation
|
||||
* Oct 18, 2010 5849 cjeanbap NullPointerExceptin thrown if category is null
|
||||
* Jun 03, 2013 2026 randerso Fixed typo
|
||||
* </pre>
|
||||
*
|
||||
* @author chammack
|
||||
|
@ -121,7 +120,7 @@ public class Container implements IConfigurationChangedListener {
|
|||
return;
|
||||
}
|
||||
|
||||
if ((source == null) || (source.getConfigurationItem() == null)) {
|
||||
if (source == null || source.getConfigurationItem() == null) {
|
||||
message.setSourceKey("GDN_ADMIN");
|
||||
message.setCategory("GDN_ADMIN");
|
||||
message.setMessage(message.getMessage() + " (" + SOURCE_MISSING
|
||||
|
@ -149,9 +148,8 @@ public class Container implements IConfigurationChangedListener {
|
|||
AlertMetadata amd = source.getConfigurationItem().lookup(
|
||||
message.getPriority());
|
||||
|
||||
if (forcedConfiguration != null) {
|
||||
if (forcedConfiguration != null)
|
||||
amd = forcedConfiguration.applyForcedSettings(amd, message);
|
||||
}
|
||||
|
||||
final AlertMetadata metadata = amd;
|
||||
|
||||
|
@ -175,7 +173,7 @@ public class Container implements IConfigurationChangedListener {
|
|||
sm.setPriority(priority);
|
||||
sm.setMachineToCurrent();
|
||||
sm.setSourceKey("GDN_ADMIN");
|
||||
sm.setCategory("GDN_ADMIN");
|
||||
sm.setCategory("GDN)ADMIN");
|
||||
sm.setMessage(msg);
|
||||
sm.setEventTime(SimulatedTime.getSystemTime().getTime());
|
||||
addToLog(sm);
|
||||
|
@ -194,7 +192,7 @@ public class Container implements IConfigurationChangedListener {
|
|||
.getEventTime().getTime() : this.shotgunMessageStartTime;
|
||||
|
||||
if (this.lastMessage.getCategory().equals(message.getCategory())
|
||||
&& (this.lastMessage.getPriority() == message.getPriority())
|
||||
&& this.lastMessage.getPriority() == message.getPriority()
|
||||
&& this.lastMessage.getMessage().equals(
|
||||
message.getMessage())
|
||||
&& (Math.abs(message.getEventTime().getTime()
|
||||
|
@ -252,12 +250,12 @@ public class Container implements IConfigurationChangedListener {
|
|||
boolean printError = true;
|
||||
if (errorMsg != null) {
|
||||
if (errorMsg.equals(lastErrorDialogMessage)) {
|
||||
if ((System.currentTimeMillis() - lastErrorDialogTime) < 60000) {
|
||||
if (System.currentTimeMillis() - lastErrorDialogTime < 60000) {
|
||||
printError = false;
|
||||
}
|
||||
}
|
||||
} else if (lastErrorDialogMessage == null) {
|
||||
if ((System.currentTimeMillis() - lastErrorDialogTime) < 60000) {
|
||||
if (System.currentTimeMillis() - lastErrorDialogTime < 60000) {
|
||||
printError = false;
|
||||
}
|
||||
}
|
||||
|
@ -303,7 +301,7 @@ public class Container implements IConfigurationChangedListener {
|
|||
}
|
||||
|
||||
public static boolean hasMissing(StatusMessage statMsg) {
|
||||
return (statMsg.getMessage() != null)
|
||||
return statMsg.getMessage() != null
|
||||
&& (statMsg.getMessage().contains(CATEGORY_MISSING) || statMsg
|
||||
.getMessage().contains(SOURCE_MISSING));
|
||||
}
|
||||
|
@ -321,9 +319,8 @@ public class Container implements IConfigurationChangedListener {
|
|||
String cat = message.getCategory();
|
||||
String source = message.getSourceKey();
|
||||
|
||||
boolean isInternal = ((cat != null) && cat
|
||||
.equalsIgnoreCase("GDN_ADMIN"))
|
||||
|| ((source != null) && source.equalsIgnoreCase("GDN_ADMIN"));
|
||||
boolean isInternal = (cat != null && cat.equalsIgnoreCase("GDN_ADMIN"))
|
||||
|| (source != null && source.equalsIgnoreCase("GDN_ADMIN"));
|
||||
if (isInternal) {
|
||||
switch (message.getPriority()) {
|
||||
case CRITICAL:
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.viz.eclipse.feature</name>
|
||||
<name>com.raytheon.uf.viz.archive.feature</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
39
cave/com.raytheon.uf.viz.archive.feature/feature.xml
Normal file
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.raytheon.uf.viz.archive.feature"
|
||||
label="Feature"
|
||||
version="1.0.0.qualifier"
|
||||
provider-name="RAYTHEON">
|
||||
|
||||
<description url="http://www.example.com/description">
|
||||
[Enter Feature Description here.]
|
||||
</description>
|
||||
|
||||
<copyright url="http://www.example.com/copyright">
|
||||
[Enter Copyright Description here.]
|
||||
</copyright>
|
||||
|
||||
<license url="http://www.example.com/license">
|
||||
[Enter License Description here.]
|
||||
</license>
|
||||
|
||||
<requires>
|
||||
<import plugin="org.eclipse.ui" version="3.8.2" match="greaterOrEqual"/>
|
||||
<import plugin="org.eclipse.core.runtime"/>
|
||||
<import plugin="com.raytheon.viz.ui" version="1.12.1174" match="greaterOrEqual"/>
|
||||
<import plugin="com.raytheon.uf.common.serialization" version="1.12.1174" match="greaterOrEqual"/>
|
||||
<import plugin="com.raytheon.uf.common.localization" version="1.12.1174" match="greaterOrEqual"/>
|
||||
<import plugin="com.raytheon.uf.common.archive" version="1.0.0" match="greaterOrEqual"/>
|
||||
<import plugin="com.raytheon.uf.common.time" version="1.12.1174" match="greaterOrEqual"/>
|
||||
<import plugin="com.raytheon.uf.common.util" version="1.12.1174" match="greaterOrEqual"/>
|
||||
<import plugin="org.apache.commons.io"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.archive"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.edex.ebxml</name>
|
||||
<name>com.raytheon.uf.viz.archive</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
|
@ -1,4 +1,4 @@
|
|||
#Mon Jun 25 15:43:02 CDT 2012
|
||||
#Wed May 01 15:01:03 CDT 2013
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
17
cave/com.raytheon.uf.viz.archive/META-INF/MANIFEST.MF
Normal file
|
@ -0,0 +1,17 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Archive
|
||||
Bundle-SymbolicName: com.raytheon.uf.viz.archive;singleton:=true
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Activator: com.raytheon.uf.viz.archive.Activator
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Require-Bundle: org.eclipse.ui;bundle-version="3.8.2",
|
||||
org.eclipse.core.runtime,
|
||||
com.raytheon.viz.ui;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.serialization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.localization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.archive;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.time;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.util;bundle-version="1.12.1174"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
88
cave/com.raytheon.uf.viz.archive/plugin.xml
Normal file
|
@ -0,0 +1,88 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<?eclipse version="3.2"?>
|
||||
<plugin>
|
||||
<extension
|
||||
point="com.raytheon.uf.viz.localization.localizationpath">
|
||||
<path
|
||||
application="Archive"
|
||||
localizationType="COMMON_STATIC"
|
||||
name="Archive"
|
||||
value="archive"
|
||||
recursive="false"
|
||||
extensionFilter=".xml">
|
||||
</path>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.menus">
|
||||
<menuContribution
|
||||
allPopups="false"
|
||||
locationURI="menu:CAVE?after=group1">
|
||||
<command
|
||||
commandId="com.raytheon.uf.viz.archive.retentionui"
|
||||
id="archivetest"
|
||||
label="Archive Retention..."
|
||||
style="push">
|
||||
</command>
|
||||
</menuContribution>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.menus">
|
||||
<menuContribution
|
||||
allPopups="false"
|
||||
locationURI="menu:CAVE?after=group1">
|
||||
<command
|
||||
commandId="com.raytheon.uf.viz.archive.casecreationui"
|
||||
id="archivetest"
|
||||
label="Archive Case Creation..."
|
||||
style="push">
|
||||
</command>
|
||||
</menuContribution>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.commands">
|
||||
<command
|
||||
id="com.raytheon.uf.viz.archive.casecreationui"
|
||||
name="casecreation">
|
||||
</command>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.commands">
|
||||
<command
|
||||
id="com.raytheon.uf.viz.archive.retentionui"
|
||||
name="archiveretention">
|
||||
</command>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.handlers">
|
||||
<handler
|
||||
class="com.raytheon.uf.viz.archive.ArchiveCaseCreationDialogAction"
|
||||
commandId="com.raytheon.uf.viz.archive.casecreationui">
|
||||
</handler>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.handlers">
|
||||
<handler
|
||||
class="com.raytheon.uf.viz.archive.ArchiveRetentionDialogAction"
|
||||
commandId="com.raytheon.uf.viz.archive.retentionui">
|
||||
</handler>
|
||||
</extension>
|
||||
</plugin>
|
|
@ -0,0 +1,108 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz;
|
||||
|
||||
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||
|
||||
/**
|
||||
* Convenience class for taking retention hours and converting to days/hours.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 2, 2013 1966 rferrel Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author rferrel
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class RetentionHours {
|
||||
|
||||
private int retentionHours;
|
||||
|
||||
/**
|
||||
* Constructor with default 7 day retention.
|
||||
*/
|
||||
public RetentionHours() {
|
||||
this(7 * TimeUtil.HOURS_PER_DAY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructor specify retention hours.
|
||||
*
|
||||
* @param retentionHours
|
||||
*/
|
||||
public RetentionHours(int retentionHours) {
|
||||
this.retentionHours = retentionHours;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set retention to this number of days.
|
||||
*
|
||||
* @param days
|
||||
*/
|
||||
public void setDays(int days) {
|
||||
retentionHours = days * TimeUtil.HOURS_PER_DAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert retention hours to days. Note values are truncated so a retention
|
||||
* of 23 hours will return 0 days.
|
||||
*
|
||||
* @return days
|
||||
*/
|
||||
public int getDays() {
|
||||
return retentionHours / TimeUtil.HOURS_PER_DAY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get retention in hours.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public int getHours() {
|
||||
return retentionHours;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set number hours of retention.
|
||||
*
|
||||
* @param hours
|
||||
*/
|
||||
public void setHours(int hours) {
|
||||
retentionHours = hours;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see java.lang.Object#toString()
|
||||
*/
|
||||
@Override
|
||||
public String toString() {
|
||||
return "RetentionHours [days:" + getDays() + ", hours:" + getHours()
|
||||
+ "]";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,70 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.archive;
|
||||
|
||||
import org.osgi.framework.BundleActivator;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
/**
|
||||
* Activator class for Archive.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 13, 2013 1966 rferrel Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author rferrel
|
||||
* @version 1.0
|
||||
*/
|
||||
public class Activator implements BundleActivator {
|
||||
|
||||
private static BundleContext context;
|
||||
|
||||
static BundleContext getContext() {
|
||||
return context;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext
|
||||
* )
|
||||
*/
|
||||
public void start(BundleContext bundleContext) throws Exception {
|
||||
Activator.context = bundleContext;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void stop(BundleContext bundleContext) throws Exception {
|
||||
Activator.context = null;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package com.raytheon.uf.viz.archive;
|
||||
|
||||
import org.eclipse.core.commands.AbstractHandler;
|
||||
import org.eclipse.core.commands.ExecutionEvent;
|
||||
import org.eclipse.core.commands.ExecutionException;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
|
||||
import com.raytheon.uf.viz.archive.ui.CaseCreationDlg;
|
||||
|
||||
/**
|
||||
* Action to bring up the Archive Case Creation dialog..
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 16, 2013 1966 rferrel Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author rferrel
|
||||
* @version 1.0
|
||||
*/
|
||||
public class ArchiveCaseCreationDialogAction extends AbstractHandler {
|
||||
private CaseCreationDlg dialog;
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands
|
||||
* .ExecutionEvent)
|
||||
*/
|
||||
@Override
|
||||
public Object execute(ExecutionEvent event) throws ExecutionException {
|
||||
if (dialog == null || dialog.isDisposed()) {
|
||||
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||
.getShell();
|
||||
dialog = new CaseCreationDlg(shell);
|
||||
dialog.open();
|
||||
} else {
|
||||
dialog.bringToTop();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,50 @@
|
|||
package com.raytheon.uf.viz.archive;
|
||||
|
||||
import org.eclipse.core.commands.AbstractHandler;
|
||||
import org.eclipse.core.commands.ExecutionEvent;
|
||||
import org.eclipse.core.commands.ExecutionException;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
|
||||
import com.raytheon.uf.viz.archive.ui.ArchiveRetentionDlg;
|
||||
|
||||
/**
|
||||
* Action to display the Archive Retention dialog.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 16, 2013 1966 rferrel Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author rferrel
|
||||
* @version 1.0
|
||||
*/
|
||||
public class ArchiveRetentionDialogAction extends AbstractHandler {
|
||||
private ArchiveRetentionDlg dialog;
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands
|
||||
* .ExecutionEvent)
|
||||
*/
|
||||
@Override
|
||||
public Object execute(ExecutionEvent event) throws ExecutionException {
|
||||
if (dialog == null || dialog.isDisposed()) {
|
||||
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
|
||||
.getShell();
|
||||
dialog = new ArchiveRetentionDlg(shell);
|
||||
dialog.open();
|
||||
} else {
|
||||
dialog.bringToTop();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.archive.data;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.Status;
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
|
||||
import com.raytheon.uf.common.util.FileUtil;
|
||||
|
||||
/**
|
||||
* This class uses a obtains information on a File in a Job in order to remove
|
||||
* from the UI thread.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 15, 2013 1966 rferrel Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author rferrel
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class FileInfo {
|
||||
private static final SizeJob sizeJob = new FileInfo.SizeJob();
|
||||
|
||||
private File file;
|
||||
|
||||
private long size = -1L;
|
||||
|
||||
public FileInfo(File file) {
|
||||
this.file = file;
|
||||
FileInfo.sizeJob.queue(this);
|
||||
}
|
||||
|
||||
public long getSize() {
|
||||
return size;
|
||||
}
|
||||
|
||||
static private class SizeJob extends Job {
|
||||
private LinkedList<FileInfo> queueList = new LinkedList<FileInfo>();
|
||||
|
||||
List<IUpdateListener> listeners = new ArrayList<IUpdateListener>();
|
||||
|
||||
protected void queue(FileInfo fileInfo) {
|
||||
synchronized (queueList) {
|
||||
queueList.add(fileInfo);
|
||||
if (getJobManager().currentJob() == null) {
|
||||
schedule();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public SizeJob() {
|
||||
super("Size Job");
|
||||
setSystem(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected IStatus run(IProgressMonitor monitor) {
|
||||
while (!queueList.isEmpty()) {
|
||||
FileInfo[] list = null;
|
||||
synchronized (queueList) {
|
||||
list = queueList.toArray(new FileInfo[0]);
|
||||
queueList.clear();
|
||||
}
|
||||
|
||||
for (FileInfo fileInfo : list) {
|
||||
File file = fileInfo.file;
|
||||
if (file.isDirectory()) {
|
||||
fileInfo.size = FileUtil.sizeOfDirectory(file);
|
||||
} else {
|
||||
fileInfo.size = file.length();
|
||||
}
|
||||
}
|
||||
|
||||
for (IUpdateListener listener : listeners) {
|
||||
listener.update(list);
|
||||
}
|
||||
}
|
||||
|
||||
return Status.OK_STATUS;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -17,12 +17,10 @@
|
|||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.comm.provider.session.CollaborationConnection;
|
||||
package com.raytheon.uf.viz.archive.data;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
* A listener to update file/directory information.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
|
@ -30,18 +28,19 @@ import com.raytheon.uf.viz.collaboration.comm.provider.session.CollaborationConn
|
|||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
* May 16, 2013 1966 rferrel Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @author rferrel
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public interface ICollaborationUIManager {
|
||||
|
||||
public CollaborationConnection getConnection();
|
||||
|
||||
public void logout();
|
||||
|
||||
public interface IUpdateListener {
|
||||
/**
|
||||
* List of files/directories with updated information
|
||||
*
|
||||
* @param fileInfoArray
|
||||
*/
|
||||
public void update(FileInfo[] fileInfoArray);
|
||||
}
|
|
@ -0,0 +1,349 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.archive.ui;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Combo;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Layout;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.swt.widgets.Spinner;
|
||||
|
||||
import com.raytheon.uf.viz.archive.ui.ArchiveTableComp.TableType;
|
||||
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
||||
|
||||
/**
|
||||
* Archive retention dialog.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 23, 2013 #1964 lvenable Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author lvenable
|
||||
* @version 1.0
|
||||
*/
|
||||
public class ArchiveRetentionDlg extends CaveSWTDialog {
|
||||
|
||||
/** Table composite that holds the table controls. */
|
||||
private ArchiveTableComp tableComp;
|
||||
|
||||
/** Archive config combo box. */
|
||||
private Combo archCfgCbo;
|
||||
|
||||
/** Category combo box. */
|
||||
private Combo categoryCbo;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param parentShell
|
||||
* Parent shell.
|
||||
*/
|
||||
public ArchiveRetentionDlg(Shell parentShell) {
|
||||
super(parentShell, SWT.DIALOG_TRIM | SWT.MIN, CAVE.DO_NOT_BLOCK
|
||||
| CAVE.MODE_INDEPENDENT | CAVE.INDEPENDENT_SHELL);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Layout constructShellLayout() {
|
||||
// Create the main layout for the shell.
|
||||
GridLayout mainLayout = new GridLayout(1, false);
|
||||
mainLayout.marginHeight = 2;
|
||||
mainLayout.marginWidth = 2;
|
||||
|
||||
return mainLayout;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initializeComponents(Shell shell) {
|
||||
setText("Archive Retention");
|
||||
Composite mainComp = new Composite(shell, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(1, false);
|
||||
gl.marginHeight = 0;
|
||||
gl.marginWidth = 0;
|
||||
gl.horizontalSpacing = 0;
|
||||
mainComp.setLayout(gl);
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize method to create all of the composite & controls.
|
||||
*/
|
||||
private void init() {
|
||||
createRetentionControls();
|
||||
createTable();
|
||||
addSeparator(shell, SWT.HORIZONTAL);
|
||||
createBottomActionButtons();
|
||||
|
||||
// TODO : Remove this when functionality is implemented
|
||||
populateComboBoxes();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the retention controls.
|
||||
*/
|
||||
private void createRetentionControls() {
|
||||
Composite retentionComp = new Composite(shell, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(5, false);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
retentionComp.setLayout(gl);
|
||||
retentionComp.setLayoutData(gd);
|
||||
|
||||
/*
|
||||
* Top row of controls.
|
||||
*/
|
||||
Label archCfgLbl = new Label(retentionComp, SWT.NONE);
|
||||
archCfgLbl.setText("Archive Config: ");
|
||||
|
||||
gd = new GridData(200, SWT.DEFAULT);
|
||||
archCfgCbo = new Combo(retentionComp, SWT.VERTICAL | SWT.DROP_DOWN
|
||||
| SWT.BORDER | SWT.READ_ONLY);
|
||||
archCfgCbo.setLayoutData(gd);
|
||||
archCfgCbo.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
/*
|
||||
* TODO - add code to update the category combo box
|
||||
*/
|
||||
}
|
||||
});
|
||||
|
||||
gd = new GridData();
|
||||
gd.horizontalIndent = 20;
|
||||
Label minRetentionLbl = new Label(retentionComp, SWT.NONE);
|
||||
minRetentionLbl.setText("Minimum Retention: ");
|
||||
minRetentionLbl.setLayoutData(gd);
|
||||
|
||||
gd = new GridData(60, SWT.DEFAULT);
|
||||
final Spinner minRetentionSpnr = new Spinner(retentionComp, SWT.BORDER);
|
||||
minRetentionSpnr.setIncrement(1);
|
||||
minRetentionSpnr.setPageIncrement(5);
|
||||
minRetentionSpnr.setMaximum(Integer.MAX_VALUE);
|
||||
minRetentionSpnr.setMinimum(1);
|
||||
minRetentionSpnr.setLayoutData(gd);
|
||||
|
||||
final Combo minRetentionCbo = new Combo(retentionComp, SWT.VERTICAL
|
||||
| SWT.DROP_DOWN | SWT.BORDER | SWT.READ_ONLY);
|
||||
minRetentionCbo.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleRetentionSelection(minRetentionCbo, minRetentionSpnr);
|
||||
}
|
||||
});
|
||||
minRetentionCbo.add("Hours");
|
||||
minRetentionCbo.add("Days");
|
||||
minRetentionCbo.select(0);
|
||||
minRetentionCbo.setData(minRetentionCbo.getItem(minRetentionCbo
|
||||
.getSelectionIndex()));
|
||||
|
||||
/*
|
||||
* Bottom row of controls.
|
||||
*/
|
||||
Label catLbl = new Label(retentionComp, SWT.NONE);
|
||||
catLbl.setText("Category: ");
|
||||
|
||||
gd = new GridData(200, SWT.DEFAULT);
|
||||
categoryCbo = new Combo(retentionComp, SWT.VERTICAL | SWT.DROP_DOWN
|
||||
| SWT.BORDER | SWT.READ_ONLY);
|
||||
categoryCbo.setLayoutData(gd);
|
||||
categoryCbo.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
/*
|
||||
* TODO - add code to update the information in the table
|
||||
*/
|
||||
}
|
||||
});
|
||||
|
||||
gd = new GridData();
|
||||
gd.horizontalIndent = 20;
|
||||
Label extRetentionLbl = new Label(retentionComp, SWT.NONE);
|
||||
extRetentionLbl.setText("Extended Retention: ");
|
||||
extRetentionLbl.setLayoutData(gd);
|
||||
|
||||
gd = new GridData(60, SWT.DEFAULT);
|
||||
final Spinner extRetentionSpnr = new Spinner(retentionComp, SWT.BORDER);
|
||||
extRetentionSpnr.setIncrement(1);
|
||||
extRetentionSpnr.setPageIncrement(5);
|
||||
extRetentionSpnr.setMaximum(Integer.MAX_VALUE);
|
||||
extRetentionSpnr.setMinimum(1);
|
||||
extRetentionSpnr.setLayoutData(gd);
|
||||
|
||||
final Combo extRetentionCbo = new Combo(retentionComp, SWT.VERTICAL
|
||||
| SWT.DROP_DOWN | SWT.BORDER | SWT.READ_ONLY);
|
||||
extRetentionCbo.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleRetentionSelection(extRetentionCbo, extRetentionSpnr);
|
||||
}
|
||||
});
|
||||
extRetentionCbo.add("Hours");
|
||||
extRetentionCbo.add("Days");
|
||||
extRetentionCbo.select(0);
|
||||
extRetentionCbo.setData(extRetentionCbo.getItem(extRetentionCbo
|
||||
.getSelectionIndex()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the table control.
|
||||
*/
|
||||
private void createTable() {
|
||||
tableComp = new ArchiveTableComp(shell, TableType.Case);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the bottom action buttons.
|
||||
*/
|
||||
private void createBottomActionButtons() {
|
||||
|
||||
Composite actionControlComp = new Composite(shell, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(3, false);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
actionControlComp.setLayout(gl);
|
||||
actionControlComp.setLayoutData(gd);
|
||||
|
||||
Button calcSizeBtn = new Button(actionControlComp, SWT.PUSH);
|
||||
calcSizeBtn.setText(" Calculate Sizes ");
|
||||
calcSizeBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
// TODO : add calculate size functionality
|
||||
}
|
||||
});
|
||||
|
||||
Button saveBtn = new Button(actionControlComp, SWT.PUSH);
|
||||
saveBtn.setText(" Save... ");
|
||||
saveBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
// TODO : add save functionality
|
||||
}
|
||||
});
|
||||
|
||||
gd = new GridData(SWT.RIGHT, SWT.DEFAULT, true, false);
|
||||
Button closeBtn = new Button(actionControlComp, SWT.PUSH);
|
||||
closeBtn.setText(" Close ");
|
||||
closeBtn.setLayoutData(gd);
|
||||
closeBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the retention selection for both minimum and extended retention.
|
||||
*
|
||||
* @param comboBox
|
||||
* Retention combo box.
|
||||
* @param spinner
|
||||
* Retention spinner.
|
||||
*/
|
||||
private void handleRetentionSelection(Combo comboBox, Spinner spinner) {
|
||||
// If the selection didn't change then just return.
|
||||
if (comboBox.getItem(comboBox.getSelectionIndex()).equals(
|
||||
(String) comboBox.getData())) {
|
||||
return;
|
||||
}
|
||||
|
||||
int time = 0;
|
||||
|
||||
if (comboBox.getItem(comboBox.getSelectionIndex()).equals("Hours")) {
|
||||
time = convertTime(true, spinner.getSelection());
|
||||
} else {
|
||||
time = convertTime(false, spinner.getSelection());
|
||||
}
|
||||
|
||||
spinner.setSelection(time);
|
||||
comboBox.setData(comboBox.getItem(comboBox.getSelectionIndex()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Covert time from either hours to days or days to hours.
|
||||
*
|
||||
* @param daysToHours
|
||||
* Flag indicating how to convert the time.
|
||||
* @param time
|
||||
* Time to be converted.
|
||||
* @return The converted time.
|
||||
*/
|
||||
private int convertTime(boolean daysToHours, int time) {
|
||||
int convertedTime = 0;
|
||||
|
||||
if (daysToHours) {
|
||||
convertedTime = time * 24;
|
||||
} else {
|
||||
convertedTime = time / 24;
|
||||
}
|
||||
|
||||
return convertedTime;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a separator line to the provided container.
|
||||
*
|
||||
* @param container
|
||||
* Composite.
|
||||
* @param orientation
|
||||
* Vertical or horizontal orientation.
|
||||
*/
|
||||
private void addSeparator(Composite container, int orientation) {
|
||||
// Separator label
|
||||
GridData gd;
|
||||
|
||||
if (orientation == SWT.HORIZONTAL) {
|
||||
gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
} else {
|
||||
gd = new GridData(SWT.DEFAULT, SWT.FILL, false, true);
|
||||
}
|
||||
|
||||
Label sepLbl = new Label(container, SWT.SEPARATOR | orientation);
|
||||
sepLbl.setLayoutData(gd);
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* TEST METHODS - to be removed when functionality is implemented.
|
||||
* ******************************************************
|
||||
*/
|
||||
private void populateComboBoxes() {
|
||||
archCfgCbo.add("Raw");
|
||||
archCfgCbo.add("Processed");
|
||||
archCfgCbo.select(0);
|
||||
|
||||
categoryCbo.add("Radar");
|
||||
categoryCbo.add("Point");
|
||||
categoryCbo.add("Satellite");
|
||||
categoryCbo.select(0);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,303 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.archive.ui;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.MouseAdapter;
|
||||
import org.eclipse.swt.events.MouseEvent;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Menu;
|
||||
import org.eclipse.swt.widgets.MenuItem;
|
||||
import org.eclipse.swt.widgets.Table;
|
||||
import org.eclipse.swt.widgets.TableColumn;
|
||||
import org.eclipse.swt.widgets.TableItem;
|
||||
|
||||
/**
|
||||
* Archive table composite that contains the SWT table.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 23, 2013 #1964 lvenable Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author lvenable
|
||||
* @version 1.0
|
||||
*/
|
||||
public class ArchiveTableComp extends Composite {
|
||||
|
||||
/** Table control. */
|
||||
private Table table;
|
||||
|
||||
/** Popup menu. */
|
||||
private Menu popupMenu;
|
||||
|
||||
/** Number of selected items label. */
|
||||
private Label selectedLbl;
|
||||
|
||||
/** Size label. */
|
||||
private Label sizeLbl;
|
||||
|
||||
/** Table type enumeration. */
|
||||
public enum TableType {
|
||||
Retention, Case
|
||||
};
|
||||
|
||||
/** Current table type. */
|
||||
private TableType tableType = TableType.Retention;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param parent
|
||||
* Parent composite.
|
||||
* @param type
|
||||
* Table type.
|
||||
*/
|
||||
public ArchiveTableComp(Composite parent, TableType type) {
|
||||
super(parent, 0);
|
||||
|
||||
tableType = type;
|
||||
init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize composites and controls.
|
||||
*/
|
||||
private void init() {
|
||||
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
|
||||
GridLayout gl = new GridLayout(1, true);
|
||||
gl.verticalSpacing = 2;
|
||||
gl.marginHeight = 2;
|
||||
gl.marginWidth = 2;
|
||||
this.setLayout(gl);
|
||||
this.setLayoutData(gd);
|
||||
|
||||
createTable();
|
||||
createTableLabels();
|
||||
|
||||
updateSelectionLabel();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the table control.
|
||||
*/
|
||||
private void createTable() {
|
||||
table = new Table(this, SWT.CHECK | SWT.BORDER | SWT.V_SCROLL
|
||||
| SWT.H_SCROLL | SWT.MULTI);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, true);
|
||||
gd.widthHint = 730;
|
||||
gd.heightHint = 270;
|
||||
table.setLayoutData(gd);
|
||||
table.setHeaderVisible(true);
|
||||
table.setLinesVisible(true);
|
||||
|
||||
TableColumn pathColumn = new TableColumn(table, SWT.CENTER);
|
||||
pathColumn.setText("Path");
|
||||
|
||||
TableColumn sizeColumn = new TableColumn(table, SWT.CENTER);
|
||||
if (tableType == TableType.Retention) {
|
||||
sizeColumn.setText("Current Size (MB)");
|
||||
} else if (tableType == TableType.Case) {
|
||||
sizeColumn.setText("Size (MB)");
|
||||
}
|
||||
|
||||
populateTable();
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
table.getColumn(i).setResizable(false);
|
||||
table.getColumn(i).setMoveable(false);
|
||||
table.getColumn(i).pack();
|
||||
}
|
||||
|
||||
table.getColumn(1).setWidth(100);
|
||||
|
||||
table.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseDown(MouseEvent me) {
|
||||
if (me.button == 3) {
|
||||
createPopupMenu(table);
|
||||
popupMenu.setVisible(true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
table.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
updateSelectionLabel();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the table labels.
|
||||
*/
|
||||
private void createTableLabels() {
|
||||
Composite lblComp = new Composite(this, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(2, true);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
lblComp.setLayout(gl);
|
||||
lblComp.setLayoutData(gd);
|
||||
|
||||
gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
selectedLbl = new Label(lblComp, SWT.NONE);
|
||||
selectedLbl.setLayoutData(gd);
|
||||
|
||||
/*
|
||||
* TODO : keep for future use. This will be used to show the total size
|
||||
* of the selected items in the table.
|
||||
*/
|
||||
// gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
// sizeLbl = new Label(lblComp, SWT.NONE);
|
||||
// sizeLbl.setLayoutData(gd);
|
||||
// sizeLbl.setText("Size of Selected items: 0" + sizeSuffix);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the selection items label.
|
||||
*/
|
||||
private void updateSelectionLabel() {
|
||||
TableItem[] itemArray = table.getItems();
|
||||
int count = 0;
|
||||
|
||||
for (TableItem ti : itemArray) {
|
||||
if (ti.getChecked()) {
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
selectedLbl.setText("Selected Items: " + count);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the table popup menu.
|
||||
*
|
||||
* @param parent
|
||||
* Parent control.
|
||||
*/
|
||||
private void createPopupMenu(Control parent) {
|
||||
if (popupMenu != null) {
|
||||
popupMenu.dispose();
|
||||
}
|
||||
|
||||
popupMenu = new Menu(parent);
|
||||
|
||||
MenuItem checkSelectedItem = new MenuItem(popupMenu, SWT.NONE);
|
||||
checkSelectedItem.setText("Check selected rows");
|
||||
checkSelectedItem.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleCheckSelectedRow(true);
|
||||
}
|
||||
});
|
||||
|
||||
MenuItem uncheckSelectedItem = new MenuItem(popupMenu, SWT.NONE);
|
||||
uncheckSelectedItem.setText("Uncheck selected rows");
|
||||
uncheckSelectedItem.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleCheckSelectedRow(false);
|
||||
}
|
||||
});
|
||||
|
||||
new MenuItem(popupMenu, SWT.SEPARATOR);
|
||||
|
||||
MenuItem checkAllItem = new MenuItem(popupMenu, SWT.NONE);
|
||||
checkAllItem.setText("Check all rows");
|
||||
checkAllItem.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleCheckAll(true);
|
||||
}
|
||||
});
|
||||
|
||||
MenuItem uncheckAllItem = new MenuItem(popupMenu, SWT.NONE);
|
||||
uncheckAllItem.setText("Uncheck all rows");
|
||||
uncheckAllItem.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleCheckAll(false);
|
||||
}
|
||||
});
|
||||
|
||||
// Set the pop-up menu as the pop-up for the shell
|
||||
parent.setMenu(popupMenu);
|
||||
}
|
||||
|
||||
/**
|
||||
* Action performed when the item in the table is checked/unchecked.
|
||||
*
|
||||
* @param check
|
||||
* Checked flag.
|
||||
*/
|
||||
private void handleCheckSelectedRow(boolean check) {
|
||||
TableItem[] itemArray = table.getSelection();
|
||||
|
||||
for (TableItem ti : itemArray) {
|
||||
ti.setChecked(check);
|
||||
}
|
||||
|
||||
updateSelectionLabel();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check or uncheck all of the table items.
|
||||
*
|
||||
* @param check
|
||||
* Flag indicating check or uncheck all items.
|
||||
*/
|
||||
private void handleCheckAll(boolean check) {
|
||||
TableItem[] itemArray = table.getItems();
|
||||
|
||||
for (TableItem ti : itemArray) {
|
||||
ti.setChecked(check);
|
||||
}
|
||||
|
||||
updateSelectionLabel();
|
||||
}
|
||||
|
||||
/*
|
||||
* TODO : this is just for display purposes. This will go away when the
|
||||
* functionality is implemented.
|
||||
*/
|
||||
private void populateTable() {
|
||||
for (int i = 0; i < 150; i++) {
|
||||
TableItem item = new TableItem(table, SWT.NONE);
|
||||
item.setText(0,
|
||||
"/home/lvenable/caveData/configuration/base/com.raytheon.uf.viz.gisdatastore/"
|
||||
+ i + " ");
|
||||
if (i % 5 == 0) {
|
||||
item.setChecked(true);
|
||||
}
|
||||
item.setText(1, "?????");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,609 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.archive.ui;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.graphics.GC;
|
||||
import org.eclipse.swt.graphics.Point;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Combo;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.DirectoryDialog;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Layout;
|
||||
import org.eclipse.swt.widgets.MessageBox;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.swt.widgets.Spinner;
|
||||
|
||||
import com.raytheon.uf.common.time.util.TimeUtil;
|
||||
import com.raytheon.uf.viz.archive.ui.ArchiveTableComp.TableType;
|
||||
import com.raytheon.viz.ui.dialogs.AwipsCalendar;
|
||||
import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
||||
|
||||
/**
|
||||
*
|
||||
* Case creation dialog.
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* May 23, 2013 #1964 lvenable Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author lvenable
|
||||
* @version 1.0
|
||||
*/
|
||||
public class CaseCreationDlg extends CaveSWTDialog {
|
||||
|
||||
/** Table control */
|
||||
private ArchiveTableComp tableComp;
|
||||
|
||||
/** Start time label. */
|
||||
private Label startTimeLbl;
|
||||
|
||||
/** End time label. */
|
||||
private Label endTimeLbl;
|
||||
|
||||
/** Start date. */
|
||||
private Date startDate;
|
||||
|
||||
/** End date. */
|
||||
private Date endDate;
|
||||
|
||||
/** Archive configuration combo box. */
|
||||
private Combo archCfgCbo;
|
||||
|
||||
/** Category combo box. */
|
||||
private Combo categoryCbo;
|
||||
|
||||
/** Compression check box. */
|
||||
private Button compressChk;
|
||||
|
||||
/** Break files check box. */
|
||||
private Button breakFilesChk;
|
||||
|
||||
/** File size spinner control. */
|
||||
private Spinner fileSizeSpnr;
|
||||
|
||||
/** File size combo box. */
|
||||
private Combo fileSizeCbo;
|
||||
|
||||
/** Maximum file size label. */
|
||||
private Label maxFileSizeLbl;
|
||||
|
||||
/** Directory location label. */
|
||||
private Label locationLbl;
|
||||
|
||||
/** Uncompressed file size label. */
|
||||
private Label uncompressSizeLbl;
|
||||
|
||||
/** Date format. */
|
||||
private SimpleDateFormat dateFmt = new SimpleDateFormat(
|
||||
"E MMM dd yyyy HH:00 z");
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param parentShell
|
||||
* Parent shell.
|
||||
*/
|
||||
public CaseCreationDlg(Shell parentShell) {
|
||||
super(parentShell, SWT.DIALOG_TRIM | SWT.MIN, CAVE.DO_NOT_BLOCK
|
||||
| CAVE.MODE_INDEPENDENT | CAVE.INDEPENDENT_SHELL);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Layout constructShellLayout() {
|
||||
// Create the main layout for the shell.
|
||||
GridLayout mainLayout = new GridLayout(1, false);
|
||||
mainLayout.marginHeight = 2;
|
||||
mainLayout.marginWidth = 2;
|
||||
|
||||
return mainLayout;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void initializeComponents(Shell shell) {
|
||||
setText("Case Creation");
|
||||
Composite mainComp = new Composite(shell, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(1, false);
|
||||
gl.marginHeight = 0;
|
||||
gl.marginWidth = 0;
|
||||
gl.horizontalSpacing = 0;
|
||||
mainComp.setLayout(gl);
|
||||
|
||||
init();
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize method to create all of the composite & controls.
|
||||
*/
|
||||
private void init() {
|
||||
|
||||
createTimeControls();
|
||||
addSeparator(shell, SWT.HORIZONTAL);
|
||||
createCaseCompressionControls();
|
||||
addSeparator(shell, SWT.HORIZONTAL);
|
||||
createFileBrowserControls();
|
||||
createTable();
|
||||
addSeparator(shell, SWT.HORIZONTAL);
|
||||
createBottomActionButtons();
|
||||
|
||||
populateComboBoxes();
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the time controls.
|
||||
*/
|
||||
private void createTimeControls() {
|
||||
Composite timeComp = new Composite(shell, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(4, false);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
timeComp.setLayout(gl);
|
||||
timeComp.setLayoutData(gd);
|
||||
|
||||
Button startBtn = new Button(timeComp, SWT.PUSH);
|
||||
startBtn.setText(" Start Time... ");
|
||||
startBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
displayDateTimeControls(true);
|
||||
}
|
||||
});
|
||||
|
||||
gd = new GridData(220, SWT.DEFAULT);
|
||||
startTimeLbl = new Label(timeComp, SWT.BORDER);
|
||||
startTimeLbl.setLayoutData(gd);
|
||||
|
||||
gd = new GridData();
|
||||
gd.horizontalIndent = 20;
|
||||
Button endBtn = new Button(timeComp, SWT.PUSH);
|
||||
endBtn.setText(" End Time... ");
|
||||
endBtn.setLayoutData(gd);
|
||||
endBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
displayDateTimeControls(false);
|
||||
}
|
||||
});
|
||||
|
||||
gd = new GridData(220, SWT.DEFAULT);
|
||||
endTimeLbl = new Label(timeComp, SWT.BORDER);
|
||||
endTimeLbl.setLayoutData(gd);
|
||||
|
||||
Date date = TimeUtil.newDate();
|
||||
startDate = date;
|
||||
endDate = date;
|
||||
startTimeLbl.setText(dateFmt.format(startDate));
|
||||
endTimeLbl.setText(dateFmt.format(endDate));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the case compression controls.
|
||||
*/
|
||||
private void createCaseCompressionControls() {
|
||||
Composite caseCompressionComp = new Composite(shell, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(3, false);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
caseCompressionComp.setLayout(gl);
|
||||
caseCompressionComp.setLayoutData(gd);
|
||||
|
||||
createComboControls(caseCompressionComp);
|
||||
addSeparator(caseCompressionComp, SWT.VERTICAL);
|
||||
createCompressionControls(caseCompressionComp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the Archive and Category combo controls.
|
||||
*
|
||||
* @param comp
|
||||
* Composite to put the controls in.
|
||||
*/
|
||||
private void createComboControls(Composite comp) {
|
||||
Composite comboComp = new Composite(comp, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(2, false);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
comboComp.setLayout(gl);
|
||||
comboComp.setLayoutData(gd);
|
||||
|
||||
Label archCfgLbl = new Label(comboComp, SWT.NONE);
|
||||
archCfgLbl.setText("Archive Config: ");
|
||||
|
||||
gd = new GridData(200, SWT.DEFAULT);
|
||||
archCfgCbo = new Combo(comboComp, SWT.VERTICAL | SWT.DROP_DOWN
|
||||
| SWT.BORDER | SWT.READ_ONLY);
|
||||
archCfgCbo.setLayoutData(gd);
|
||||
archCfgCbo.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
/*
|
||||
* TODO - add code to update the category combo box
|
||||
*/
|
||||
}
|
||||
});
|
||||
|
||||
Label catLbl = new Label(comboComp, SWT.NONE);
|
||||
catLbl.setText("Category: ");
|
||||
|
||||
gd = new GridData(200, SWT.DEFAULT);
|
||||
categoryCbo = new Combo(comboComp, SWT.VERTICAL | SWT.DROP_DOWN
|
||||
| SWT.BORDER | SWT.READ_ONLY);
|
||||
categoryCbo.setLayoutData(gd);
|
||||
categoryCbo.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
/*
|
||||
* TODO - add code to update the information in the table
|
||||
*/
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the compression controls.
|
||||
*
|
||||
* @param comp
|
||||
* Composite to put the control in.
|
||||
*/
|
||||
private void createCompressionControls(Composite comp) {
|
||||
Composite compressionComp = new Composite(comp, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(1, false);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
compressionComp.setLayout(gl);
|
||||
compressionComp.setLayoutData(gd);
|
||||
|
||||
/*
|
||||
* Uncompressed file size label
|
||||
*/
|
||||
Composite compressionLblComp = new Composite(compressionComp, SWT.NONE);
|
||||
gl = new GridLayout(3, false);
|
||||
gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
compressionLblComp.setLayout(gl);
|
||||
compressionLblComp.setLayoutData(gd);
|
||||
|
||||
Label uncompressLbl = new Label(compressionLblComp, SWT.NONE);
|
||||
uncompressLbl.setText("Uncompressed Case Size: ");
|
||||
|
||||
gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
uncompressSizeLbl = new Label(compressionLblComp, SWT.NONE);
|
||||
uncompressSizeLbl.setText("1024 MB");
|
||||
uncompressSizeLbl.setLayoutData(gd);
|
||||
|
||||
/*
|
||||
* Compression controls
|
||||
*/
|
||||
compressChk = new Button(compressionComp, SWT.CHECK);
|
||||
compressChk.setText("Compress Files");
|
||||
compressChk.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleCompressSelection();
|
||||
}
|
||||
});
|
||||
|
||||
gd = new GridData();
|
||||
gd.horizontalIndent = 20;
|
||||
breakFilesChk = new Button(compressionComp, SWT.CHECK);
|
||||
breakFilesChk.setText("Break into multiple files");
|
||||
breakFilesChk.setLayoutData(gd);
|
||||
breakFilesChk.setEnabled(false);
|
||||
breakFilesChk.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleBreakFilesSelection(breakFilesChk.getSelection());
|
||||
}
|
||||
});
|
||||
|
||||
Composite maxFileSizeComp = new Composite(compressionComp, SWT.NONE);
|
||||
gl = new GridLayout(3, false);
|
||||
gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
gd.horizontalIndent = 20;
|
||||
maxFileSizeComp.setLayout(gl);
|
||||
maxFileSizeComp.setLayoutData(gd);
|
||||
|
||||
maxFileSizeLbl = new Label(maxFileSizeComp, SWT.NONE);
|
||||
maxFileSizeLbl.setText("Max File Size: ");
|
||||
maxFileSizeLbl.setEnabled(false);
|
||||
|
||||
gd = new GridData(60, SWT.DEFAULT);
|
||||
fileSizeSpnr = new Spinner(maxFileSizeComp, SWT.BORDER);
|
||||
fileSizeSpnr.setIncrement(1);
|
||||
fileSizeSpnr.setPageIncrement(50);
|
||||
fileSizeSpnr.setMaximum(2000);
|
||||
fileSizeSpnr.setMinimum(500);
|
||||
fileSizeSpnr.setLayoutData(gd);
|
||||
fileSizeSpnr.setEnabled(false);
|
||||
|
||||
fileSizeCbo = new Combo(maxFileSizeComp, SWT.VERTICAL | SWT.DROP_DOWN
|
||||
| SWT.BORDER | SWT.READ_ONLY);
|
||||
fileSizeCbo.setEnabled(false);
|
||||
fileSizeCbo.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleFileSizeChangeSelection();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the file browser controls.
|
||||
*/
|
||||
private void createFileBrowserControls() {
|
||||
Composite fileBrowserComp = new Composite(shell, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(4, false);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
fileBrowserComp.setLayout(gl);
|
||||
fileBrowserComp.setLayoutData(gd);
|
||||
|
||||
Label caseLbl = new Label(fileBrowserComp, SWT.NONE);
|
||||
caseLbl.setText("Case Location: ");
|
||||
|
||||
gd = new GridData(300, SWT.DEFAULT);
|
||||
locationLbl = new Label(fileBrowserComp, SWT.BORDER);
|
||||
locationLbl.setLayoutData(gd);
|
||||
|
||||
Button browseBtn = new Button(fileBrowserComp, SWT.PUSH);
|
||||
browseBtn.setText(" Browse... ");
|
||||
browseBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
handleBrowserSelection();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the table control.
|
||||
*/
|
||||
private void createTable() {
|
||||
tableComp = new ArchiveTableComp(shell, TableType.Case);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the bottom action buttons.
|
||||
*/
|
||||
private void createBottomActionButtons() {
|
||||
|
||||
Composite actionControlComp = new Composite(shell, SWT.NONE);
|
||||
GridLayout gl = new GridLayout(3, false);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
actionControlComp.setLayout(gl);
|
||||
actionControlComp.setLayoutData(gd);
|
||||
|
||||
Button exportBtn = new Button(actionControlComp, SWT.PUSH);
|
||||
exportBtn.setText(" Export Case Config... ");
|
||||
exportBtn.addSelectionListener(new SelectionAdapter() {
|
||||
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
Button generateBtn = new Button(actionControlComp, SWT.PUSH);
|
||||
generateBtn.setText(" Generate ");
|
||||
generateBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
gd = new GridData(SWT.RIGHT, SWT.DEFAULT, true, false);
|
||||
Button closeBtn = new Button(actionControlComp, SWT.PUSH);
|
||||
closeBtn.setText(" Close ");
|
||||
closeBtn.setLayoutData(gd);
|
||||
closeBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable/Disable controls based on the compression check box.
|
||||
*/
|
||||
private void handleCompressSelection() {
|
||||
if (compressChk.getSelection()) {
|
||||
handleBreakFilesSelection(breakFilesChk.getSelection());
|
||||
} else {
|
||||
handleBreakFilesSelection(false);
|
||||
}
|
||||
|
||||
breakFilesChk.setEnabled(compressChk.getSelection());
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable/Disable file size controls.
|
||||
*
|
||||
* @param enabled
|
||||
* Enabled flag.
|
||||
*/
|
||||
private void handleBreakFilesSelection(boolean enabled) {
|
||||
maxFileSizeLbl.setEnabled(enabled);
|
||||
fileSizeSpnr.setEnabled(enabled);
|
||||
fileSizeCbo.setEnabled(enabled);
|
||||
}
|
||||
|
||||
/**
|
||||
* Action performed when the file size has changed.
|
||||
*/
|
||||
private void handleFileSizeChangeSelection() {
|
||||
/*
|
||||
* If the same item was selected just return.
|
||||
*/
|
||||
if (fileSizeCbo.getItem(fileSizeCbo.getSelectionIndex()).equals(
|
||||
(String) fileSizeCbo.getData())) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (fileSizeCbo.getItem(fileSizeCbo.getSelectionIndex()).equals("MB")) {
|
||||
fileSizeSpnr.setIncrement(1);
|
||||
fileSizeSpnr.setPageIncrement(50);
|
||||
fileSizeSpnr.setMaximum(2000);
|
||||
fileSizeSpnr.setMinimum(500);
|
||||
fileSizeSpnr.setSelection(500);
|
||||
} else {
|
||||
fileSizeSpnr.setIncrement(1);
|
||||
fileSizeSpnr.setPageIncrement(5);
|
||||
fileSizeSpnr.setMinimum(1);
|
||||
fileSizeSpnr.setMaximum(10);
|
||||
fileSizeSpnr.setSelection(1);
|
||||
}
|
||||
|
||||
fileSizeCbo
|
||||
.setData(fileSizeCbo.getItem(fileSizeCbo.getSelectionIndex()));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the directory browser dialog.
|
||||
*/
|
||||
private void handleBrowserSelection() {
|
||||
DirectoryDialog dlg = new DirectoryDialog(shell, SWT.OPEN);
|
||||
String dirName = dlg.open();
|
||||
if (dirName != null) {
|
||||
locationLbl.setText(trimDirectoryName(dirName));
|
||||
locationLbl.setToolTipText(dirName);
|
||||
locationLbl.setData(dirName);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a separator line to the provided container.
|
||||
*
|
||||
* @param container
|
||||
* Composite.
|
||||
* @param orientation
|
||||
* Vertical or horizontal orientation.
|
||||
*/
|
||||
private void addSeparator(Composite container, int orientation) {
|
||||
// Separator label
|
||||
GridData gd;
|
||||
|
||||
if (orientation == SWT.HORIZONTAL) {
|
||||
gd = new GridData(SWT.FILL, SWT.DEFAULT, true, false);
|
||||
} else {
|
||||
gd = new GridData(SWT.DEFAULT, SWT.FILL, false, true);
|
||||
}
|
||||
|
||||
Label sepLbl = new Label(container, SWT.SEPARATOR | orientation);
|
||||
sepLbl.setLayoutData(gd);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the date/time controls.
|
||||
*
|
||||
* @param startTimeFlag
|
||||
* True for start time, false for end time.
|
||||
*/
|
||||
private void displayDateTimeControls(boolean startTimeFlag) {
|
||||
AwipsCalendar ac = new AwipsCalendar(shell, 1);
|
||||
Date date = (Date) ac.open();
|
||||
|
||||
if (startTimeFlag) {
|
||||
if (date.after(endDate)) {
|
||||
MessageBox mb = new MessageBox(shell, SWT.ICON_QUESTION
|
||||
| SWT.OK);
|
||||
mb.setText("Date Error");
|
||||
mb.setMessage("The selected start date is after the end date. Resetting.");
|
||||
mb.open();
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (date.before(startDate)) {
|
||||
MessageBox mb = new MessageBox(shell, SWT.ICON_QUESTION
|
||||
| SWT.OK);
|
||||
mb.setText("Date Error");
|
||||
mb.setMessage("The selected end date is before the start date. Resetting.");
|
||||
mb.open();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (startTimeFlag) {
|
||||
startTimeLbl.setText(dateFmt.format(date));
|
||||
} else {
|
||||
endTimeLbl.setText(dateFmt.format(date));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Trim the directory name if it is too long to fit in the label. The
|
||||
* beginning of the path will be replaced with "...".
|
||||
*
|
||||
* @param str
|
||||
* @return
|
||||
*/
|
||||
private String trimDirectoryName(String str) {
|
||||
Point strExtent;
|
||||
Point ellipseExt;
|
||||
|
||||
GC gc = new GC(shell);
|
||||
gc.setFont(locationLbl.getFont());
|
||||
|
||||
ellipseExt = gc.stringExtent("...");
|
||||
int labelWidth = locationLbl.getBounds().width - (5 + ellipseExt.x);
|
||||
|
||||
strExtent = gc.stringExtent(str);
|
||||
|
||||
if (strExtent.x > labelWidth) {
|
||||
while (strExtent.x > labelWidth) {
|
||||
str = str.substring(2);
|
||||
strExtent = gc.stringExtent(str);
|
||||
}
|
||||
str = "..." + str;
|
||||
}
|
||||
|
||||
gc.dispose();
|
||||
return str;
|
||||
}
|
||||
|
||||
/********************************************************
|
||||
* TEST METHODS ******************************************************
|
||||
*/
|
||||
private void populateComboBoxes() {
|
||||
archCfgCbo.add("Raw");
|
||||
archCfgCbo.add("Processed");
|
||||
archCfgCbo.select(0);
|
||||
|
||||
categoryCbo.add("Radar");
|
||||
categoryCbo.add("Point");
|
||||
categoryCbo.add("Satellite");
|
||||
categoryCbo.select(0);
|
||||
|
||||
fileSizeCbo.add("MB");
|
||||
fileSizeCbo.add("GB");
|
||||
fileSizeCbo.select(0);
|
||||
fileSizeCbo
|
||||
.setData(fileSizeCbo.getItem(fileSizeCbo.getSelectionIndex()));
|
||||
}
|
||||
}
|
|
@ -7,8 +7,7 @@ Bundle-Activator: com.raytheon.uf.viz.aviation.advisory.Activator
|
|||
Bundle-Vendor: RAYTHEON
|
||||
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
|
||||
Require-Bundle: com.raytheon.uf.viz.core
|
||||
Import-Package: com.raytheon.edex.scriptfactory,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
Import-Package: com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.time,
|
||||
com.raytheon.uf.viz.core,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.raytheon.uf.edex.event.feature</name>
|
||||
<name>com.raytheon.uf.viz.base.feature</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feature
|
||||
id="com.raytheon.uf.viz.collaboration.product.feature"
|
||||
label="Collaboration Product Feature"
|
||||
id="com.raytheon.uf.viz.base.feature"
|
||||
label="CAVE Feature"
|
||||
version="1.0.0.qualifier"
|
||||
provider-name="RAYTHEON">
|
||||
|
||||
|
@ -17,233 +17,231 @@
|
|||
[Enter License Description here.]
|
||||
</license>
|
||||
|
||||
<includes
|
||||
id="org.eclipse.rcp"
|
||||
version="0.0.0"/>
|
||||
<requires>
|
||||
<import feature="com.raytheon.uf.common.base.feature" version="1.0.0.qualifier"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.collaboration.comm"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.google.guava"
|
||||
id="com.raytheon.uf.viz.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.comm"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.status"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.serialization"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.util"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.apache.http"
|
||||
id="com.raytheon.viz.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.apache.commons.codec"
|
||||
id="com.raytheon.uf.viz.personalities.cave"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.apache.commons.logging"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.apache.log4j"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="javax.jms"
|
||||
id="org.apache.activemq"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.geotools"
|
||||
id="com.raytheon.uf.viz.localization"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.facebook.thrift"
|
||||
id="org.eclipse.core.resources"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ui.ide"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ui.workbench"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.team.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.core.filesystem"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ui.workbench.texteditor"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.jface.text"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.text"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.compare.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.menus"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.ui.menus"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="javax.persistence"
|
||||
id="com.raytheon.viz.alerts"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.productbrowser"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.junit"
|
||||
id="com.raytheon.uf.viz.core.rsc"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="net.sf.swtaddons"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="net.sf.cglib"
|
||||
id="org.eclipse.draw2d"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.emf.common.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.core.gl"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.apache.commons.lang"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="javax.vecmath"
|
||||
id="javax.media.opengl"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="javax.measure"
|
||||
id="javax.media.opengl.linux32"
|
||||
os="linux"
|
||||
arch="x86"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
fragment="true"/>
|
||||
|
||||
<plugin
|
||||
id="javax.media.opengl.linux64"
|
||||
os="linux"
|
||||
arch="x86_64"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
fragment="true"/>
|
||||
|
||||
<plugin
|
||||
id="javax.media.opengl.win32"
|
||||
os="win32"
|
||||
arch="x86"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
fragment="true"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.dataplugin.maps"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.core.maps"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.jivesoftware.smack"
|
||||
id="com.raytheon.viz.ui.tools.nav"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.spring.dm"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ecf"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ecf.presence"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ecf.provider.xmpp"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ecf.identity"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ecf.provider"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ecf.filetransfer"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.ecf.sharedobject"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.equinox.concurrent"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.application"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.collaboration.product"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.collaboration.core.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.localization"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.serialization.comm"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.auth"
|
||||
id="org.eclipse.emf.common"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
|
@ -8,8 +8,7 @@ Bundle-Vendor: RAYTHEON
|
|||
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Import-Package: com.raytheon.edex.scriptfactory,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
Import-Package: com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.dataplugin.bufrsigwx,
|
||||
com.raytheon.uf.common.dataplugin.bufrsigwx.common,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
|
|
|
@ -8,7 +8,6 @@ Bundle-Vendor: RAYTHEON
|
|||
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Import-Package: com.raytheon.edex.plugin.ccfp,
|
||||
com.raytheon.edex.scriptfactory,
|
||||
com.raytheon.uf.common.dataplugin,
|
||||
com.raytheon.uf.common.geospatial,
|
||||
com.raytheon.uf.common.status,
|
||||
|
|
|
@ -20,7 +20,8 @@ Require-Bundle: org.eclipse.ui,
|
|||
com.raytheon.uf.common.dataplugin.level;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.dataplugin.grid;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.parameter;bundle-version="1.0.0"
|
||||
com.raytheon.uf.common.parameter;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.colormap;bundle-version="1.12.1174"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.raytheon.uf.viz.cloudheight,
|
||||
|
|
|
@ -36,6 +36,7 @@ import org.eclipse.swt.widgets.Shell;
|
|||
import org.eclipse.ui.PlatformUI;
|
||||
import org.opengis.metadata.spatial.PixelOrientation;
|
||||
|
||||
import com.raytheon.uf.common.colormap.prefs.ColorMapParameters;
|
||||
import com.raytheon.uf.common.dataplugin.satellite.units.ir.IRPixel;
|
||||
import com.raytheon.uf.common.geospatial.ISpatialObject;
|
||||
import com.raytheon.uf.common.geospatial.MapUtil;
|
||||
|
@ -53,7 +54,6 @@ import com.raytheon.uf.viz.cloudheight.impl.ModelCloudHeightSourceImplementation
|
|||
import com.raytheon.uf.viz.cloudheight.impl.RaobCloudHeightSourceImplementation;
|
||||
import com.raytheon.uf.viz.cloudheight.rsc.PopupSkewTResource;
|
||||
import com.raytheon.uf.viz.cloudheight.ui.CloudHeightRightClickAction;
|
||||
import com.raytheon.uf.viz.core.drawables.ColorMapParameters;
|
||||
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
||||
import com.raytheon.uf.viz.core.drawables.IDescriptor.FramesInfo;
|
||||
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||
|
|
|
@ -1,14 +0,0 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Collaboration Core UI
|
||||
Bundle-SymbolicName: com.raytheon.uf.viz.collaboration.core.ui
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Activator: com.raytheon.uf.viz.collaboration.core.ui.Activator
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Require-Bundle: org.eclipse.ui,
|
||||
org.eclipse.core.runtime,
|
||||
com.raytheon.uf.viz.collaboration.comm;bundle-version="1.0.0",
|
||||
org.eclipse.ecf.presence;bundle-version="2.0.0"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: com.raytheon.uf.viz.collaboration.core.ui
|
Before Width: | Height: | Size: 348 B |
Before Width: | Height: | Size: 573 B |
Before Width: | Height: | Size: 157 B |
Before Width: | Height: | Size: 688 B |
Before Width: | Height: | Size: 823 B |
Before Width: | Height: | Size: 605 B |
Before Width: | Height: | Size: 617 B |
Before Width: | Height: | Size: 110 B |
Before Width: | Height: | Size: 215 B |
|
@ -1,50 +0,0 @@
|
|||
package com.raytheon.uf.viz.collaboration.core.ui;
|
||||
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
/**
|
||||
* The activator class controls the plug-in life cycle
|
||||
*/
|
||||
public class Activator extends AbstractUIPlugin {
|
||||
|
||||
// The plug-in ID
|
||||
public static final String PLUGIN_ID = "com.raytheon.uf.viz.collaboration.core.ui"; //$NON-NLS-1$
|
||||
|
||||
// The shared instance
|
||||
private static Activator plugin;
|
||||
|
||||
/**
|
||||
* The constructor
|
||||
*/
|
||||
public Activator() {
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void start(BundleContext context) throws Exception {
|
||||
super.start(context);
|
||||
plugin = this;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
* @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
|
||||
*/
|
||||
public void stop(BundleContext context) throws Exception {
|
||||
plugin = null;
|
||||
super.stop(context);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the shared instance
|
||||
*
|
||||
* @return the shared instance
|
||||
*/
|
||||
public static Activator getDefault() {
|
||||
return plugin;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,295 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.swing.tree.TreePath;
|
||||
|
||||
import org.eclipse.ecf.presence.roster.IRoster;
|
||||
import org.eclipse.ecf.presence.roster.IRosterEntry;
|
||||
import org.eclipse.ecf.presence.roster.IRosterGroup;
|
||||
import org.eclipse.jface.action.IContributionItem;
|
||||
import org.eclipse.jface.action.IMenuListener;
|
||||
import org.eclipse.jface.action.IMenuManager;
|
||||
import org.eclipse.jface.action.MenuManager;
|
||||
import org.eclipse.jface.viewers.TreeViewer;
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.DisposeEvent;
|
||||
import org.eclipse.swt.events.DisposeListener;
|
||||
import org.eclipse.swt.events.KeyAdapter;
|
||||
import org.eclipse.swt.events.KeyEvent;
|
||||
import org.eclipse.swt.events.MouseAdapter;
|
||||
import org.eclipse.swt.events.MouseEvent;
|
||||
import org.eclipse.swt.events.MouseTrackAdapter;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Display;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Menu;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
import org.eclipse.swt.widgets.Tree;
|
||||
import org.eclipse.swt.widgets.TreeColumn;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import com.raytheon.uf.viz.collaboration.comm.identity.event.IRosterChangeEvent;
|
||||
import com.raytheon.uf.viz.collaboration.comm.provider.session.CollaborationConnection;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.data.ActiveSessionsTreeData;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.data.MyUserTreeData;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.data.UserGroupTreeData;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.tree.UsersTreeContentProvider;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.tree.UsersTreeLabelProvider;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class CollaborationGroupControl {
|
||||
|
||||
private Text filterText;
|
||||
|
||||
private TreeViewer usersTreeViewer;
|
||||
|
||||
private IMenuManager mainMenu;
|
||||
|
||||
private ICollaborationUIManager manager;
|
||||
|
||||
private ActiveSessionsTreeData activeSessions;
|
||||
|
||||
private MyUserTreeData myUserData;
|
||||
|
||||
private List<UserGroupTreeData> groups = new ArrayList<UserGroupTreeData>();
|
||||
|
||||
public CollaborationGroupControl(Composite compsite,
|
||||
ICollaborationUIManager manager) {
|
||||
this.manager = manager;
|
||||
initializeGroupControl(compsite);
|
||||
manager.getConnection().registerEventHandler(this);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param parent
|
||||
*/
|
||||
private void initializeGroupControl(Composite parent) {
|
||||
parent.setLayout(new GridLayout());
|
||||
createFilterText(parent);
|
||||
createUserTree(parent);
|
||||
|
||||
createMainMenu();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param parent
|
||||
*/
|
||||
private void createUserTree(Composite parent) {
|
||||
Composite treeComp = new Composite(parent, SWT.NONE);
|
||||
treeComp.setLayout(new GridLayout(1, false));
|
||||
treeComp.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
|
||||
Tree tree = new Tree(treeComp, SWT.VIRTUAL | SWT.MULTI | SWT.V_SCROLL
|
||||
| SWT.H_SCROLL | SWT.BORDER);
|
||||
tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
|
||||
|
||||
// any width would work
|
||||
new TreeColumn(tree, SWT.NONE).setWidth(200);
|
||||
|
||||
MenuManager menuMgr = new MenuManager();
|
||||
menuMgr.setRemoveAllWhenShown(true);
|
||||
menuMgr.addMenuListener(new IMenuListener() {
|
||||
public void menuAboutToShow(IMenuManager mgr) {
|
||||
fillContextMenu(mgr);
|
||||
}
|
||||
});
|
||||
Menu menu = menuMgr.createContextMenu(tree);
|
||||
tree.setMenu(menu);
|
||||
|
||||
usersTreeViewer = new TreeViewer(tree);
|
||||
usersTreeViewer.setContentProvider(new UsersTreeContentProvider());
|
||||
usersTreeViewer.setLabelProvider(new UsersTreeLabelProvider());
|
||||
populateTree();
|
||||
}
|
||||
|
||||
private void populateTree() {
|
||||
if (myUserData == null) {
|
||||
myUserData = new MyUserTreeData(CollaborationConnection
|
||||
.getConnection().getUser());
|
||||
activeSessions = new ActiveSessionsTreeData();
|
||||
usersTreeViewer.add(new TreePath(new Object[0]), new Object[] {
|
||||
myUserData, activeSessions });
|
||||
}
|
||||
usersTreeViewer.remove(groups.toArray(new Object[groups.size()]));
|
||||
groups.clear();
|
||||
populateGroups();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private void populateGroups() {
|
||||
Map<String, UserGroupTreeData> dataMap = new HashMap<String, UserGroupTreeData>();
|
||||
IRoster roster = CollaborationConnection.getConnection()
|
||||
.getRosterManager().getRoster();
|
||||
for (Object item : roster.getItems()) {
|
||||
if (item instanceof IRosterGroup) {
|
||||
IRosterGroup group = (IRosterGroup) item;
|
||||
} else if (item instanceof IRosterEntry) {
|
||||
IRosterEntry entry = (IRosterEntry) item;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void fillContextMenu(IMenuManager mgr) {
|
||||
// TODO: Fill context menu based on selected tree items
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private void createFilterText(Composite parent) {
|
||||
Composite comp = new Composite(parent, SWT.BORDER);
|
||||
comp.setBackground(Display.getCurrent().getSystemColor(
|
||||
SWT.COLOR_LIST_BACKGROUND));
|
||||
GridLayout layout = new GridLayout(2, false);
|
||||
layout.marginHeight = 0;
|
||||
layout.marginWidth = 0;
|
||||
comp.setLayout(layout);
|
||||
GridData gd = new GridData(SWT.FILL, SWT.NONE, true, false);
|
||||
comp.setLayoutData(gd);
|
||||
|
||||
filterText = new Text(comp, SWT.SINGLE | SWT.NONE);
|
||||
GridData data = new GridData(SWT.FILL, SWT.NONE, true, false);
|
||||
filterText.setLayoutData(data);
|
||||
filterText.addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyReleased(KeyEvent e) {
|
||||
filter();
|
||||
}
|
||||
});
|
||||
|
||||
// Load icons to be used for label button
|
||||
final Image inactiveImage = AbstractUIPlugin.imageDescriptorFromPlugin(
|
||||
PlatformUI.PLUGIN_ID, "$nl$/icons/full/dtool16/clear_co.gif")
|
||||
.createImage();
|
||||
final Image activeImage = AbstractUIPlugin.imageDescriptorFromPlugin(
|
||||
PlatformUI.PLUGIN_ID, "$nl$/icons/full/etool16/clear_co.gif")
|
||||
.createImage();
|
||||
|
||||
final Label clearButton = new Label(comp, SWT.NONE);
|
||||
clearButton.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER,
|
||||
false, false));
|
||||
clearButton.setImage(inactiveImage);
|
||||
clearButton.setBackground(parent.getDisplay().getSystemColor(
|
||||
SWT.COLOR_LIST_BACKGROUND));
|
||||
clearButton.setToolTipText("Clear text");
|
||||
// Add listener for enter/exit changing icon
|
||||
clearButton.addMouseTrackListener(new MouseTrackAdapter() {
|
||||
public void mouseEnter(MouseEvent e) {
|
||||
clearButton.setImage(activeImage);
|
||||
}
|
||||
|
||||
public void mouseExit(MouseEvent e) {
|
||||
clearButton.setImage(inactiveImage);
|
||||
}
|
||||
});
|
||||
// Add mouse listener for clear pressed
|
||||
clearButton.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseUp(MouseEvent e) {
|
||||
filterText.setText("");
|
||||
filter();
|
||||
}
|
||||
});
|
||||
// Add dispose listener
|
||||
clearButton.addDisposeListener(new DisposeListener() {
|
||||
public void widgetDisposed(DisposeEvent e) {
|
||||
inactiveImage.dispose();
|
||||
activeImage.dispose();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void createMainMenu() {
|
||||
// TODO: Populate the main menu
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the {@link Tree} object that contains user information for the
|
||||
* control
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public Tree getUserTree() {
|
||||
return usersTreeViewer.getTree();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the contribution items for the group main menu
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public IContributionItem[] getMainMenuItems() {
|
||||
return mainMenu.getItems();
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters the group view based on the text
|
||||
*
|
||||
* @param text
|
||||
*/
|
||||
private void filter() {
|
||||
String currText = filterText.getText();
|
||||
// TODO: Filter the visible tree objects
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void handleRosterChangeEvent(IRosterChangeEvent rosterChangeEvent) {
|
||||
// TODO: Handle roster events
|
||||
switch (rosterChangeEvent.getType()) {
|
||||
case ADD:
|
||||
break;
|
||||
case MODIFY:
|
||||
break;
|
||||
case DELETE:
|
||||
break;
|
||||
case PRESENCE:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class AliasAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class ChangeFontAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class ChangePasswordAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class ChangeStatusMessageAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class ChooseRoleAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class ChooseSiteAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,163 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import static com.raytheon.uf.viz.collaboration.core.ui.CollaborationIconFactory.getIconImage;
|
||||
|
||||
import org.eclipse.jface.action.Action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* Factory for constructing core collaboration ui functionality actions
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class CollaborationActionFactory {
|
||||
|
||||
public static Action createAliasAction(CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new AliasAction();
|
||||
action.setControl(control);
|
||||
action.setText("Alias...");
|
||||
// TODO: Find Alias image
|
||||
action.setImageDescriptor(getIconImage("alias.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createChangeFontAction(
|
||||
CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new ChangeFontAction();
|
||||
action.setControl(control);
|
||||
action.setText("Change Font...");
|
||||
action.setImageDescriptor(getIconImage("font.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createChangePasswordAction(
|
||||
CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new ChangePasswordAction();
|
||||
action.setControl(control);
|
||||
action.setText("Change Password...");
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createChooseRoleAction(
|
||||
CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new ChooseRoleAction();
|
||||
action.setControl(control);
|
||||
action.setText("Change Role");
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createChooseSiteAction(
|
||||
CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new ChooseSiteAction();
|
||||
action.setControl(control);
|
||||
action.setText("Change Site");
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createChooseStatusAction(
|
||||
CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new ChooseStatusAction();
|
||||
action.setControl(control);
|
||||
action.setText("Change Status");
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createCollapseAllAction(
|
||||
CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new CollapseAllAction();
|
||||
action.setControl(control);
|
||||
action.setText("Collapse All...");
|
||||
action.setImageDescriptor(getIconImage("collapseall.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createCreateGroupAction(
|
||||
CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new CreateGroupAction();
|
||||
action.setControl(control);
|
||||
action.setText("Create Group...");
|
||||
action.setImageDescriptor(getIconImage("group.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createCreateSessionAction(
|
||||
CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new CreateSessionAction();
|
||||
action.setControl(control);
|
||||
action.setText("Create Session...");
|
||||
action.setImageDescriptor(getIconImage("add_collaborate.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createLoginAction(CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new LogoutAction();
|
||||
action.setControl(control);
|
||||
action.setText("Login");
|
||||
action.setImageDescriptor(getIconImage("login.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createLogoutAction(CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new LogoutAction();
|
||||
action.setControl(control);
|
||||
action.setText("Logout");
|
||||
action.setImageDescriptor(getIconImage("logout.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createP2PChatAction(CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new P2PChatAction();
|
||||
action.setControl(control);
|
||||
action.setText("Chat...");
|
||||
action.setImageDescriptor(getIconImage("chats.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createShowFeedAction(CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new ShowFeedAction();
|
||||
action.setControl(control);
|
||||
action.setText("Display Feed...");
|
||||
action.setImageDescriptor(getIconImage("feed.gif"));
|
||||
return action;
|
||||
}
|
||||
|
||||
public static Action createViewLogAction(CollaborationGroupControl control) {
|
||||
AbstractCollaborationAction action = new ViewLogAction();
|
||||
action.setControl(control);
|
||||
action.setText("View Log...");
|
||||
action.setImageDescriptor(getIconImage("log.gif"));
|
||||
return action;
|
||||
}
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class CollapseAllAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class CreateGroupAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class LoginAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class LogoutAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class P2PChatAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class ShowFeedAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,52 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.action;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class ViewLogAction extends AbstractCollaborationAction {
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see com.raytheon.uf.viz.collaboration.core.ui.action.AbstractCollaborationAction#run(com.raytheon.uf.viz.collaboration.core.ui.CollaborationGroupControl)
|
||||
*/
|
||||
@Override
|
||||
public void run(CollaborationGroupControl control) {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,83 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.ecf.presence.roster.IRosterEntry;
|
||||
import org.eclipse.ecf.presence.roster.IRosterGroup;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.comm.provider.user.UserId;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 26, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class UserGroupTreeData {
|
||||
|
||||
private String groupName;
|
||||
|
||||
private IRosterGroup group;
|
||||
|
||||
private List<UserTreeData> groupUsers;
|
||||
|
||||
public UserGroupTreeData(String groupName, IRosterGroup group) {
|
||||
this.groupName = groupName;
|
||||
this.group = group;
|
||||
this.groupUsers = new ArrayList<UserTreeData>();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the groupName
|
||||
*/
|
||||
public String getGroupName() {
|
||||
return groupName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the groupUsers
|
||||
*/
|
||||
public List<UserTreeData> getGroupUsers() {
|
||||
return new ArrayList<UserTreeData>(groupUsers);
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a user to this group
|
||||
*
|
||||
* @param user
|
||||
*/
|
||||
public void addUserToGroup(UserId user, IRosterEntry entry) {
|
||||
groupUsers.add(new UserTreeData(user, entry));
|
||||
}
|
||||
}
|
|
@ -1,114 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.tree;
|
||||
|
||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||
import org.eclipse.jface.viewers.Viewer;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 27, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class UsersTreeContentProvider implements ITreeContentProvider {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
|
||||
*/
|
||||
@Override
|
||||
public void dispose() {
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface
|
||||
* .viewers.Viewer, java.lang.Object, java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.jface.viewers.ITreeContentProvider#getElements(java.lang.
|
||||
* Object)
|
||||
*/
|
||||
@Override
|
||||
public Object[] getElements(Object inputElement) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.
|
||||
* Object)
|
||||
*/
|
||||
@Override
|
||||
public Object[] getChildren(Object parentElement) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object
|
||||
* )
|
||||
*/
|
||||
@Override
|
||||
public Object getParent(Object element) {
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.
|
||||
* Object)
|
||||
*/
|
||||
@Override
|
||||
public boolean hasChildren(Object element) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -1,110 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.core.ui.tree;
|
||||
|
||||
import org.eclipse.jface.viewers.ColumnLabelProvider;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
|
||||
import com.raytheon.uf.viz.collaboration.comm.identity.info.SiteConfigInformation;
|
||||
import com.raytheon.uf.viz.collaboration.comm.provider.session.CollaborationConnection;
|
||||
import com.raytheon.uf.viz.collaboration.comm.provider.user.UserId;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.data.ActiveSessionsTreeData;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.data.MyUserTreeData;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.data.UserGroupTreeData;
|
||||
import com.raytheon.uf.viz.collaboration.core.ui.data.UserTreeData;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 27, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class UsersTreeLabelProvider extends ColumnLabelProvider {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public Image getImage(Object element) {
|
||||
Image image = null;
|
||||
if (element instanceof UserTreeData) {
|
||||
|
||||
} else if (element instanceof MyUserTreeData) {
|
||||
|
||||
} else if (element instanceof UserGroupTreeData) {
|
||||
|
||||
} else if (element instanceof ActiveSessionsTreeData) {
|
||||
|
||||
}
|
||||
return image;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object)
|
||||
*/
|
||||
@Override
|
||||
public String getText(Object element) {
|
||||
String text = null;
|
||||
if (element instanceof UserTreeData) {
|
||||
text = formatUserId(((UserTreeData) element).getUser());
|
||||
} else if (element instanceof MyUserTreeData) {
|
||||
text = formatUserId(((UserTreeData) element).getUser())
|
||||
+ " - "
|
||||
+ CollaborationConnection.getConnection()
|
||||
.getConnectionData().getServer();
|
||||
} else if (element instanceof UserGroupTreeData) {
|
||||
text = ((UserGroupTreeData) element).getGroupName();
|
||||
} else if (element instanceof ActiveSessionsTreeData) {
|
||||
text = "Active Sessions";
|
||||
}
|
||||
return text;
|
||||
}
|
||||
|
||||
public static String formatUserId(UserId user) {
|
||||
Object site = user.getProperties().get(SiteConfigInformation.SITE_NAME);
|
||||
Object role = user.getProperties().get(SiteConfigInformation.ROLE_NAME);
|
||||
String name = (user.getAlias() != null ? user.getAlias() : user
|
||||
.getName());
|
||||
if (site != null) {
|
||||
name += " - " + site;
|
||||
}
|
||||
if (role != null) {
|
||||
name += " - " + role;
|
||||
}
|
||||
return name;
|
||||
}
|
||||
}
|
|
@ -25,6 +25,8 @@ import java.util.List;
|
|||
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import com.raytheon.uf.common.colormap.IColorMap;
|
||||
import com.raytheon.uf.common.colormap.image.ColorMapData;
|
||||
import com.raytheon.uf.common.colormap.prefs.ColorMapParameters;
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
import com.raytheon.uf.viz.collaboration.display.Activator;
|
||||
import com.raytheon.uf.viz.core.DrawableImage;
|
||||
|
@ -34,7 +36,6 @@ import com.raytheon.uf.viz.core.IMesh;
|
|||
import com.raytheon.uf.viz.core.PixelCoverage;
|
||||
import com.raytheon.uf.viz.core.data.IColorMapDataRetrievalCallback;
|
||||
import com.raytheon.uf.viz.core.data.IRenderedImageCallback;
|
||||
import com.raytheon.uf.viz.core.drawables.ColorMapParameters;
|
||||
import com.raytheon.uf.viz.core.drawables.IColormappedImage;
|
||||
import com.raytheon.uf.viz.core.drawables.IImage;
|
||||
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
<import feature="com.raytheon.uf.viz.common.core.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.core.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.cots.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.eclipse.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.viz.radar.feature" version="1.0.0.qualifier"/>
|
||||
</requires>
|
||||
|
||||
|
@ -95,12 +94,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.google.guava"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.drawing"
|
||||
download-size="0"
|
||||
|
@ -150,4 +143,11 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.equinox.concurrent"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Collaboration Product
|
||||
Bundle-SymbolicName: com.raytheon.uf.viz.collaboration.product;singleton:=true
|
||||
Bundle-Version: 1.0.0.qualifier
|
||||
Bundle-Activator: com.raytheon.uf.viz.collaboration.product.Activator
|
||||
Bundle-Vendor: RAYTHEON
|
||||
Require-Bundle: org.eclipse.ui,
|
||||
org.eclipse.core.runtime,
|
||||
com.raytheon.uf.viz.application;bundle-version="1.0.0",
|
||||
com.raytheon.uf.common.localization;bundle-version="1.12.1174"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
|
@ -1,58 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?pde version="3.5"?>
|
||||
|
||||
<product name="collaboration" id="com.raytheon.uf.viz.collaboration.product.collaboration" application="com.raytheon.uf.viz.application.application" useFeatures="true" includeLaunchers="true">
|
||||
|
||||
<aboutInfo>
|
||||
<image path="/com.raytheon.viz.product.awips/icons/ipr.gif"/>
|
||||
<text>
|
||||
Alert Visualizer
|
||||
|
||||
|
||||
|
||||
Developed on the Raytheon Visualization Environment (viz)
|
||||
</text>
|
||||
</aboutInfo>
|
||||
|
||||
<configIni use="default">
|
||||
</configIni>
|
||||
|
||||
<launcherArgs>
|
||||
<programArgs>-data @user.home/caveData -user @user.home/caveData -clean -component collaboration</programArgs>
|
||||
<programArgsLin>-consoleLog</programArgsLin>
|
||||
<vmArgs>-Xincgc -Xmx256M -Xss2024k -Dosgi.instance.area.readOnly=true -Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook,org.eclipse.core.runtime.internal.adaptor.EclipseErrorHandler -Dorg.eclipse.update.reconcile=false -Dqpid.dest_syntax=BURL -Dorg.eclipse.update.reconcile=false -XX:MaxPermSize=128m -Dorg.eclipse.ui/KEY_CONFIGURATION_ID=com.raytheon.viz.ui.awips.scheme -Dawips.mode=pypies -Dqpid.dest_syntax=BURL -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false</vmArgs>
|
||||
</launcherArgs>
|
||||
|
||||
<windowImages/>
|
||||
|
||||
<launcher name="collaboration">
|
||||
<solaris/>
|
||||
<win useIco="false">
|
||||
<bmp
|
||||
winSmallHigh="/com.raytheon.viz.ui.personalities.awips/alertViz_icon16x16_32bit.bmp"
|
||||
winSmallLow="/com.raytheon.viz.ui.personalities.awips/alertViz_icon16x16_8bit.bmp"
|
||||
winMediumHigh="/com.raytheon.viz.ui.personalities.awips/alertViz_icon32x32_32bit.bmp"
|
||||
winMediumLow="/com.raytheon.viz.ui.personalities.awips/alertViz_icon32x32_8bit.bmp"
|
||||
winLargeHigh="/com.raytheon.viz.ui.personalities.awips/alertViz_icon48x48_32bit.bmp"
|
||||
winLargeLow="/com.raytheon.viz.ui.personalities.awips/alertViz_icon48x48_8bit.bmp"/>
|
||||
</win>
|
||||
</launcher>
|
||||
|
||||
<vm>
|
||||
<linux include="true">jdk1.6.0</linux>
|
||||
<windows include="true">jdk1.6.0</windows>
|
||||
</vm>
|
||||
|
||||
<plugins>
|
||||
</plugins>
|
||||
|
||||
<features>
|
||||
<feature id="com.raytheon.uf.viz.collaboration.product.feature" version="1.0.0.qualifier"/>
|
||||
</features>
|
||||
|
||||
<configurations>
|
||||
<plugin id="com.raytheon.uf.viz.spring.dm" autoStart="true" startLevel="5" />
|
||||
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="4" />
|
||||
</configurations>
|
||||
|
||||
</product>
|
|
@ -1,47 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
|
||||
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
|
||||
|
||||
U.S._EXPORT_CONTROLLED_TECHNICAL_DATA
|
||||
This_software_product_contains_export-restricted_data_whose
|
||||
export/transfer/disclosure_is_restricted_by_U.S._law._Dissemination
|
||||
to_non-U.S._persons_whether_in_the_United_States_or_abroad_requires
|
||||
an_export_license_or_other_authorization.
|
||||
|
||||
Contractor_Name:________Raytheon_Company
|
||||
Contractor_Address:_____6825_Pine_Street,_Suite_340
|
||||
________________________Mail_Stop_B8
|
||||
________________________Omaha,_NE_68106
|
||||
________________________402.291.0100
|
||||
|
||||
See_the_AWIPS_II_Master_Rights_File_("Master_Rights_File.pdf")_for
|
||||
further_licensing_information.
|
||||
-->
|
||||
<?eclipse version="3.2"?>
|
||||
<plugin>
|
||||
<extension
|
||||
point="com.raytheon.uf.viz.core.component">
|
||||
<component key="collaboration" class="com.raytheon.uf.viz.collaboration.product.CollaborationComponent"/>
|
||||
</extension>
|
||||
<extension
|
||||
id="collaboration"
|
||||
point="org.eclipse.core.runtime.products">
|
||||
<product
|
||||
application="com.raytheon.uf.viz.application.application"
|
||||
name="collaboration">
|
||||
<property
|
||||
name="aboutText"
|
||||
value="Alert Visualizer



Developed on the Raytheon Visualization Environment (viz)">
|
||||
</property>
|
||||
<property
|
||||
name="aboutImage"
|
||||
value="platform:/plugin/com.raytheon.viz.product.awips/icons/ipr.gif">
|
||||
</property>
|
||||
<property
|
||||
name="appName"
|
||||
value="collaboration">
|
||||
</property>
|
||||
</product>
|
||||
</extension>
|
||||
</plugin>
|
|
@ -1,222 +0,0 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.collaboration.product;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import com.raytheon.uf.common.localization.ILocalizationAdapter;
|
||||
import com.raytheon.uf.common.localization.LocalizationContext;
|
||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationLevel;
|
||||
import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType;
|
||||
import com.raytheon.uf.common.localization.LocalizationFile;
|
||||
import com.raytheon.uf.common.localization.LocalizationFile.ModifiableLocalizationFile;
|
||||
import com.raytheon.uf.common.localization.exception.LocalizationOpFailedException;
|
||||
|
||||
/**
|
||||
* TODO Mimic CAVELocalizationAdapter!
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 27, 2012 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class CollaborationLocalizationAdapter implements ILocalizationAdapter {
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#getPath(com.
|
||||
* raytheon.uf.common.localization.LocalizationContext, java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public File getPath(LocalizationContext context, String fileName) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.raytheon.uf.common.localization.ILocalizationAdapter#
|
||||
* getLocalizationMetadata
|
||||
* (com.raytheon.uf.common.localization.LocalizationContext[],
|
||||
* java.lang.String)
|
||||
*/
|
||||
@Override
|
||||
public ListResponse[] getLocalizationMetadata(
|
||||
LocalizationContext[] context, String fileName)
|
||||
throws LocalizationOpFailedException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#retrieve(com
|
||||
* .raytheon.uf.common.localization.LocalizationFile)
|
||||
*/
|
||||
@Override
|
||||
public void retrieve(LocalizationFile file)
|
||||
throws LocalizationOpFailedException {
|
||||
// TODO Auto-generated method stub
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#save(com.raytheon
|
||||
* .uf.common.localization.LocalizationFile. ModifiableLocalizationFile)
|
||||
*/
|
||||
@Override
|
||||
public boolean save(ModifiableLocalizationFile file)
|
||||
throws LocalizationOpFailedException {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#listDirectory
|
||||
* (com.raytheon.uf.common.localization.LocalizationContext[],
|
||||
* java.lang.String, boolean, boolean)
|
||||
*/
|
||||
@Override
|
||||
public ListResponse[] listDirectory(LocalizationContext[] context,
|
||||
String path, boolean recursive, boolean filesOnly)
|
||||
throws LocalizationOpFailedException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.raytheon.uf.common.localization.ILocalizationAdapter#
|
||||
* getLocalSearchHierarchy
|
||||
* (com.raytheon.uf.common.localization.LocalizationContext
|
||||
* .LocalizationType)
|
||||
*/
|
||||
@Override
|
||||
public LocalizationContext[] getLocalSearchHierarchy(LocalizationType type) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#getStaticContexts
|
||||
* ()
|
||||
*/
|
||||
@Override
|
||||
public LocalizationType[] getStaticContexts() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#getContext(com
|
||||
* .raytheon.uf.common.localization.LocalizationContext.LocalizationType,
|
||||
* com
|
||||
* .raytheon.uf.common.localization.LocalizationContext.LocalizationLevel)
|
||||
*/
|
||||
@Override
|
||||
public LocalizationContext getContext(LocalizationType type,
|
||||
LocalizationLevel level) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#delete(com.raytheon
|
||||
* .uf.common.localization.LocalizationFile. ModifiableLocalizationFile)
|
||||
*/
|
||||
@Override
|
||||
public boolean delete(ModifiableLocalizationFile file)
|
||||
throws LocalizationOpFailedException {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#getContextList
|
||||
* (com
|
||||
* .raytheon.uf.common.localization.LocalizationContext.LocalizationLevel)
|
||||
*/
|
||||
@Override
|
||||
public String[] getContextList(LocalizationLevel level)
|
||||
throws LocalizationOpFailedException {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#getAvailableLevels
|
||||
* ()
|
||||
*/
|
||||
@Override
|
||||
public LocalizationLevel[] getAvailableLevels() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.common.localization.ILocalizationAdapter#exists(com.raytheon
|
||||
* .uf.common.localization.LocalizationFile)
|
||||
*/
|
||||
@Override
|
||||
public boolean exists(LocalizationFile file) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
|
@ -18,51 +18,10 @@
|
|||
</license>
|
||||
|
||||
<requires>
|
||||
<import feature="com.raytheon.uf.viz.base.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.cots.feature" version="1.0.0.qualifier"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.auth"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.colormap"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.comm"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.dataquery"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.datastorage"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.derivparam"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.dissemination"
|
||||
download-size="0"
|
||||
|
@ -70,60 +29,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.geospatial"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.units"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.localization"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.menus"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.message"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.pointdata"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.pypies"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.python"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.cache"
|
||||
download-size="0"
|
||||
|
@ -131,20 +36,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.serialization"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.serialization.comm"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.site"
|
||||
download-size="0"
|
||||
|
@ -152,19 +43,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.status"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.time"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.topo"
|
||||
download-size="0"
|
||||
|
@ -172,20 +50,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.util"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.alertmonitor"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.edex.common"
|
||||
download-size="0"
|
||||
|
@ -193,13 +57,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.dataplugin"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.edex.core"
|
||||
download-size="0"
|
||||
|
@ -214,20 +71,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.dataplugin.level"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.edex.topo"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.edex.meteolib"
|
||||
download-size="0"
|
||||
|
@ -284,34 +127,40 @@
|
|||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.stats"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.event"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.dataaccess"
|
||||
id="meteolib.jni"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.image"
|
||||
id="meteolib.jni.linux32"
|
||||
os="linux"
|
||||
arch="x86"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
fragment="true"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.python.concurrent"
|
||||
id="meteolib.jni.linux64"
|
||||
os="linux"
|
||||
arch="x86_64"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
fragment="true"/>
|
||||
|
||||
<plugin
|
||||
id="meteolib.jni.win32"
|
||||
os="win32"
|
||||
arch="x86"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
fragment="true"/>
|
||||
|
||||
<plugin
|
||||
id="javax.servlet"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
|
|
|
@ -19,48 +19,10 @@
|
|||
|
||||
<requires>
|
||||
<import feature="com.raytheon.uf.viz.cots.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.eclipse.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.common.core.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.localization.perspective.feature" version="1.0.0.qualifier"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.core.gl"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.core.rsc"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.productbrowser"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.localization"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.python.swt"
|
||||
download-size="0"
|
||||
|
@ -68,18 +30,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.ui.menus"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.xy"
|
||||
download-size="0"
|
||||
|
@ -123,13 +73,6 @@
|
|||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.alerts"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.derivparam"
|
||||
download-size="0"
|
||||
|
@ -148,13 +91,6 @@
|
|||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.spring.dm"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.ui.tools.looping"
|
||||
download-size="0"
|
||||
|
@ -167,12 +103,6 @@
|
|||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.ui.tools.nav"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.viz.core.contours"
|
||||
download-size="0"
|
||||
|
@ -187,25 +117,6 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.dataplugin.maps"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.core.maps"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.common.alertviz"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="com.raytheon.uf.viz.alertviz"
|
||||
download-size="0"
|
||||
|
@ -249,4 +160,38 @@
|
|||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.jdt.ui"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.jdt.core"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.jdt.core.manipulation"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.jdt.launching"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.eclipse.jdt.debug"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"/>
|
||||
|
||||
</feature>
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
|
||||
<requires>
|
||||
<import feature="com.raytheon.uf.viz.cots.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.eclipse.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.common.core.feature" version="1.0.0.qualifier"/>
|
||||
<import feature="com.raytheon.uf.viz.core.feature" version="1.0.0.qualifier"/>
|
||||
</requires>
|
||||
|
|
|
@ -19,7 +19,8 @@ Require-Bundle: org.eclipse.ui,
|
|||
com.raytheon.uf.viz.core.rsc;bundle-version="1.0.0",
|
||||
com.raytheon.uf.viz.ui.menus;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.dataplugin.maps;bundle-version="1.0.0",
|
||||
com.raytheon.uf.viz.localization;bundle-version="1.12.1174"
|
||||
com.raytheon.uf.viz.localization;bundle-version="1.12.1174",
|
||||
com.raytheon.uf.common.colormap;bundle-version="1.12.1174"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Eclipse-RegisterBuddy: com.raytheon.uf.viz.core
|
||||
|
@ -27,4 +28,5 @@ Export-Package: com.raytheon.uf.viz.core.maps,
|
|||
com.raytheon.uf.viz.core.maps.actions,
|
||||
com.raytheon.uf.viz.core.maps.display,
|
||||
com.raytheon.uf.viz.core.maps.menus,
|
||||
com.raytheon.uf.viz.core.maps.rsc
|
||||
com.raytheon.uf.viz.core.maps.rsc,
|
||||
com.raytheon.uf.viz.core.maps.scales
|
||||
|
|
|
@ -4,3 +4,4 @@ com.raytheon.uf.viz.core.maps.rsc.DbPointMapResourceData
|
|||
com.raytheon.uf.viz.core.maps.MapStylePreferenceStore
|
||||
com.raytheon.uf.viz.core.maps.display.MapRenderableDisplay
|
||||
com.raytheon.uf.viz.core.maps.display.PlainMapRenderableDisplay
|
||||
com.raytheon.uf.viz.core.maps.scales.MapScaleRenderableDisplay
|
|
@ -49,6 +49,12 @@
|
|||
<commandParameter id="mapName" name="Map Name" optional="false"/>
|
||||
<commandParameter id="mapPath" name="Map Path" optional="false"/>
|
||||
</command>
|
||||
<command
|
||||
id="com.raytheon.viz.ui.maps.createProjection"
|
||||
categoryId="com.raytheon.uf.viz.core.commandCategory"
|
||||
description="Command to create a new map projection"
|
||||
name="Create Projection">
|
||||
</command>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.handlers">
|
||||
|
@ -56,6 +62,14 @@
|
|||
class="com.raytheon.uf.viz.core.maps.actions.LoadMap"
|
||||
commandId="com.raytheon.uf.viz.core.maps.actions.LoadMap">
|
||||
</handler>
|
||||
<handler
|
||||
class="com.raytheon.uf.viz.core.maps.scales.MapScaleHandler"
|
||||
commandId="com.raytheon.viz.ui.setScale">
|
||||
</handler>
|
||||
<handler
|
||||
class="com.raytheon.uf.viz.core.maps.actions.CreateProjectionHandler"
|
||||
commandId="com.raytheon.viz.ui.maps.createProjection">
|
||||
</handler>
|
||||
</extension>
|
||||
<extension
|
||||
point="com.raytheon.viz.ui.contextualMenu">
|
||||
|
@ -110,4 +124,22 @@
|
|||
value="mapStyles">
|
||||
</path>
|
||||
</extension>
|
||||
<extension
|
||||
point="org.eclipse.ui.menus">
|
||||
<menuContribution
|
||||
locationURI="menu:file.new">
|
||||
<command
|
||||
commandId="com.raytheon.viz.ui.maps.createProjection"
|
||||
label="Map Projection..."
|
||||
style="push">
|
||||
</command>
|
||||
</menuContribution>
|
||||
<menuContribution
|
||||
locationURI="menu:com.raytheon.viz.ui.scale">
|
||||
<dynamic
|
||||
class="com.raytheon.uf.viz.core.maps.scales.MapScalePopulator"
|
||||
id="com.raytheon.uf.viz.core.maps.mapScales">
|
||||
</dynamic>
|
||||
</menuContribution>
|
||||
</extension>
|
||||
</plugin>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.d2d.ui.map;
|
||||
package com.raytheon.uf.viz.core.maps.actions;
|
||||
|
||||
import org.eclipse.core.commands.ExecutionEvent;
|
||||
import org.eclipse.core.commands.ExecutionException;
|
||||
|
@ -25,7 +25,7 @@ import org.eclipse.core.commands.IHandler;
|
|||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.ui.PlatformUI;
|
||||
|
||||
import com.raytheon.uf.viz.d2d.ui.dialogs.CreateProjectionDialog;
|
||||
import com.raytheon.uf.viz.core.maps.dialogs.CreateProjectionDialog;
|
||||
import com.raytheon.viz.ui.tools.AbstractTool;
|
||||
|
||||
/**
|
|
@ -1,4 +1,4 @@
|
|||
package com.raytheon.uf.viz.d2d.ui.map.actions;
|
||||
package com.raytheon.uf.viz.core.maps.actions;
|
||||
|
||||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
|
@ -29,12 +29,10 @@ import org.eclipse.core.commands.ExecutionException;
|
|||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
import com.raytheon.uf.viz.core.maps.scales.MapScales;
|
||||
import com.raytheon.uf.viz.core.maps.scales.MapScales.MapScale;
|
||||
import com.raytheon.uf.viz.core.maps.scales.MapScales.PartId;
|
||||
import com.raytheon.uf.viz.core.procedures.Bundle;
|
||||
import com.raytheon.uf.viz.core.status.StatusConstants;
|
||||
import com.raytheon.uf.viz.d2d.core.map.MapScales;
|
||||
import com.raytheon.uf.viz.d2d.core.map.MapScales.MapScale;
|
||||
import com.raytheon.uf.viz.d2d.core.map.MapScales.PartId;
|
||||
import com.raytheon.uf.viz.d2d.ui.Activator;
|
||||
import com.raytheon.viz.ui.UiUtil;
|
||||
import com.raytheon.viz.ui.editor.AbstractEditor;
|
||||
|
||||
|
@ -46,6 +44,7 @@ import com.raytheon.viz.ui.editor.AbstractEditor;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Apr 11, 2007 chammack Initial Creation.
|
||||
* Mar 21, 2013 1638 mschenke Changed map scales not tied to d2d
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -53,7 +52,9 @@ import com.raytheon.viz.ui.editor.AbstractEditor;
|
|||
* @version 1.0
|
||||
*/
|
||||
public class NewMapEditor extends AbstractHandler {
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus.getHandler(NewMapEditor.class);
|
||||
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(NewMapEditor.class);
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
|
@ -17,7 +17,7 @@
|
|||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.d2d.ui.dialogs;
|
||||
package com.raytheon.uf.viz.core.maps.dialogs;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
|
@ -66,7 +66,7 @@ import com.raytheon.uf.viz.core.IDisplayPaneContainer;
|
|||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||
import com.raytheon.uf.viz.core.map.MapDescriptor;
|
||||
import com.raytheon.uf.viz.d2d.ui.map.actions.NewMapEditor;
|
||||
import com.raytheon.uf.viz.core.maps.actions.NewMapEditor;
|
||||
import com.raytheon.viz.ui.EditorUtil;
|
||||
import com.raytheon.viz.ui.dialogs.CaveJFACEDialog;
|
||||
import com.vividsolutions.jts.geom.Coordinate;
|
||||
|
@ -87,7 +87,8 @@ import com.vividsolutions.jts.geom.Coordinate;
|
|||
*/
|
||||
|
||||
public class CreateProjectionDialog extends CaveJFACEDialog {
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus.getHandler(CreateProjectionDialog.class);
|
||||
private static final transient IUFStatusHandler statusHandler = UFStatus
|
||||
.getHandler(CreateProjectionDialog.class);
|
||||
|
||||
private DefaultMathTransformFactory factory;
|
||||
|
|
@ -29,16 +29,17 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||
|
||||
import org.eclipse.swt.graphics.Rectangle;
|
||||
|
||||
import com.raytheon.uf.common.colormap.prefs.ColorMapParameters;
|
||||
import com.raytheon.uf.common.serialization.ISerializableObject;
|
||||
import com.raytheon.uf.viz.core.IExtent;
|
||||
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
||||
import com.raytheon.uf.viz.core.PixelExtent;
|
||||
import com.raytheon.uf.viz.core.datastructure.LoopProperties;
|
||||
import com.raytheon.uf.viz.core.drawables.AbstractRenderableDisplay;
|
||||
import com.raytheon.uf.viz.core.drawables.ColorMapParameters;
|
||||
import com.raytheon.uf.viz.core.drawables.PaintProperties;
|
||||
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||
import com.raytheon.uf.viz.core.map.MapDescriptor;
|
||||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource.ResourceStatus;
|
||||
|
@ -91,7 +92,7 @@ public class MapRenderableDisplay extends AbstractRenderableDisplay implements
|
|||
super();
|
||||
}
|
||||
|
||||
public MapRenderableDisplay(MapDescriptor desc) {
|
||||
public MapRenderableDisplay(IMapDescriptor desc) {
|
||||
this();
|
||||
setDescriptor(desc);
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlAccessType;
|
|||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.raytheon.uf.viz.core.map.MapDescriptor;
|
||||
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||
import com.raytheon.uf.viz.core.rsc.ResourceList;
|
||||
|
||||
/**
|
||||
|
@ -57,7 +57,7 @@ public class PlainMapRenderableDisplay extends MapRenderableDisplay {
|
|||
/**
|
||||
* @param desc
|
||||
*/
|
||||
public PlainMapRenderableDisplay(MapDescriptor desc) {
|
||||
public PlainMapRenderableDisplay(IMapDescriptor desc) {
|
||||
super(desc);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.core.maps.scales;
|
||||
|
||||
import com.raytheon.uf.viz.core.maps.scales.MapScales.MapScale;
|
||||
|
||||
/**
|
||||
* Interface for display containing a scale
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 21, 2013 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public interface IMapScaleDisplay {
|
||||
|
||||
/**
|
||||
* Returns the name of the scale to be used in
|
||||
* {@link MapScales#getScaleByName(String)}
|
||||
*/
|
||||
public String getScaleName();
|
||||
|
||||
/**
|
||||
* Changes the scale of the display
|
||||
*
|
||||
* @param scale
|
||||
*/
|
||||
public void changeScale(MapScale scale);
|
||||
}
|
|
@ -0,0 +1,89 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.core.maps.scales;
|
||||
|
||||
import org.eclipse.core.commands.AbstractHandler;
|
||||
import org.eclipse.core.commands.ExecutionEvent;
|
||||
import org.eclipse.core.commands.ExecutionException;
|
||||
import org.eclipse.ui.IEditorPart;
|
||||
import org.eclipse.ui.handlers.HandlerUtil;
|
||||
|
||||
import com.raytheon.uf.viz.core.IDisplayPane;
|
||||
import com.raytheon.uf.viz.core.IDisplayPaneContainer;
|
||||
import com.raytheon.uf.viz.core.drawables.IRenderableDisplay;
|
||||
import com.raytheon.uf.viz.core.globals.VizGlobalsManager;
|
||||
import com.raytheon.uf.viz.core.maps.scales.MapScales.MapScale;
|
||||
|
||||
/**
|
||||
* Handler of setScale command that looks for a {@link MapScale} by name of
|
||||
* attribute scale and sets on any {@link IMapScaleDisplay}s on the current
|
||||
* editor
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 22, 2013 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
|
||||
public class MapScaleHandler extends AbstractHandler {
|
||||
|
||||
public static final String SET_SCALE_COMMAND_ID = "com.raytheon.viz.ui.setScale";
|
||||
|
||||
public static final String SCALE_NAME_ID = "scale";
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.
|
||||
* ExecutionEvent)
|
||||
*/
|
||||
@Override
|
||||
public Object execute(ExecutionEvent event) throws ExecutionException {
|
||||
MapScale scale = MapScales.getInstance().getScaleByName(
|
||||
event.getParameter(SCALE_NAME_ID));
|
||||
if (scale != null) {
|
||||
IEditorPart part = HandlerUtil.getActiveEditor(event);
|
||||
if (part instanceof IDisplayPaneContainer) {
|
||||
IDisplayPaneContainer container = (IDisplayPaneContainer) part;
|
||||
for (IDisplayPane pane : container.getDisplayPanes()) {
|
||||
IRenderableDisplay display = pane.getRenderableDisplay();
|
||||
if (display instanceof IMapScaleDisplay) {
|
||||
((IMapScaleDisplay) display).changeScale(scale);
|
||||
}
|
||||
}
|
||||
container.refresh();
|
||||
VizGlobalsManager.getInstance(
|
||||
HandlerUtil.getActiveWorkbenchWindow(event)).updateUI(
|
||||
container);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
|
@ -17,7 +17,7 @@
|
|||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.d2d.ui;
|
||||
package com.raytheon.uf.viz.core.maps.scales;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -30,13 +30,11 @@ import org.eclipse.ui.menus.CommandContributionItem;
|
|||
import org.eclipse.ui.menus.CommandContributionItemParameter;
|
||||
|
||||
import com.raytheon.uf.viz.core.IDisplayPaneContainer;
|
||||
import com.raytheon.uf.viz.d2d.core.map.D2DMapRenderableDisplay;
|
||||
import com.raytheon.uf.viz.d2d.core.map.MapScales;
|
||||
import com.raytheon.uf.viz.d2d.core.map.MapScales.MapScale;
|
||||
import com.raytheon.uf.viz.core.maps.scales.MapScales.MapScale;
|
||||
import com.raytheon.viz.ui.EditorUtil;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
* UI populator for map scales
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
|
@ -44,6 +42,8 @@ import com.raytheon.viz.ui.EditorUtil;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Oct 7, 2010 mschenke Initial creation
|
||||
* Mar 21, 2013 1638 mschenke Made map scales not tied to d2d
|
||||
*
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -63,20 +63,19 @@ public class MapScalePopulator extends CompoundContributionItem {
|
|||
protected IContributionItem[] getContributionItems() {
|
||||
MenuManager menuMgr = new MenuManager("Scales", "mapControls");
|
||||
IDisplayPaneContainer cont = EditorUtil.getActiveVizContainer();
|
||||
// Load scales if we have d2d map renderable display on editor or, there
|
||||
// is no editor opened in the d2d perspective
|
||||
if ((cont != null && (cont.getActiveDisplayPane()
|
||||
.getRenderableDisplay() instanceof D2DMapRenderableDisplay))
|
||||
.getRenderableDisplay() instanceof IMapScaleDisplay))
|
||||
|| EditorUtil.getActiveEditor() == null) {
|
||||
for (MapScale scale : MapScales.getInstance().getScales()) {
|
||||
Map<String, String> parms = new HashMap<String, String>();
|
||||
parms.put("scale", scale.getDisplayName());
|
||||
parms.put(MapScaleHandler.SCALE_NAME_ID, scale.getDisplayName());
|
||||
CommandContributionItem item = new CommandContributionItem(
|
||||
new CommandContributionItemParameter(
|
||||
PlatformUI.getWorkbench(), null,
|
||||
"com.raytheon.viz.ui.setScale", parms, null,
|
||||
null, null, scale.getDisplayName(), null, null,
|
||||
CommandContributionItem.STYLE_PUSH, null, true));
|
||||
MapScaleHandler.SET_SCALE_COMMAND_ID, parms,
|
||||
null, null, null, scale.getDisplayName(), null,
|
||||
null, CommandContributionItem.STYLE_PUSH, null,
|
||||
true));
|
||||
menuMgr.add(item);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,152 @@
|
|||
/**
|
||||
* This software was developed and / or modified by Raytheon Company,
|
||||
* pursuant to Contract DG133W-05-CQ-1067 with the US Government.
|
||||
*
|
||||
* U.S. EXPORT CONTROLLED TECHNICAL DATA
|
||||
* This software product contains export-restricted data whose
|
||||
* export/transfer/disclosure is restricted by U.S. law. Dissemination
|
||||
* to non-U.S. persons whether in the United States or abroad requires
|
||||
* an export license or other authorization.
|
||||
*
|
||||
* Contractor Name: Raytheon Company
|
||||
* Contractor Address: 6825 Pine Street, Suite 340
|
||||
* Mail Stop B8
|
||||
* Omaha, NE 68106
|
||||
* 402.291.0100
|
||||
*
|
||||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.core.maps.scales;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
import com.raytheon.uf.viz.core.VizConstants;
|
||||
import com.raytheon.uf.viz.core.drawables.AbstractRenderableDisplay;
|
||||
import com.raytheon.uf.viz.core.drawables.ResourcePair;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.globals.VizGlobalsManager;
|
||||
import com.raytheon.uf.viz.core.map.IMapDescriptor;
|
||||
import com.raytheon.uf.viz.core.maps.display.PlainMapRenderableDisplay;
|
||||
import com.raytheon.uf.viz.core.maps.scales.MapScales.MapScale;
|
||||
import com.raytheon.uf.viz.core.procedures.Bundle;
|
||||
import com.raytheon.uf.viz.core.rsc.ResourceList;
|
||||
import com.raytheon.viz.ui.actions.LoadSerializedXml;
|
||||
|
||||
/**
|
||||
* MapRenderableDisplay associated with a {@link MapScale}
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
* SOFTWARE HISTORY
|
||||
*
|
||||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Mar 22, 2013 mschenke Initial creation
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
* @author mschenke
|
||||
* @version 1.0
|
||||
*/
|
||||
@XmlAccessorType(XmlAccessType.NONE)
|
||||
@XmlRootElement
|
||||
public class MapScaleRenderableDisplay extends PlainMapRenderableDisplay
|
||||
implements IMapScaleDisplay {
|
||||
|
||||
@XmlAttribute
|
||||
protected String scale = (String) VizGlobalsManager.getCurrentInstance()
|
||||
.getPropery(VizConstants.SCALE_ID);
|
||||
|
||||
public MapScaleRenderableDisplay() {
|
||||
super();
|
||||
}
|
||||
|
||||
public MapScaleRenderableDisplay(IMapDescriptor desc) {
|
||||
super(desc);
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see com.raytheon.uf.viz.core.maps.scales.IMapScaleDisplay#getScaleName()
|
||||
*/
|
||||
@Override
|
||||
public String getScaleName() {
|
||||
return scale;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* com.raytheon.uf.viz.core.maps.scales.IMapScaleDisplay#changeScale(com
|
||||
* .raytheon.uf.viz.core.maps.scales.MapScales.MapScale)
|
||||
*/
|
||||
@Override
|
||||
public void changeScale(MapScale scale) {
|
||||
MapScale currentScale = MapScales.getInstance().getScaleByName(
|
||||
getScaleName());
|
||||
Bundle bundle = (Bundle) LoadSerializedXml.deserialize(currentScale
|
||||
.getFile());
|
||||
for (AbstractRenderableDisplay display : bundle.getDisplays()) {
|
||||
descriptor.getResourceList().removeAll(
|
||||
display.getDescriptor().getResourceList());
|
||||
}
|
||||
loadScale(scale);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clear() {
|
||||
MapScale scale = MapScales.getInstance().getScaleByName(getScaleName());
|
||||
if (scale == null) {
|
||||
scale = MapScales.getInstance().getScaleByName(
|
||||
(String) VizGlobalsManager.getCurrentInstance().getPropery(
|
||||
VizConstants.SCALE_ID));
|
||||
}
|
||||
if (scale != null) {
|
||||
ResourceList list = descriptor.getResourceList();
|
||||
for (ResourcePair rp : list) {
|
||||
if (rp.getProperties().isSystemResource() == false) {
|
||||
// Keep system resources
|
||||
list.remove(rp);
|
||||
}
|
||||
}
|
||||
loadScale(scale);
|
||||
}
|
||||
}
|
||||
|
||||
protected void loadScale(MapScale scale) {
|
||||
Bundle bundle = (Bundle) LoadSerializedXml.deserialize(scale.getFile());
|
||||
for (AbstractRenderableDisplay ard : bundle.getDisplays()) {
|
||||
try {
|
||||
descriptor.setGridGeometry(ard.getDescriptor()
|
||||
.getGridGeometry());
|
||||
descriptor.getResourceList().addAll(
|
||||
ard.getDescriptor().getResourceList());
|
||||
ard.getDescriptor().getResourceList().clear();
|
||||
break;
|
||||
} catch (VizException e) {
|
||||
statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(),
|
||||
e);
|
||||
}
|
||||
}
|
||||
descriptor.getResourceList().instantiateResources(descriptor, true);
|
||||
this.scale = scale.getDisplayName();
|
||||
scaleToClientArea(getBounds());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getGlobalsMap() {
|
||||
Map<String, Object> globals = super.getGlobalsMap();
|
||||
globals.put(VizConstants.SCALE_ID, getScaleName());
|
||||
return globals;
|
||||
}
|
||||
|
||||
}
|
|
@ -17,9 +17,11 @@
|
|||
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for
|
||||
* further licensing information.
|
||||
**/
|
||||
package com.raytheon.uf.viz.d2d.core.map;
|
||||
package com.raytheon.uf.viz.core.maps.scales;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.xml.bind.JAXB;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
|
@ -28,14 +30,22 @@ import javax.xml.bind.annotation.XmlAttribute;
|
|||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
|
||||
import org.eclipse.ui.IWorkbenchWindow;
|
||||
|
||||
import com.raytheon.uf.common.localization.FileUpdatedMessage;
|
||||
import com.raytheon.uf.common.localization.ILocalizationFileObserver;
|
||||
import com.raytheon.uf.common.localization.LocalizationFile;
|
||||
import com.raytheon.uf.common.localization.PathManagerFactory;
|
||||
import com.raytheon.uf.common.serialization.ISerializableObject;
|
||||
import com.raytheon.uf.common.serialization.SerializationException;
|
||||
import com.raytheon.uf.common.serialization.SerializationUtil;
|
||||
import com.raytheon.uf.common.status.IUFStatusHandler;
|
||||
import com.raytheon.uf.common.status.UFStatus;
|
||||
import com.raytheon.uf.common.status.UFStatus.Priority;
|
||||
import com.raytheon.uf.viz.core.exception.VizException;
|
||||
import com.raytheon.uf.viz.core.procedures.Bundle;
|
||||
import com.raytheon.uf.viz.core.procedures.Procedure;
|
||||
import com.raytheon.viz.ui.actions.LoadSerializedXml;
|
||||
|
||||
/**
|
||||
* Serializable object representation of map scales
|
||||
|
@ -46,6 +56,7 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Oct 7, 2010 mschenke Initial creation
|
||||
* Mar 21, 2013 1638 mschenke Made map scales not tied to d2d
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -134,7 +145,7 @@ public class MapScales implements ISerializableObject {
|
|||
private static final String SCALES_DIR = "bundles" + File.separator
|
||||
+ "scales" + File.separator;
|
||||
|
||||
private static final String fileName = SCALES_DIR + "scalesInfo.xml";
|
||||
public static final String FILE_NAME = SCALES_DIR + "scalesInfo.xml";
|
||||
|
||||
private static ILocalizationFileObserver listener = new ILocalizationFileObserver() {
|
||||
@Override
|
||||
|
@ -156,6 +167,40 @@ public class MapScales implements ISerializableObject {
|
|||
return instance;
|
||||
}
|
||||
|
||||
public static void loadScales(IWorkbenchWindow window, MapScale... scales)
|
||||
throws VizException {
|
||||
if (scales == null || scales.length == 0) {
|
||||
scales = getInstance().getScales();
|
||||
}
|
||||
Procedure procedure = new Procedure();
|
||||
List<Bundle> bundles = new ArrayList<Bundle>();
|
||||
for (MapScale scale : scales) {
|
||||
String editorId = null;
|
||||
for (PartId partId : scale.getPartIds()) {
|
||||
if (partId.isView() == false) {
|
||||
editorId = partId.getId();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (editorId != null) {
|
||||
File file = scale.getFile();
|
||||
try {
|
||||
Bundle b = SerializationUtil.jaxbUnmarshalFromXmlFile(
|
||||
Bundle.class, file);
|
||||
b.setEditor(editorId);
|
||||
bundles.add(b);
|
||||
} catch (SerializationException e) {
|
||||
statusHandler.handle(
|
||||
Priority.PROBLEM,
|
||||
"Error deserializing bundle: "
|
||||
+ file.getAbsolutePath(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
procedure.setBundles(bundles.toArray(new Bundle[bundles.size()]));
|
||||
LoadSerializedXml.loadProcedureToScreen(procedure, window);
|
||||
}
|
||||
|
||||
private static synchronized void fileUpdated() {
|
||||
instance = null;
|
||||
}
|
||||
|
@ -165,18 +210,18 @@ public class MapScales implements ISerializableObject {
|
|||
locFile.removeFileUpdatedObserver(listener);
|
||||
}
|
||||
locFile = PathManagerFactory.getPathManager()
|
||||
.getStaticLocalizationFile(fileName);
|
||||
.getStaticLocalizationFile(FILE_NAME);
|
||||
locFile.addFileUpdatedObserver(listener);
|
||||
File file = locFile.getFile();
|
||||
if (file == null) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Could not find any version of scale file: " + fileName);
|
||||
"Could not find any version of scale file: " + FILE_NAME);
|
||||
} else {
|
||||
try {
|
||||
instance = JAXB.unmarshal(file, MapScales.class);
|
||||
} catch (RuntimeException e) {
|
||||
statusHandler.handle(Priority.PROBLEM,
|
||||
"Could not parse scale file: " + fileName, e);
|
||||
"Could not parse scale file: " + FILE_NAME, e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -15,7 +15,6 @@ Require-Bundle: org.eclipse.core.runtime,
|
|||
com.raytheon.uf.common.time;bundle-version="1.12.1174",
|
||||
org.geotools;bundle-version="2.6.4",
|
||||
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.ui.tools.map;bundle-version="1.12.1174",
|
||||
com.raytheon.viz.core;bundle-version="1.12.1174"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||
Bundle-ActivationPolicy: lazy
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
com.raytheon.uf.viz.core.rsc.FirstAvailableResourceData
|
||||
com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData
|
||||
com.raytheon.uf.viz.core.rsc.tools.GenericToolsResourceData
|
|
@ -27,6 +27,7 @@ import org.eclipse.jface.action.IMenuManager;
|
|||
|
||||
import com.raytheon.uf.viz.core.DrawableString;
|
||||
import com.raytheon.uf.viz.core.IDisplayPane;
|
||||
import com.raytheon.uf.viz.core.IDisplayPaneContainer;
|
||||
import com.raytheon.uf.viz.core.IExtent;
|
||||
import com.raytheon.uf.viz.core.IGraphicsTarget;
|
||||
import com.raytheon.uf.viz.core.drawables.IDescriptor;
|
||||
|
@ -37,10 +38,12 @@ import com.raytheon.uf.viz.core.exception.VizException;
|
|||
import com.raytheon.uf.viz.core.legend.ILegendDecorator;
|
||||
import com.raytheon.uf.viz.core.rsc.AbstractResourceData;
|
||||
import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
||||
import com.raytheon.uf.viz.core.rsc.IInputHandler.InputPriority;
|
||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||
import com.raytheon.uf.viz.core.rsc.RenderingOrderFactory.ResourceOrder;
|
||||
import com.raytheon.viz.ui.cmenu.ContextMenuManager;
|
||||
import com.raytheon.viz.ui.cmenu.IContextMenuProvider;
|
||||
import com.raytheon.viz.ui.input.InputAdapter;
|
||||
|
||||
/**
|
||||
* Base legend resource class, does majority of work for drawing legends.
|
||||
|
@ -68,6 +71,56 @@ public abstract class AbstractLegendResource<T extends AbstractResourceData>
|
|||
|
||||
private static final int RIGHT_OFFSET_IN_PIXELS = 18;
|
||||
|
||||
private InputAdapter resourceClickedHandler = new InputAdapter() {
|
||||
|
||||
private boolean moved = false;
|
||||
|
||||
private ResourcePair mouseDownRsc;
|
||||
|
||||
@Override
|
||||
public boolean handleMouseDown(int x, int y, int mouseButton) {
|
||||
boolean handle = moved = false;
|
||||
IDisplayPaneContainer container = getResourceContainer();
|
||||
IDisplayPane active = container.getActiveDisplayPane();
|
||||
if (active.getDescriptor() == getDescriptor()) {
|
||||
mouseDownRsc = checkLabelSpace(getDescriptor(),
|
||||
active.getTarget(), x, y);
|
||||
if (mouseDownRsc != null) {
|
||||
handle = AbstractLegendResource.this.checkResourceClick(
|
||||
mouseDownRsc, mouseButton);
|
||||
if (!handle) {
|
||||
mouseDownRsc = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
return handle;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleMouseDownMove(int x, int y, int mouseButton) {
|
||||
if (mouseDownRsc != null) {
|
||||
moved = true;
|
||||
}
|
||||
return moved;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean handleMouseUp(int x, int y, int mouseButton) {
|
||||
if (mouseDownRsc != null) {
|
||||
try {
|
||||
if (!moved) {
|
||||
resourceClicked(mouseDownRsc, mouseButton);
|
||||
}
|
||||
} finally {
|
||||
mouseDownRsc = null;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/**
|
||||
* @param resourceData
|
||||
* @param loadProperties
|
||||
|
@ -84,7 +137,10 @@ public abstract class AbstractLegendResource<T extends AbstractResourceData>
|
|||
*/
|
||||
@Override
|
||||
protected void disposeInternal() {
|
||||
|
||||
IDisplayPaneContainer container = getResourceContainer();
|
||||
if (container != null) {
|
||||
container.unregisterMouseHandler(resourceClickedHandler);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -148,7 +204,11 @@ public abstract class AbstractLegendResource<T extends AbstractResourceData>
|
|||
*/
|
||||
@Override
|
||||
protected void initInternal(IGraphicsTarget target) throws VizException {
|
||||
|
||||
IDisplayPaneContainer container = getResourceContainer();
|
||||
if (container != null) {
|
||||
container.registerMouseHandler(resourceClickedHandler,
|
||||
InputPriority.SYSTEM_RESOURCE);
|
||||
}
|
||||
}
|
||||
|
||||
protected ResourcePair checkLabelSpace(IDescriptor descriptor,
|
||||
|
@ -289,4 +349,14 @@ public abstract class AbstractLegendResource<T extends AbstractResourceData>
|
|||
ContextMenuManager.fillContextMenu(menuManager, selectedResource,
|
||||
getResourceContainer());
|
||||
}
|
||||
|
||||
protected boolean checkResourceClick(ResourcePair mouseDownRsc,
|
||||
int mouseButton) {
|
||||
// Do nothing
|
||||
return false;
|
||||
}
|
||||
|
||||
protected void resourceClicked(ResourcePair resource, int mouseButton) {
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
|
|
|
@ -30,10 +30,16 @@ import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
|
|||
import com.raytheon.uf.viz.core.rsc.GenericResourceData;
|
||||
import com.raytheon.uf.viz.core.rsc.LoadProperties;
|
||||
import com.raytheon.uf.viz.core.rsc.ResourceList;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.BlendableCapability;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.BlendedCapability;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability;
|
||||
import com.raytheon.uf.viz.core.rsc.capabilities.EditableCapability;
|
||||
import com.raytheon.viz.ui.input.EditableManager;
|
||||
import com.raytheon.viz.ui.input.preferences.MousePreferenceManager;
|
||||
|
||||
/**
|
||||
* TODO Add Description
|
||||
* Default legend resource, handles visibility toggling and editableness
|
||||
* toggling. TODO: Make D2DLegendResource extend it
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
|
@ -52,6 +58,13 @@ import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability;
|
|||
public class DefaultLegendResource extends
|
||||
AbstractLegendResource<GenericResourceData> {
|
||||
|
||||
private static final String HIDE_RESOURCE_PREF = "com.raytheon.viz.d2d.ui.hide.resource";
|
||||
|
||||
private static final String EDIT_RESOURCE_PREF = "com.raytheon.viz.ui.input.resource.edit";
|
||||
|
||||
private MousePreferenceManager prefManager = MousePreferenceManager
|
||||
.getInstance();
|
||||
|
||||
/**
|
||||
* @param resourceData
|
||||
* @param loadProperties
|
||||
|
@ -94,6 +107,12 @@ public class DefaultLegendResource extends
|
|||
} else {
|
||||
legend.label = rsc.getName();
|
||||
legend.resource = resourcePair;
|
||||
|
||||
if (rsc.hasCapability(EditableCapability.class)
|
||||
&& rsc.getCapability(EditableCapability.class)
|
||||
.isEditable()) {
|
||||
legend.label += " (Editable)";
|
||||
}
|
||||
}
|
||||
|
||||
if (!vis) {
|
||||
|
@ -115,4 +134,82 @@ public class DefaultLegendResource extends
|
|||
}
|
||||
return entries;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean checkResourceClick(ResourcePair mouseDownRsc,
|
||||
int mouseButton) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void resourceClicked(ResourcePair resource, int mouseButton) {
|
||||
if (prefManager.handleClick(EDIT_RESOURCE_PREF, mouseButton)
|
||||
&& resource.getResource().hasCapability(
|
||||
EditableCapability.class)) {
|
||||
// Editable case
|
||||
toggleEditability(resource);
|
||||
} else {
|
||||
// Visibility case
|
||||
toggleVisibility(resource);
|
||||
}
|
||||
issueRefresh();
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggle visibility of resource taking blended/blendable resources into
|
||||
* account.
|
||||
*
|
||||
* If resource to toggle is blended, 1st check to see if parent resource is
|
||||
* visible. If not visible then make parent and all children visible.
|
||||
*
|
||||
* @param rp
|
||||
*/
|
||||
protected boolean toggleVisibility(ResourcePair rp) {
|
||||
AbstractVizResource<?, ?> rsc = rp.getResource();
|
||||
if (rsc != null) {
|
||||
if (rsc.hasCapability(BlendedCapability.class)) {
|
||||
ResourcePair parentRsc = rsc.getCapability(
|
||||
BlendedCapability.class).getBlendableResource();
|
||||
ResourceList children = parentRsc.getResource()
|
||||
.getCapability(BlendableCapability.class)
|
||||
.getResourceList();
|
||||
if (parentRsc.getProperties().isVisible() == false) {
|
||||
parentRsc.getProperties().setVisible(true);
|
||||
for (ResourcePair child : children) {
|
||||
child.getProperties().setVisible(true);
|
||||
}
|
||||
} else {
|
||||
// topmost resource is visible, toggle us and other
|
||||
// rsc
|
||||
if (rp.getProperties().isVisible() == false) {
|
||||
rp.getProperties().setVisible(true);
|
||||
parentRsc
|
||||
.getResource()
|
||||
.getCapability(BlendableCapability.class)
|
||||
.setAlphaStep(BlendableCapability.BLEND_MAX / 2);
|
||||
} else {
|
||||
parentRsc.getResource()
|
||||
.getCapability(BlendableCapability.class)
|
||||
.toggle(rp);
|
||||
}
|
||||
}
|
||||
return rp.getProperties().isVisible();
|
||||
}
|
||||
}
|
||||
rp.getProperties().setVisible(!rp.getProperties().isVisible());
|
||||
return rp.getProperties().isVisible();
|
||||
}
|
||||
|
||||
/**
|
||||
* Toggles the editable flag on the resource
|
||||
*
|
||||
* @param rp
|
||||
* @return
|
||||
*/
|
||||
protected boolean toggleEditability(ResourcePair rp) {
|
||||
EditableManager.makeEditable(rp.getResource(), !rp.getResource()
|
||||
.getCapability(EditableCapability.class).isEditable());
|
||||
return rp.getResource().getCapability(EditableCapability.class)
|
||||
.isEditable();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,10 +59,11 @@ public class LatLonReadoutAction extends AbstractRightClickAction {
|
|||
private boolean hasLatLonReadout = false;
|
||||
|
||||
public LatLonReadoutAction() {
|
||||
this.actionText = "Lat/Lon Readout";
|
||||
this("Lat/Lon Readout");
|
||||
}
|
||||
|
||||
public LatLonReadoutAction(String actionText) {
|
||||
super(AS_CHECK_BOX);
|
||||
this.actionText = actionText;
|
||||
}
|
||||
|
||||
|
|