13.5.1-1 baseline

Former-commit-id: 6384018950 [formerly 998961612c] [formerly 6384018950 [formerly 998961612c] [formerly fe872355a7 [formerly 72a49a353cb22c89c9aa19ed1f4a681c3e89d5f3]]]
Former-commit-id: fe872355a7
Former-commit-id: 0aab285b8a [formerly 30ba1d634e]
Former-commit-id: 146c5e8940
This commit is contained in:
Steve Harris 2013-06-10 15:17:17 -04:00
parent e9904efd7f
commit 859965fc9d
2893 changed files with 59440 additions and 91163 deletions

View file

@ -86,6 +86,9 @@
<copy todir="${buildDirectory}/plugins"> <copy todir="${buildDirectory}/plugins">
<fileset dir="${buildDirectory}/../../" includes="org.springframework*/**"/> <fileset dir="${buildDirectory}/../../" includes="org.springframework*/**"/>
</copy> </copy>
<copy todir="${buildDirectory}/plugins">
<fileset dir="${buildDirectory}/../../" includes="org.quartz*/**"/>
</copy>
<copy todir="${buildDirectory}/plugins"> <copy todir="${buildDirectory}/plugins">
<fileset dir="${buildDirectory}/../../" includes="com.raytheon.uf.common.util*/**"/> <fileset dir="${buildDirectory}/../../" includes="com.raytheon.uf.common.util*/**"/>
<fileset dir="${buildDirectory}/../../" includes="com.raytheon.uf.common.status*/**"/> <fileset dir="${buildDirectory}/../../" includes="com.raytheon.uf.common.status*/**"/>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- <!--
This_software_was_developed_and_/_or_modified_by_Raytheon_Company, This_software_was_developed_and_/_or_modified_by_Raytheon_Company,
pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government. pursuant_to_Contract_DG133W-05-CQ-1067_with_the_US_Government.
@ -49,7 +49,7 @@
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin <plugin
id="com.raytheon.uf.common.util" id="com.raytheon.uf.common.util"
download-size="0" download-size="0"
@ -98,7 +98,7 @@
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin <plugin
id="org.slf4j" id="org.slf4j"
download-size="0" download-size="0"
install-size="0" install-size="0"
@ -155,4 +155,10 @@
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin
id="org.quartz"
download-size="0"
install-size="0"
version="0.0.0"/>
</feature> </feature>

View file

@ -15,7 +15,8 @@ Export-Package: com.raytheon.rcm.coll,
Require-Bundle: com.raytheon.rcm.lib;bundle-version="1.0.0", Require-Bundle: com.raytheon.rcm.lib;bundle-version="1.0.0",
org.apache.commons.logging;bundle-version="1.0.4", org.apache.commons.logging;bundle-version="1.0.4",
org.springframework;bundle-version="2.5.6", 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, Import-Package: com.raytheon.uf.common.util,
org.apache.log4j, org.apache.log4j,
org.junit org.junit

Binary file not shown.

View file

@ -1,4 +1,4 @@
<project default="p2.build" basedir="."> <project default="main" basedir=".">
<!-- TODO: Verify These Properties References An Actual Directory. --> <!-- TODO: Verify These Properties References An Actual Directory. -->
<property name="eclipse.dir" <property name="eclipse.dir"
@ -14,9 +14,9 @@
<property name="workspace.dir" value="${basedir}/../" /> <property name="workspace.dir" value="${basedir}/../" />
<property name="pde.build.script" <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" <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 --> <!-- Verify That We Have Access To A Copy Of Eclipse -->
<target name="verify"> <target name="verify">
@ -120,13 +120,6 @@
includes="it.*/**" /> includes="it.*/**" />
</copy> </copy>
<!-- END: Copy The Plugins --> <!-- 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> </target>
<!-- Cleans Up Any Temporary Directories --> <!-- Cleans Up Any Temporary Directories -->
@ -154,7 +147,18 @@
<param name="feature" <param name="feature"
value="com.raytheon.viz.feature.awips" /> value="com.raytheon.viz.feature.awips" />
<param name="omit" <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>
<antcall target="p2.build.repo"> <antcall target="p2.build.repo">
<param name="feature" <param name="feature"
@ -164,6 +168,10 @@
<param name="feature" <param name="feature"
value="com.raytheon.uf.viz.common.core.feature" /> value="com.raytheon.uf.viz.common.core.feature" />
</antcall> </antcall>
<antcall target="p2.build.repo">
<param name="feature"
value="com.raytheon.uf.viz.localization.perspective.feature" />
</antcall>
<antcall target="p2.build.repo"> <antcall target="p2.build.repo">
<param name="feature" <param name="feature"
value="com.raytheon.uf.viz.core.feature" /> value="com.raytheon.uf.viz.core.feature" />
@ -188,10 +196,6 @@
<param name="feature" <param name="feature"
value="com.raytheon.uf.viz.d2d.core.feature" /> value="com.raytheon.uf.viz.d2d.core.feature" />
</antcall> </antcall>
<antcall target="p2.build.repo">
<param name="feature"
value="com.raytheon.uf.viz.localization.perspective.feature" />
</antcall>
<antcall target="p2.build.repo"> <antcall target="p2.build.repo">
<param name="feature" <param name="feature"
value="com.raytheon.viz.radar.feature" /> value="com.raytheon.viz.radar.feature" />
@ -311,8 +315,33 @@
<antcall target="cleanup.features" /> <antcall target="cleanup.features" />
</target> </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"> <target name="p2.build.repo">
<!-- Copy The Feature -->
<copy todir="${basedir}/cave/p2/features">
<fileset dir="${workspace.dir}"
includes="${feature}/**" />
</copy>
<!-- Update The Feature --> <!-- Update The Feature -->
<property name="process.feature.tool" <property name="process.feature.tool"
value="${workspace.dir}/build/tools/ProcessFeature.jar" /> value="${workspace.dir}/build/tools/ProcessFeature.jar" />
@ -410,20 +439,6 @@
</then> </then>
</if> </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' --> <!-- Remove 'com.raytheon.uf.viz.feature.alertviz' -->
<if> <if>
<available <available
@ -451,20 +466,32 @@
</delete> </delete>
</then> </then>
</if> </if>
<!-- Remove 'com.raytheon.uf.common.base.feature' -->
<!-- Remove 'com.raytheon.uf.viz.collaboration.product.feature' --> <if>
<if> <available
<available file="${basedir}/cave/p2/features/com.raytheon.uf.common.base.feature"
file="${basedir}/cave/p2/features/com.raytheon.uf.viz.collaboration.product.feature" type="dir" />
type="dir" /> <then>
<then> <delete includeemptydirs="true">
<delete includeemptydirs="true"> <fileset
<fileset dir="${basedir}/cave/p2/features/com.raytheon.uf.common.base.feature"
dir="${basedir}/cave/p2/features/com.raytheon.uf.viz.collaboration.product.feature" />
/> </delete>
</delete> </then>
</then> </if>
</if> <!-- Remove 'com.raytheon.uf.viz.collaboration.product.feature' -->
<if>
<available
file="${basedir}/cave/p2/features/com.raytheon.uf.viz.collaboration.product.feature"
type="dir" />
<then>
<delete includeemptydirs="true">
<fileset
dir="${basedir}/cave/p2/features/com.raytheon.uf.viz.collaboration.product.feature"
/>
</delete>
</then>
</if>
</target> </target>
<taskdef resource="net/sf/antcontrib/antlib.xml" <taskdef resource="net/sf/antcontrib/antlib.xml"

View file

@ -18,6 +18,21 @@
# further licensing information. # 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 time, getopt, sys, copy, string, logging
import VTECTableUtil, VTECTable import VTECTableUtil, VTECTable
import TimeRange, AbsTime, ActiveTableVtec 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.dataplugin.gfe.discrete import DiscreteKey
from com.raytheon.uf.common.time import TimeRange as JavaTimeRange from com.raytheon.uf.common.time import TimeRange as JavaTimeRange
from com.raytheon.viz.gfe.sampler import HistoSampler, SamplerRequest from com.raytheon.viz.gfe.sampler import HistoSampler, SamplerRequest
from com.raytheon.viz.gfe.vtec import GFEVtecUtil
import cPickle import cPickle
# This class makes an object that interfaces to the GFE hazard grid # 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"] self.__marineProds = ["CWF", "NSH", "GLF", "MWW", "OFF"]
# list of phen/sig from national centers and "until further notice" # list of phen/sig from national centers and "until further notice"
self.__tpcKeys = [('HU','A'), ('HU','S'), ('HU','W'), ('TR','A'), self.__tpcKeys = self.__processJavaCollection(GFEVtecUtil.TROPICAL_PHENSIGS, self.__convertPhensig)
('TR','W')]
self.__tpcBaseETN = '1001' self.__tpcBaseETN = '1001'
self.__ncKeys = [('TO','A'), ('SV','A'), ('HU', 'S'), ('HU','A'), ('HU','W'), self.__ncKeys = self.__processJavaCollection(GFEVtecUtil.NATIONAL_PHENSIGS, self.__convertPhensig)
('TR','A'), ('TR','W')] # added HU.S
self.__ufnKeys = [('HU','A'), ('HU','S'), ('HU','W'), ('TR','A'), ('TR','W'), self.__ufnKeys = [('HU','A'), ('HU','S'), ('HU','W'), ('TR','A'), ('TR','W'),
('TY','A'), ('TY','W')] ('TY','A'), ('TY','W')]
self.__sitesIgnoreNatlEtn = self.__processJavaCollection(GFEVtecUtil.IGNORE_NATIONAL_ETN, str)
self.__marineZonesPrefix = ["AM", "GM", "PZ", "PK", "PH", "PM", "AN", self.__marineZonesPrefix = ["AM", "GM", "PZ", "PK", "PH", "PM", "AN",
"PS", "SL"] #list of zone name prefix that are marine zones "PS", "SL"] #list of zone name prefix that are marine zones
@ -682,36 +698,31 @@ class HazardsTable(VTECTableUtil.VTECTableUtil):
assigned.extend(ids2) assigned.extend(ids2)
# find highest etn in active table for phen/sig, returns it. # 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): def __highestETNActiveTable(self, phen, sig, activeTable):
#check active table for highest etn
presentyear = time.gmtime(self.__time)[0]
etn_base = 0 etn_base = 0
for active in activeTable: phensig = (phen, sig)
# find only records with
# 1. same phen and sig # find the max ETN...
# 2. in the present year # 1. highest ETN period for non-tropical and all GUM products (tpcKeys)
# and not from the national center # or
activeyear = time.gmtime(active['issueTime'])[0] # 2. highest ETN > 1000 for the tropical, non-GUM products (tpcKeys)
phensig = (active['phen'],active['sig']) #
if active['phen'] == phen and active['sig'] == sig and \ # Local WFOs do not assign these numbers, so they should have
activeyear == presentyear: # numbers < 1000
# find the max ETN... if phensig not in self.__tpcKeys or self.__siteID4 in self.__sitesIgnoreNatlEtn:
# 1. highest ETN period for non-tropical and all GUM products (tpcKeys) etn_base = GFEVtecUtil.getNextEtn(self.__siteID4, '.'.join(phensig), False) - 1
# or else:
# 2. highest ETN > 1000 for the tropical, non-GUM products (tpcKeys) presentyear = time.gmtime(self.__time)[0]
# for active in activeTable:
# Local WFOs do not assign these numbers, so they should have activeyear = time.gmtime(active['issueTime'])[0]
# numbers < 1000 activephensig = (active['phen'],active['sig'])
if active['etn'] > etn_base and \ if phensig == activephensig and presentyear == activeyear:
phensig not in self.__tpcKeys: # causes failure if tropical hazards are less than 1001
etn_base = active['etn'] if active['etn'] < int(self.__tpcBaseETN):
elif active['etn'] > etn_base and \ LogStream.logProblem("Incorrect ETN for tropical hazard.")
phensig in self.__tpcKeys:
if self.__siteID4 == 'PGUM':
etn_base = active['etn'] # GUM uses their own ETNs regardless of hazard
else:
if active['etn'] < 1001: # causes failure if tropical hazards are less than 1001
self.log.error("Incorrect ETN for tropical hazard.")
return etn_base return etn_base
#determine the new etn to use, using the etn cache #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 # return False #same phen/sig, not tpc, so. non separate track
# else: # else:
# return true; # 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

View file

@ -21,7 +21,6 @@
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
menuText="30 min stn plot" id="local30minstnplot"> menuText="30 min stn plot" id="local30minstnplot">
<dataURI>/ldadmesonet/%</dataURI>
<substitute key="svg" value="ldadMesoDesign.svg"/> <substitute key="svg" value="ldadMesoDesign.svg"/>
<substitute key="legend" value="30 min Local Data Plot"/> <substitute key="legend" value="30 min Local Data Plot"/>
<substitute key="posOffset" value="900"/> <substitute key="posOffset" value="900"/>
@ -29,7 +28,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADMesoQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADMesoQCPlot.xml"
menuText="30 min stn plot + QC" id="local30minstnQCplot"> menuText="30 min stn plot + QC" id="local30minstnQCplot">
<dataURI>/qc/%</dataURI>
<substitute key="svgPrefix" value="ldadQC"/> <substitute key="svgPrefix" value="ldadQC"/>
<substitute key="legend" value="30 min LDAD QC Plot"/> <substitute key="legend" value="30 min LDAD QC Plot"/>
<substitute key="posOffset" value="900"/> <substitute key="posOffset" value="900"/>
@ -40,7 +38,6 @@
<contribute xsi:type="subMenu" menuText="Other Local Plots"> <contribute xsi:type="subMenu" menuText="Other Local Plots">
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
menuText="15 min stn plot" id="local15minstnplot"> menuText="15 min stn plot" id="local15minstnplot">
<dataURI>/ldadmesonet/%</dataURI>
<substitute key="svg" value="ldadMesoDesign.svg"/> <substitute key="svg" value="ldadMesoDesign.svg"/>
<substitute key="legend" value="15 min Local Data Plot"/> <substitute key="legend" value="15 min Local Data Plot"/>
<substitute key="posOffset" value="450"/> <substitute key="posOffset" value="450"/>
@ -48,7 +45,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADMesoQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADMesoQCPlot.xml"
menuText="15 min stn plot + QC" id="local15minstnQCplot"> menuText="15 min stn plot + QC" id="local15minstnQCplot">
<dataURI>/qc/%</dataURI>
<substitute key="svgPrefix" value="ldadQC"/> <substitute key="svgPrefix" value="ldadQC"/>
<substitute key="legend" value="15 min LDAD QC Plot"/> <substitute key="legend" value="15 min LDAD QC Plot"/>
<substitute key="posOffset" value="450"/> <substitute key="posOffset" value="450"/>
@ -58,7 +54,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
menuText="5 min stn plot" id="local5minstnplot"> menuText="5 min stn plot" id="local5minstnplot">
<dataURI>/ldadmesonet/%</dataURI>
<substitute key="svg" value="ldadMesoDesign.svg"/> <substitute key="svg" value="ldadMesoDesign.svg"/>
<substitute key="legend" value="5 min Local Data Plot"/> <substitute key="legend" value="5 min Local Data Plot"/>
<substitute key="posOffset" value="150"/> <substitute key="posOffset" value="150"/>
@ -66,7 +61,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
menuText="1 min stn plot" id="local1minstnplot"> menuText="1 min stn plot" id="local1minstnplot">
<dataURI>/ldadmesonet/%</dataURI>
<substitute key="svg" value="ldadMesoDesign.svg"/> <substitute key="svg" value="ldadMesoDesign.svg"/>
<substitute key="legend" value="1 min Local Data Plot"/> <substitute key="legend" value="1 min Local Data Plot"/>
<substitute key="posOffset" value="30"/> <substitute key="posOffset" value="30"/>
@ -74,7 +68,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADMesoPlot.xml"
menuText="WindCh/HeatIdx" id="localWindChHeatIdx"> menuText="WindCh/HeatIdx" id="localWindChHeatIdx">
<dataURI>/ldadmesonet/%</dataURI>
<substitute key="svg" value="ldadMesoHiWcDesign.svg"/> <substitute key="svg" value="ldadMesoHiWcDesign.svg"/>
<substitute key="legend" value="Local WindChill/HeatIndex Plot"/> <substitute key="legend" value="Local WindChill/HeatIndex Plot"/>
<substitute key="posOffset" value="900"/> <substitute key="posOffset" value="900"/>
@ -87,7 +80,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
menuText="3 hr Precip" id="local3hrPrecip"> menuText="3 hr Precip" id="local3hrPrecip">
<dataURI>/ldadhydro/%</dataURI>
<substitute key="svg" value="ldadHydro3hrPrecipDesign.svg"/> <substitute key="svg" value="ldadHydro3hrPrecipDesign.svg"/>
<substitute key="legend" value="3 hr Precip Plot"/> <substitute key="legend" value="3 hr Precip Plot"/>
<substitute key="posOffset" value="5400"/> <substitute key="posOffset" value="5400"/>
@ -95,7 +87,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
menuText="1 hr Precip" id="local1hrPrecip"> menuText="1 hr Precip" id="local1hrPrecip">
<dataURI>/ldadhydro/%</dataURI>
<substitute key="svg" value="ldadHydro1hrPrecipDesign.svg"/> <substitute key="svg" value="ldadHydro1hrPrecipDesign.svg"/>
<substitute key="legend" value="1 hr Precip Plot"/> <substitute key="legend" value="1 hr Precip Plot"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -103,7 +94,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
menuText="30 min Precip" id="local30minPrecip"> menuText="30 min Precip" id="local30minPrecip">
<dataURI>/ldadhydro/%</dataURI>
<substitute key="svg" value="ldadHydro30minPrecipDesign.svg"/> <substitute key="svg" value="ldadHydro30minPrecipDesign.svg"/>
<substitute key="legend" value="30 min Precip Plot"/> <substitute key="legend" value="30 min Precip Plot"/>
<substitute key="posOffset" value="900"/> <substitute key="posOffset" value="900"/>
@ -111,7 +101,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
menuText="15 min Precip" id="local15minPrecip"> menuText="15 min Precip" id="local15minPrecip">
<dataURI>/ldadhydro/%</dataURI>
<substitute key="svg" value="ldadHydro15minPrecipDesign.svg"/> <substitute key="svg" value="ldadHydro15minPrecipDesign.svg"/>
<substitute key="legend" value="15 min Precip Plot"/> <substitute key="legend" value="15 min Precip Plot"/>
<substitute key="posOffset" value="450"/> <substitute key="posOffset" value="450"/>
@ -119,7 +108,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml" <contribute xsi:type="bundleItem" file="bundles/LDADHydroPlot.xml"
menuText="5 min Precip" id="local5minPrecip"> menuText="5 min Precip" id="local5minPrecip">
<dataURI>/ldadhydro/%</dataURI>
<substitute key="svg" value="ldadHydro5minPrecipDesign.svg"/> <substitute key="svg" value="ldadHydro5minPrecipDesign.svg"/>
<substitute key="legend" value="5 min Precip Plot"/> <substitute key="legend" value="5 min Precip Plot"/>
<substitute key="posOffset" value="150"/> <substitute key="posOffset" value="150"/>

View file

@ -21,7 +21,6 @@
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
menuText="NWS MSL Pressure" id="msasMSLnwsPressure"> menuText="NWS MSL Pressure" id="msasMSLnwsPressure">
<dataURI>/obs/%</dataURI>
<substitute key="svgPrefix" value="msasMSLnwsPressure"/> <substitute key="svgPrefix" value="msasMSLnwsPressure"/>
<substitute key="legend" value="msas MSLP-nws Obs(mb*10)"/> <substitute key="legend" value="msas MSLP-nws Obs(mb*10)"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -31,7 +30,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
menuText="MSAS MSL Pressure" id="msasMAPSPressure"> menuText="MSAS MSL Pressure" id="msasMAPSPressure">
<dataURI>/obs/%</dataURI>
<substitute key="svgPrefix" value="msasMAPSPressure"/> <substitute key="svgPrefix" value="msasMAPSPressure"/>
<substitute key="legend" value="msas MSL Obs(mb*10)"/> <substitute key="legend" value="msas MSL Obs(mb*10)"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -41,7 +39,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
menuText="Altimeter" id="msasAltimeter"> menuText="Altimeter" id="msasAltimeter">
<dataURI>/obs/%</dataURI>
<substitute key="svgPrefix" value="msasAltimeter"/> <substitute key="svgPrefix" value="msasAltimeter"/>
<substitute key="legend" value="msas altimeter Obs(mb*10)"/> <substitute key="legend" value="msas altimeter Obs(mb*10)"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -51,7 +48,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
menuText="3hr Pressure Change" id="msas3hrPressureChange"> menuText="3hr Pressure Change" id="msas3hrPressureChange">
<dataURI>/obs/%</dataURI>
<substitute key="svgPrefix" value="msas3hrPressureChange"/> <substitute key="svgPrefix" value="msas3hrPressureChange"/>
<substitute key="legend" value="msas 3hr press change Obs(mb*10)"/> <substitute key="legend" value="msas 3hr press change Obs(mb*10)"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -61,7 +57,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
menuText="Wind" id="msasWind"> menuText="Wind" id="msasWind">
<dataURI>/obs/%</dataURI>
<substitute key="svgPrefix" value="msasWind"/> <substitute key="svgPrefix" value="msasWind"/>
<substitute key="legend" value="msas wind Obs(kts)"/> <substitute key="legend" value="msas wind Obs(kts)"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -71,7 +66,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
menuText="Potential Temp" id="msasPotentialTemp"> menuText="Potential Temp" id="msasPotentialTemp">
<dataURI>/obs/%</dataURI>
<substitute key="svgPrefix" value="msasPotentialTemp"/> <substitute key="svgPrefix" value="msasPotentialTemp"/>
<substitute key="legend" value="msas theta Obs(K)"/> <substitute key="legend" value="msas theta Obs(K)"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -81,7 +75,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
menuText="Dewpoint" id="msasDewpoint"> menuText="Dewpoint" id="msasDewpoint">
<dataURI>/obs/%</dataURI>
<substitute key="svgPrefix" value="msasDewpoint"/> <substitute key="svgPrefix" value="msasDewpoint"/>
<substitute key="legend" value="msas dewpoint Obs(F)"/> <substitute key="legend" value="msas dewpoint Obs(F)"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -91,7 +84,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MsasQCPlot.xml"
menuText="Dewpoint Depression" id="msasDewpointDepression"> menuText="Dewpoint Depression" id="msasDewpointDepression">
<dataURI>/obs/%</dataURI>
<substitute key="svgPrefix" value="msasDewpointDepression"/> <substitute key="svgPrefix" value="msasDewpointDepression"/>
<substitute key="legend" value="msas dewpoint dep Obs(F)"/> <substitute key="legend" value="msas dewpoint dep Obs(F)"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>

View file

@ -21,24 +21,17 @@
<menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <menuTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<contribute xsi:type="bundleItem" file="bundles/maritimeFixedBuoy.xml" <contribute xsi:type="bundleItem" file="bundles/maritimeFixedBuoy.xml"
menuText="Fixed Buoys" id="FixedBuoys" menuText="Fixed Buoys" id="FixedBuoys"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800" />
<dataURI>/sfcobs/%/1005/%</dataURI>
</contribute>
<contribute xsi:type="bundleItem" file="bundles/maritimeMoving.xml" <contribute xsi:type="bundleItem" file="bundles/maritimeMoving.xml"
menuText="Moving Maritime" id="MovingMaritime" menuText="Moving Maritime" id="MovingMaritime"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800" />
<dataURI>/sfcobs/%/1003/%</dataURI>
</contribute>
<contribute xsi:type="bundleItem" file="bundles/maritimeMAROB.xml" <contribute xsi:type="bundleItem" file="bundles/maritimeMAROB.xml"
menuText="MAROB" id="MAROB" menuText="MAROB" id="MAROB"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800" />
<dataURI>/sfcobs/%/1007/%</dataURI>
</contribute>
<contribute xsi:type="subMenu" menuText="Other Maritime Plots"> <contribute xsi:type="subMenu" menuText="Other Maritime Plots">
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml" <contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
menuText="Fixed Sea State" id="FixedSeaState" menuText="Fixed Sea State" id="FixedSeaState"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800">
<dataURI>/sfcobs/%</dataURI>
<substitute key="svg" value="seaStateDesign.svg"/> <substitute key="svg" value="seaStateDesign.svg"/>
<substitute key="legend" value="Fixed Buoys Sea State"/> <substitute key="legend" value="Fixed Buoys Sea State"/>
<substitute key="reportType" value="1004,1005"/> <substitute key="reportType" value="1004,1005"/>
@ -46,7 +39,6 @@
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml" <contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
menuText="Moving Sea State" id="MovingSeaState" menuText="Moving Sea State" id="MovingSeaState"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800">
<dataURI>/sfcobs/%</dataURI>
<substitute key="svg" value="seaStateDesign.svg"/> <substitute key="svg" value="seaStateDesign.svg"/>
<substitute key="legend" value="Moving Buoys/Ships Sea State"/> <substitute key="legend" value="Moving Buoys/Ships Sea State"/>
<substitute key="reportType" value="1003,1006"/> <substitute key="reportType" value="1003,1006"/>
@ -54,7 +46,6 @@
<contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml" <contribute xsi:type="bundleItem" file="bundles/SeaStatePlot.xml"
menuText="MAROB Sea State" id="MAROBSeaState" menuText="MAROB Sea State" id="MAROBSeaState"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800">
<dataURI>/sfcobs/%/1007/%</dataURI>
<substitute key="svg" value="seaStateDesign.svg"/> <substitute key="svg" value="seaStateDesign.svg"/>
<substitute key="legend" value="MAROB Sea State"/> <substitute key="legend" value="MAROB Sea State"/>
<substitute key="reportType" value="1007"/> <substitute key="reportType" value="1007"/>
@ -62,7 +53,6 @@
<contribute xsi:type="bundleItem" file="bundles/MaritimePlot.xml" <contribute xsi:type="bundleItem" file="bundles/MaritimePlot.xml"
menuText="Maritime Clouds/Vis" id="MaritimeCloudVis" menuText="Maritime Clouds/Vis" id="MaritimeCloudVis"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800">
<dataURI>/sfcobs/%/1003/%</dataURI>
<substitute key="svg" value="maritimeCvDesign.svg"/> <substitute key="svg" value="maritimeCvDesign.svg"/>
<substitute key="legend" value="Maritime Clouds and Visibility"/> <substitute key="legend" value="Maritime Clouds and Visibility"/>
<substitute key="reportType" value="1003"/> <substitute key="reportType" value="1003"/>
@ -70,7 +60,6 @@
<contribute xsi:type="bundleItem" file="bundles/MaritimePlot.xml" <contribute xsi:type="bundleItem" file="bundles/MaritimePlot.xml"
menuText="MAROB Clouds/Vis" id="MarobCloudsVis" menuText="MAROB Clouds/Vis" id="MarobCloudsVis"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800">
<dataURI>/sfcobs/%/1007/%</dataURI>
<substitute key="svg" value="maritimeCvDesign.svg"/> <substitute key="svg" value="maritimeCvDesign.svg"/>
<substitute key="legend" value="MAROB Clouds and Visibility"/> <substitute key="legend" value="MAROB Clouds and Visibility"/>
<substitute key="reportType" value="1007"/> <substitute key="reportType" value="1007"/>
@ -91,7 +80,6 @@
<contribute xsi:type="bundleItem" file="bundles/Scatterometer.xml" <contribute xsi:type="bundleItem" file="bundles/Scatterometer.xml"
menuText="ASCAT Winds 25 km" id="ASCATWinds" menuText="ASCAT Winds 25 km" id="ASCATWinds"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800">
<dataURI>/bufrascat/%</dataURI>
<substitute key="legend" value="ASCAT"/> <substitute key="legend" value="ASCAT"/>
<substitute key="svg" value="ascatPlotDesign.svg"/> <substitute key="svg" value="ascatPlotDesign.svg"/>
<substitute key="plugin" value="bufrascat"/> <substitute key="plugin" value="bufrascat"/>

View file

@ -25,12 +25,9 @@
</contribute> </contribute>
<contribute xsi:type="subMenu" menuText="Other Plots"> <contribute xsi:type="subMenu" menuText="Other Plots">
<contribute xsi:type="bundleItem" file="bundles/15minSurfacePlot.xml" <contribute xsi:type="bundleItem" file="bundles/15minSurfacePlot.xml"
menuText="15 min Plot" id="15MinSurfacePlot"> menuText="15 min Plot" id="15MinSurfacePlot" />
<dataURI>/obs/%</dataURI>
</contribute>
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
menuText="24Hr Chg" id="24HrChg"> menuText="24Hr Chg" id="24HrChg">
<dataURI>/obs/%</dataURI>
<substitute key="svg" value="metar24ChgDesign.svg"/> <substitute key="svg" value="metar24ChgDesign.svg"/>
<substitute key="legend" value="METAR 24H Change"/> <substitute key="legend" value="METAR 24H Change"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -38,7 +35,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
menuText="Ceil/Vis Plot (AGL)" id="CeilVisPlotAGL"> menuText="Ceil/Vis Plot (AGL)" id="CeilVisPlotAGL">
<dataURI>/obs/%</dataURI>
<substitute key="svg" value="metarCvDesign.svg"/> <substitute key="svg" value="metarCvDesign.svg"/>
<substitute key="legend" value="Ceiling (agl) and Visibility"/> <substitute key="legend" value="Ceiling (agl) and Visibility"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -46,7 +42,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
menuText="Ceil/Vis Plot (MSL)" id="CeilVisPlotMSL"> menuText="Ceil/Vis Plot (MSL)" id="CeilVisPlotMSL">
<dataURI>/obs/%</dataURI>
<substitute key="svg" value="metarCvMslDesign.svg"/> <substitute key="svg" value="metarCvMslDesign.svg"/>
<substitute key="legend" value="Ceiling (msl) and Visibility"/> <substitute key="legend" value="Ceiling (msl) and Visibility"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -54,7 +49,6 @@
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MetarPlot.xml"
menuText="Wind Ch/HeatIdx" id="WindChHeatIdx"> menuText="Wind Ch/HeatIdx" id="WindChHeatIdx">
<dataURI>/obs/%</dataURI>
<substitute key="svg" value="metarHiWcDesign.svg"/> <substitute key="svg" value="metarHiWcDesign.svg"/>
<substitute key="legend" value="Wind Chill/Heat Index plot"/> <substitute key="legend" value="Wind Chill/Heat Index plot"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
@ -67,28 +61,24 @@
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
menuText="24hr Precip" id="24HrPrecip"> menuText="24hr Precip" id="24HrPrecip">
<dataURI>/obs/%</dataURI>
<substitute key="duration" value="24"/> <substitute key="duration" value="24"/>
<substitute key="posOffset" value="21600"/> <substitute key="posOffset" value="21600"/>
<substitute key="negOffset" value="0"/> <substitute key="negOffset" value="0"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
menuText="6hr Precip" id="6HrPrecip"> menuText="6hr Precip" id="6HrPrecip">
<dataURI>/obs/%</dataURI>
<substitute key="duration" value="6"/> <substitute key="duration" value="6"/>
<substitute key="posOffset" value="10800"/> <substitute key="posOffset" value="10800"/>
<substitute key="negOffset" value="10800"/> <substitute key="negOffset" value="10800"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
menuText="3hr Precip" id="3HrPrecip"> menuText="3hr Precip" id="3HrPrecip">
<dataURI>/obs/%</dataURI>
<substitute key="duration" value="3"/> <substitute key="duration" value="3"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
<substitute key="negOffset" value="9000"/> <substitute key="negOffset" value="9000"/>
</contribute> </contribute>
<contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml" <contribute xsi:type="bundleItem" file="bundles/MetarPrecipPlot.xml"
menuText="1hr Precip" id="1HrPrecip"> menuText="1hr Precip" id="1HrPrecip">
<dataURI>/obs/%</dataURI>
<substitute key="duration" value="1"/> <substitute key="duration" value="1"/>
<substitute key="posOffset" value="1800"/> <substitute key="posOffset" value="1800"/>
<substitute key="negOffset" value="1800"/> <substitute key="negOffset" value="1800"/>

View file

@ -30,7 +30,6 @@
<contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml" <contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml"
menuText="6 hr Precip" id="synoptic6hrPrecip" menuText="6 hr Precip" id="synoptic6hrPrecip"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800">
<dataURI>/sfcobs/%/1001/%</dataURI>
<substitute key="svg" value="synopticPrcp6Design.svg"/> <substitute key="svg" value="synopticPrcp6Design.svg"/>
<substitute key="legend" value="Synoptic 6hr Precip Plot"/> <substitute key="legend" value="Synoptic 6hr Precip Plot"/>
<substitute key="posOffset" value="0"/> <substitute key="posOffset" value="0"/>
@ -39,7 +38,6 @@
<contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml" <contribute xsi:type="bundleItem" file="bundles/SynSurfacePlot.xml"
menuText="24 hr Precip" id="synoptic24hrPrecip" menuText="24 hr Precip" id="synoptic24hrPrecip"
productInterval="3600" productOffset="1800"> productInterval="3600" productOffset="1800">
<dataURI>/sfcobs/%/1001/%</dataURI>
<substitute key="svg" value="synopticPrcp24Design.svg"/> <substitute key="svg" value="synopticPrcp24Design.svg"/>
<substitute key="legend" value="Synoptic 24hr Precip Plot"/> <substitute key="legend" value="Synoptic 24hr Precip Plot"/>
<substitute key="posOffset" value="0"/> <substitute key="posOffset" value="0"/>

View file

@ -7,7 +7,7 @@ Bundle-Activator: com.raytheon.uf.viz.alertviz.Activator
Bundle-Vendor: Raytheon Bundle-Vendor: Raytheon
Require-Bundle: org.eclipse.ui, Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime, org.eclipse.core.runtime,
org.apache.activemq;visibility:=reexport, org.apache.activemq,
com.raytheon.uf.common.localization;visibility:=reexport, com.raytheon.uf.common.localization;visibility:=reexport,
com.raytheon.uf.common.serialization;visibility:=reexport, com.raytheon.uf.common.serialization;visibility:=reexport,
com.raytheon.uf.viz.core;visibility:=reexport, com.raytheon.uf.viz.core;visibility:=reexport,

View file

@ -20,7 +20,7 @@
</layout> </layout>
</appender> </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="envLogVar" value="LOGFILE_ALERTVIZ" />
<param name="maxFileSize" value="2GB"/> <param name="maxFileSize" value="2GB"/>
<param name="maxBackupIndex" value="5"/> <param name="maxBackupIndex" value="5"/>

View file

@ -58,7 +58,6 @@ import com.raytheon.uf.viz.alertviz.internal.LogMessageDAO;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Sep 4, 2008 1433 chammack Initial creation * Sep 4, 2008 1433 chammack Initial creation
* Jun 3, 2013 2026 randerso Improve error handling
* </pre> * </pre>
* *
* @author chammack * @author chammack
@ -209,12 +208,10 @@ public class AlertvizJob extends Job {
@Override @Override
public void run() { public void run() {
String xmlString = null;
StatusMessage statusMessage = null;
try { try {
xmlString = tm.getText();
StringReader sr = new StringReader(xmlString); StringReader sr = new StringReader(tm.getText());
statusMessage = (StatusMessage) umsh StatusMessage statusMessage = (StatusMessage) umsh
.unmarshal(sr); .unmarshal(sr);
if (statusMessage.getEventTime() == null) { if (statusMessage.getEventTime() == null) {
statusMessage.setEventTime(SimulatedTime statusMessage.setEventTime(SimulatedTime
@ -223,25 +220,34 @@ public class AlertvizJob extends Job {
displayAlert(statusMessage); 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) { } catch (Exception e) {
String message = "Unexpected exception"; // Log to internal Log4j log
if (xmlString == null) { Container
message += ": "; .logInternal(
} else if (statusMessage == null) { Priority.ERROR,
message += " while processing:\n" "AlertVizJob: exception when retrieving text message text or "
+ xmlString; + "creating text message unmarshaller.",
} else { e);
message += " while processing:\n" StatusMessage sm = new StatusMessage();
+ 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) * (non-Javadoc)
* *

View file

@ -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.Configuration;
import com.raytheon.uf.viz.alertviz.config.ForcedConfiguration; import com.raytheon.uf.viz.alertviz.config.ForcedConfiguration;
import com.raytheon.uf.viz.alertviz.config.Source; 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.PurgeLogJob;
import com.raytheon.uf.viz.alertviz.internal.LogMessageDAO;
import com.raytheon.uf.viz.core.VizApp; 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 * Sep 8, 2008 1433 chammack Initial creation
* Oct 18, 2010 5849 cjeanbap NullPointerExceptin thrown if category is null * Oct 18, 2010 5849 cjeanbap NullPointerExceptin thrown if category is null
* Jun 03, 2013 2026 randerso Fixed typo
* </pre> * </pre>
* *
* @author chammack * @author chammack
@ -121,7 +120,7 @@ public class Container implements IConfigurationChangedListener {
return; return;
} }
if ((source == null) || (source.getConfigurationItem() == null)) { if (source == null || source.getConfigurationItem() == null) {
message.setSourceKey("GDN_ADMIN"); message.setSourceKey("GDN_ADMIN");
message.setCategory("GDN_ADMIN"); message.setCategory("GDN_ADMIN");
message.setMessage(message.getMessage() + " (" + SOURCE_MISSING message.setMessage(message.getMessage() + " (" + SOURCE_MISSING
@ -149,9 +148,8 @@ public class Container implements IConfigurationChangedListener {
AlertMetadata amd = source.getConfigurationItem().lookup( AlertMetadata amd = source.getConfigurationItem().lookup(
message.getPriority()); message.getPriority());
if (forcedConfiguration != null) { if (forcedConfiguration != null)
amd = forcedConfiguration.applyForcedSettings(amd, message); amd = forcedConfiguration.applyForcedSettings(amd, message);
}
final AlertMetadata metadata = amd; final AlertMetadata metadata = amd;
@ -175,7 +173,7 @@ public class Container implements IConfigurationChangedListener {
sm.setPriority(priority); sm.setPriority(priority);
sm.setMachineToCurrent(); sm.setMachineToCurrent();
sm.setSourceKey("GDN_ADMIN"); sm.setSourceKey("GDN_ADMIN");
sm.setCategory("GDN_ADMIN"); sm.setCategory("GDN)ADMIN");
sm.setMessage(msg); sm.setMessage(msg);
sm.setEventTime(SimulatedTime.getSystemTime().getTime()); sm.setEventTime(SimulatedTime.getSystemTime().getTime());
addToLog(sm); addToLog(sm);
@ -194,7 +192,7 @@ public class Container implements IConfigurationChangedListener {
.getEventTime().getTime() : this.shotgunMessageStartTime; .getEventTime().getTime() : this.shotgunMessageStartTime;
if (this.lastMessage.getCategory().equals(message.getCategory()) if (this.lastMessage.getCategory().equals(message.getCategory())
&& (this.lastMessage.getPriority() == message.getPriority()) && this.lastMessage.getPriority() == message.getPriority()
&& this.lastMessage.getMessage().equals( && this.lastMessage.getMessage().equals(
message.getMessage()) message.getMessage())
&& (Math.abs(message.getEventTime().getTime() && (Math.abs(message.getEventTime().getTime()
@ -252,12 +250,12 @@ public class Container implements IConfigurationChangedListener {
boolean printError = true; boolean printError = true;
if (errorMsg != null) { if (errorMsg != null) {
if (errorMsg.equals(lastErrorDialogMessage)) { if (errorMsg.equals(lastErrorDialogMessage)) {
if ((System.currentTimeMillis() - lastErrorDialogTime) < 60000) { if (System.currentTimeMillis() - lastErrorDialogTime < 60000) {
printError = false; printError = false;
} }
} }
} else if (lastErrorDialogMessage == null) { } else if (lastErrorDialogMessage == null) {
if ((System.currentTimeMillis() - lastErrorDialogTime) < 60000) { if (System.currentTimeMillis() - lastErrorDialogTime < 60000) {
printError = false; printError = false;
} }
} }
@ -303,7 +301,7 @@ public class Container implements IConfigurationChangedListener {
} }
public static boolean hasMissing(StatusMessage statMsg) { public static boolean hasMissing(StatusMessage statMsg) {
return (statMsg.getMessage() != null) return statMsg.getMessage() != null
&& (statMsg.getMessage().contains(CATEGORY_MISSING) || statMsg && (statMsg.getMessage().contains(CATEGORY_MISSING) || statMsg
.getMessage().contains(SOURCE_MISSING)); .getMessage().contains(SOURCE_MISSING));
} }
@ -321,9 +319,8 @@ public class Container implements IConfigurationChangedListener {
String cat = message.getCategory(); String cat = message.getCategory();
String source = message.getSourceKey(); String source = message.getSourceKey();
boolean isInternal = ((cat != null) && cat boolean isInternal = (cat != null && cat.equalsIgnoreCase("GDN_ADMIN"))
.equalsIgnoreCase("GDN_ADMIN")) || (source != null && source.equalsIgnoreCase("GDN_ADMIN"));
|| ((source != null) && source.equalsIgnoreCase("GDN_ADMIN"));
if (isInternal) { if (isInternal) {
switch (message.getPriority()) { switch (message.getPriority()) {
case CRITICAL: case CRITICAL:

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>com.raytheon.uf.viz.eclipse.feature</name> <name>com.raytheon.uf.viz.archive.feature</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>

View 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>

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>com.raytheon.uf.edex.ebxml</name> <name>com.raytheon.uf.viz.archive</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>

View file

@ -1,4 +1,4 @@
#Mon Jun 25 15:43:02 CDT 2012 #Wed May 01 15:01:03 CDT 2013
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6

View 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

View 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>

View file

@ -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()
+ "]";
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}
}

View file

@ -17,12 +17,10 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * further licensing information.
**/ **/
package com.raytheon.uf.viz.collaboration.core.ui; package com.raytheon.uf.viz.archive.data;
import com.raytheon.uf.viz.collaboration.comm.provider.session.CollaborationConnection;
/** /**
* TODO Add Description * A listener to update file/directory information.
* *
* <pre> * <pre>
* *
@ -30,18 +28,19 @@ import com.raytheon.uf.viz.collaboration.comm.provider.session.CollaborationConn
* *
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Jun 26, 2012 mschenke Initial creation * May 16, 2013 1966 rferrel Initial creation
* *
* </pre> * </pre>
* *
* @author mschenke * @author rferrel
* @version 1.0 * @version 1.0
*/ */
public interface ICollaborationUIManager { public interface IUpdateListener {
/**
public CollaborationConnection getConnection(); * List of files/directories with updated information
*
public void logout(); * @param fileInfoArray
*/
public void update(FileInfo[] fileInfoArray);
} }

View file

@ -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);
}
}

View file

@ -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, "?????");
}
}
}

View file

@ -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()));
}
}

View file

@ -7,8 +7,7 @@ Bundle-Activator: com.raytheon.uf.viz.aviation.advisory.Activator
Bundle-Vendor: RAYTHEON Bundle-Vendor: RAYTHEON
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
Require-Bundle: com.raytheon.uf.viz.core Require-Bundle: com.raytheon.uf.viz.core
Import-Package: com.raytheon.edex.scriptfactory, Import-Package: com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.geospatial, com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.time, com.raytheon.uf.common.time,
com.raytheon.uf.viz.core, com.raytheon.uf.viz.core,

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<projectDescription> <projectDescription>
<name>com.raytheon.uf.edex.event.feature</name> <name>com.raytheon.uf.viz.base.feature</name>
<comment></comment> <comment></comment>
<projects> <projects>
</projects> </projects>

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<feature <feature
id="com.raytheon.uf.viz.collaboration.product.feature" id="com.raytheon.uf.viz.base.feature"
label="Collaboration Product Feature" label="CAVE Feature"
version="1.0.0.qualifier" version="1.0.0.qualifier"
provider-name="RAYTHEON"> provider-name="RAYTHEON">
@ -17,233 +17,231 @@
[Enter License Description here.] [Enter License Description here.]
</license> </license>
<includes <requires>
id="org.eclipse.rcp" <import feature="com.raytheon.uf.common.base.feature" version="1.0.0.qualifier"/>
version="0.0.0"/> </requires>
<plugin <plugin
id="com.raytheon.uf.viz.collaboration.comm" id="com.raytheon.uf.viz.core"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="com.google.guava"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <plugin
id="com.raytheon.uf.common.comm" id="com.raytheon.viz.ui"
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"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <plugin
id="org.apache.commons.codec" id="com.raytheon.uf.viz.personalities.cave"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin <plugin
id="org.apache.commons.logging" id="org.apache.activemq"
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"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <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" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <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" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <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" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <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" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <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" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <plugin
id="org.apache.commons.lang" id="javax.media.opengl"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="javax.vecmath"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <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" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <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" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin <plugin
id="org.eclipse.ecf" id="org.eclipse.emf.common"
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"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"

View file

@ -8,8 +8,7 @@ Bundle-Vendor: RAYTHEON
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Import-Package: com.raytheon.edex.scriptfactory, Import-Package: com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.dataplugin.bufrsigwx, com.raytheon.uf.common.dataplugin.bufrsigwx,
com.raytheon.uf.common.dataplugin.bufrsigwx.common, com.raytheon.uf.common.dataplugin.bufrsigwx.common,
com.raytheon.uf.common.geospatial, com.raytheon.uf.common.geospatial,

View file

@ -8,7 +8,6 @@ Bundle-Vendor: RAYTHEON
Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core Eclipse-RegisterBuddy: com.raytheon.viz.core, com.raytheon.uf.viz.core
Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: com.raytheon.edex.plugin.ccfp, Import-Package: com.raytheon.edex.plugin.ccfp,
com.raytheon.edex.scriptfactory,
com.raytheon.uf.common.dataplugin, com.raytheon.uf.common.dataplugin,
com.raytheon.uf.common.geospatial, com.raytheon.uf.common.geospatial,
com.raytheon.uf.common.status, com.raytheon.uf.common.status,

View file

@ -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.level;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.satellite;bundle-version="1.0.0", 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.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-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Export-Package: com.raytheon.uf.viz.cloudheight, Export-Package: com.raytheon.uf.viz.cloudheight,

View file

@ -36,6 +36,7 @@ import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI; import org.eclipse.ui.PlatformUI;
import org.opengis.metadata.spatial.PixelOrientation; 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.dataplugin.satellite.units.ir.IRPixel;
import com.raytheon.uf.common.geospatial.ISpatialObject; import com.raytheon.uf.common.geospatial.ISpatialObject;
import com.raytheon.uf.common.geospatial.MapUtil; 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.impl.RaobCloudHeightSourceImplementation;
import com.raytheon.uf.viz.cloudheight.rsc.PopupSkewTResource; import com.raytheon.uf.viz.cloudheight.rsc.PopupSkewTResource;
import com.raytheon.uf.viz.cloudheight.ui.CloudHeightRightClickAction; 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;
import com.raytheon.uf.viz.core.drawables.IDescriptor.FramesInfo; import com.raytheon.uf.viz.core.drawables.IDescriptor.FramesInfo;
import com.raytheon.uf.viz.core.drawables.ResourcePair; import com.raytheon.uf.viz.core.drawables.ResourcePair;

View file

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 605 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 215 B

View file

@ -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;
}
}

View file

@ -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;
}
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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;
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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
}
}

View file

@ -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));
}
}

View file

@ -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;
}
}

View file

@ -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;
}
}

View file

@ -25,6 +25,8 @@ import java.util.List;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.raytheon.uf.common.colormap.IColorMap; 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.common.status.UFStatus.Priority;
import com.raytheon.uf.viz.collaboration.display.Activator; import com.raytheon.uf.viz.collaboration.display.Activator;
import com.raytheon.uf.viz.core.DrawableImage; 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.PixelCoverage;
import com.raytheon.uf.viz.core.data.IColorMapDataRetrievalCallback; import com.raytheon.uf.viz.core.data.IColorMapDataRetrievalCallback;
import com.raytheon.uf.viz.core.data.IRenderedImageCallback; 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.IColormappedImage;
import com.raytheon.uf.viz.core.drawables.IImage; import com.raytheon.uf.viz.core.drawables.IImage;
import com.raytheon.uf.viz.core.drawables.PaintProperties; import com.raytheon.uf.viz.core.drawables.PaintProperties;

View file

@ -21,7 +21,6 @@
<import feature="com.raytheon.uf.viz.common.core.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"/> <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.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"/> <import feature="com.raytheon.viz.radar.feature" version="1.0.0.qualifier"/>
</requires> </requires>
@ -95,12 +94,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin
id="com.google.guava"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin <plugin
id="com.raytheon.uf.viz.drawing" id="com.raytheon.uf.viz.drawing"
download-size="0" download-size="0"
@ -150,4 +143,11 @@
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin
id="org.eclipse.equinox.concurrent"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature> </feature>

View file

@ -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

View file

@ -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>

View file

@ -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&#x0A;&#x0A;&#x0A;&#x0A;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>

View file

@ -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;
}
}

View file

@ -18,51 +18,10 @@
</license> </license>
<requires> <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"/> <import feature="com.raytheon.uf.viz.cots.feature" version="1.0.0.qualifier"/>
</requires> </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 <plugin
id="com.raytheon.uf.common.dissemination" id="com.raytheon.uf.common.dissemination"
download-size="0" download-size="0"
@ -70,60 +29,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> 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 <plugin
id="com.raytheon.uf.common.cache" id="com.raytheon.uf.common.cache"
download-size="0" download-size="0"
@ -131,20 +36,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> 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 <plugin
id="com.raytheon.uf.common.site" id="com.raytheon.uf.common.site"
download-size="0" download-size="0"
@ -152,19 +43,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> 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 <plugin
id="com.raytheon.uf.common.topo" id="com.raytheon.uf.common.topo"
download-size="0" download-size="0"
@ -172,20 +50,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> 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 <plugin
id="com.raytheon.edex.common" id="com.raytheon.edex.common"
download-size="0" download-size="0"
@ -193,13 +57,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> unpack="false"/>
<plugin
id="com.raytheon.uf.common.dataplugin"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin <plugin
id="com.raytheon.uf.edex.core" id="com.raytheon.uf.edex.core"
download-size="0" download-size="0"
@ -214,20 +71,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> 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 <plugin
id="com.raytheon.edex.meteolib" id="com.raytheon.edex.meteolib"
download-size="0" download-size="0"
@ -284,34 +127,40 @@
unpack="false"/> unpack="false"/>
<plugin <plugin
id="com.raytheon.uf.common.stats" id="meteolib.jni"
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"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin <plugin
id="com.raytheon.uf.common.image" id="meteolib.jni.linux32"
os="linux"
arch="x86"
download-size="0" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"
unpack="false"/> fragment="true"/>
<plugin <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" download-size="0"
install-size="0" install-size="0"
version="0.0.0" version="0.0.0"

View file

@ -19,48 +19,10 @@
<requires> <requires>
<import feature="com.raytheon.uf.viz.cots.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.uf.viz.common.core.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> </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 <plugin
id="com.raytheon.uf.viz.python.swt" id="com.raytheon.uf.viz.python.swt"
download-size="0" download-size="0"
@ -68,18 +30,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> 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 <plugin
id="com.raytheon.uf.viz.xy" id="com.raytheon.uf.viz.xy"
download-size="0" download-size="0"
@ -123,13 +73,6 @@
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin
id="com.raytheon.viz.alerts"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin <plugin
id="com.raytheon.uf.viz.derivparam" id="com.raytheon.uf.viz.derivparam"
download-size="0" download-size="0"
@ -148,13 +91,6 @@
install-size="0" install-size="0"
version="0.0.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 <plugin
id="com.raytheon.viz.ui.tools.looping" id="com.raytheon.viz.ui.tools.looping"
download-size="0" download-size="0"
@ -167,12 +103,6 @@
install-size="0" install-size="0"
version="0.0.0"/> version="0.0.0"/>
<plugin
id="com.raytheon.viz.ui.tools.nav"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin <plugin
id="com.raytheon.viz.core.contours" id="com.raytheon.viz.core.contours"
download-size="0" download-size="0"
@ -187,25 +117,6 @@
version="0.0.0" version="0.0.0"
unpack="false"/> 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 <plugin
id="com.raytheon.uf.viz.alertviz" id="com.raytheon.uf.viz.alertviz"
download-size="0" download-size="0"
@ -249,4 +160,38 @@
install-size="0" install-size="0"
version="0.0.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> </feature>

View file

@ -19,7 +19,6 @@
<requires> <requires>
<import feature="com.raytheon.uf.viz.cots.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.uf.viz.common.core.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"/> <import feature="com.raytheon.uf.viz.core.feature" version="1.0.0.qualifier"/>
</requires> </requires>

View file

@ -19,7 +19,8 @@ Require-Bundle: org.eclipse.ui,
com.raytheon.uf.viz.core.rsc;bundle-version="1.0.0", 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.viz.ui.menus;bundle-version="1.12.1174",
com.raytheon.uf.common.dataplugin.maps;bundle-version="1.0.0", 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-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Eclipse-RegisterBuddy: com.raytheon.uf.viz.core 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.actions,
com.raytheon.uf.viz.core.maps.display, com.raytheon.uf.viz.core.maps.display,
com.raytheon.uf.viz.core.maps.menus, 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

View file

@ -3,4 +3,5 @@ com.raytheon.uf.viz.core.maps.rsc.DbMapResourceData
com.raytheon.uf.viz.core.maps.rsc.DbPointMapResourceData com.raytheon.uf.viz.core.maps.rsc.DbPointMapResourceData
com.raytheon.uf.viz.core.maps.MapStylePreferenceStore com.raytheon.uf.viz.core.maps.MapStylePreferenceStore
com.raytheon.uf.viz.core.maps.display.MapRenderableDisplay com.raytheon.uf.viz.core.maps.display.MapRenderableDisplay
com.raytheon.uf.viz.core.maps.display.PlainMapRenderableDisplay com.raytheon.uf.viz.core.maps.display.PlainMapRenderableDisplay
com.raytheon.uf.viz.core.maps.scales.MapScaleRenderableDisplay

View file

@ -49,6 +49,12 @@
<commandParameter id="mapName" name="Map Name" optional="false"/> <commandParameter id="mapName" name="Map Name" optional="false"/>
<commandParameter id="mapPath" name="Map Path" optional="false"/> <commandParameter id="mapPath" name="Map Path" optional="false"/>
</command> </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>
<extension <extension
point="org.eclipse.ui.handlers"> point="org.eclipse.ui.handlers">
@ -56,6 +62,14 @@
class="com.raytheon.uf.viz.core.maps.actions.LoadMap" class="com.raytheon.uf.viz.core.maps.actions.LoadMap"
commandId="com.raytheon.uf.viz.core.maps.actions.LoadMap"> commandId="com.raytheon.uf.viz.core.maps.actions.LoadMap">
</handler> </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>
<extension <extension
point="com.raytheon.viz.ui.contextualMenu"> point="com.raytheon.viz.ui.contextualMenu">
@ -110,4 +124,22 @@
value="mapStyles"> value="mapStyles">
</path> </path>
</extension> </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> </plugin>

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * 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.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException; 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.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI; 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; import com.raytheon.viz.ui.tools.AbstractTool;
/** /**

View file

@ -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, * 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.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority; 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.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.UiUtil;
import com.raytheon.viz.ui.editor.AbstractEditor; import com.raytheon.viz.ui.editor.AbstractEditor;
@ -46,6 +44,7 @@ import com.raytheon.viz.ui.editor.AbstractEditor;
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Apr 11, 2007 chammack Initial Creation. * Apr 11, 2007 chammack Initial Creation.
* Mar 21, 2013 1638 mschenke Changed map scales not tied to d2d
* *
* </pre> * </pre>
* *
@ -53,7 +52,9 @@ import com.raytheon.viz.ui.editor.AbstractEditor;
* @version 1.0 * @version 1.0
*/ */
public class NewMapEditor extends AbstractHandler { 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) * (non-Javadoc)

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * 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.text.DecimalFormat;
import java.util.ArrayList; 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.exception.VizException;
import com.raytheon.uf.viz.core.map.IMapDescriptor; import com.raytheon.uf.viz.core.map.IMapDescriptor;
import com.raytheon.uf.viz.core.map.MapDescriptor; 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.EditorUtil;
import com.raytheon.viz.ui.dialogs.CaveJFACEDialog; import com.raytheon.viz.ui.dialogs.CaveJFACEDialog;
import com.vividsolutions.jts.geom.Coordinate; import com.vividsolutions.jts.geom.Coordinate;
@ -87,7 +87,8 @@ import com.vividsolutions.jts.geom.Coordinate;
*/ */
public class CreateProjectionDialog extends CaveJFACEDialog { 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; private DefaultMathTransformFactory factory;
@ -186,30 +187,30 @@ public class CreateProjectionDialog extends CaveJFACEDialog {
factory = new DefaultMathTransformFactory(); factory = new DefaultMathTransformFactory();
Set<?> methods = factory.getAvailableMethods(Projection.class); Set<?> methods = factory.getAvailableMethods(Projection.class);
//Removed for DR 15567 // Removed for DR 15567
// String[] projections = new String[methods.size()]; // String[] projections = new String[methods.size()];
//int i = 0; // int i = 0;
List<Object> prjj = new ArrayList<Object>(); List<Object> prjj = new ArrayList<Object>();
for (Object obj : methods) { for (Object obj : methods) {
if (obj instanceof MapProjection.AbstractProvider) { if (obj instanceof MapProjection.AbstractProvider) {
MapProjection.AbstractProvider prj = (MapProjection.AbstractProvider) obj; MapProjection.AbstractProvider prj = (MapProjection.AbstractProvider) obj;
// DR15567 Remove "Orthographic" projection temporarily // DR15567 Remove "Orthographic" projection temporarily
String orthProj = prj.getName().getCode(); String orthProj = prj.getName().getCode();
if (orthProj == "Orthographic"){ if (orthProj == "Orthographic") {
continue; continue;
} else { } else {
prjj.add(prj.getName().getCode()); prjj.add(prj.getName().getCode());
} }
//Put this back in when ready to revert the code // Put this back in when ready to revert the code
//projections[i++] = prj.getName().getCode(); // projections[i++] = prj.getName().getCode();
} }
} }
// DR15567 // DR15567
String[] projections = new String[prjj.size()]; String[] projections = new String[prjj.size()];
int j = 0; int j = 0;
for (Object obj : prjj){ for (Object obj : prjj) {
projections[j++] = obj.toString(); projections[j++] = obj.toString();
} }
// End of mods // End of mods
Arrays.sort(projections); Arrays.sort(projections);

View file

@ -29,16 +29,17 @@ import javax.xml.bind.annotation.XmlRootElement;
import org.eclipse.swt.graphics.Rectangle; 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.common.serialization.ISerializableObject;
import com.raytheon.uf.viz.core.IExtent; import com.raytheon.uf.viz.core.IExtent;
import com.raytheon.uf.viz.core.IGraphicsTarget; import com.raytheon.uf.viz.core.IGraphicsTarget;
import com.raytheon.uf.viz.core.PixelExtent; import com.raytheon.uf.viz.core.PixelExtent;
import com.raytheon.uf.viz.core.datastructure.LoopProperties; import com.raytheon.uf.viz.core.datastructure.LoopProperties;
import com.raytheon.uf.viz.core.drawables.AbstractRenderableDisplay; 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.PaintProperties;
import com.raytheon.uf.viz.core.drawables.ResourcePair; import com.raytheon.uf.viz.core.drawables.ResourcePair;
import com.raytheon.uf.viz.core.exception.VizException; 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.map.MapDescriptor;
import com.raytheon.uf.viz.core.rsc.AbstractVizResource; import com.raytheon.uf.viz.core.rsc.AbstractVizResource;
import com.raytheon.uf.viz.core.rsc.AbstractVizResource.ResourceStatus; import com.raytheon.uf.viz.core.rsc.AbstractVizResource.ResourceStatus;
@ -91,7 +92,7 @@ public class MapRenderableDisplay extends AbstractRenderableDisplay implements
super(); super();
} }
public MapRenderableDisplay(MapDescriptor desc) { public MapRenderableDisplay(IMapDescriptor desc) {
this(); this();
setDescriptor(desc); setDescriptor(desc);
} }

View file

@ -23,7 +23,7 @@ import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType; import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement; 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; import com.raytheon.uf.viz.core.rsc.ResourceList;
/** /**
@ -57,7 +57,7 @@ public class PlainMapRenderableDisplay extends MapRenderableDisplay {
/** /**
* @param desc * @param desc
*/ */
public PlainMapRenderableDisplay(MapDescriptor desc) { public PlainMapRenderableDisplay(IMapDescriptor desc) {
super(desc); super(desc);
} }

View file

@ -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);
}

View file

@ -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;
}
}

View file

@ -17,7 +17,7 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * 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.HashMap;
import java.util.Map; import java.util.Map;
@ -30,20 +30,20 @@ import org.eclipse.ui.menus.CommandContributionItem;
import org.eclipse.ui.menus.CommandContributionItemParameter; import org.eclipse.ui.menus.CommandContributionItemParameter;
import com.raytheon.uf.viz.core.IDisplayPaneContainer; import com.raytheon.uf.viz.core.IDisplayPaneContainer;
import com.raytheon.uf.viz.d2d.core.map.D2DMapRenderableDisplay; import com.raytheon.uf.viz.core.maps.scales.MapScales.MapScale;
import com.raytheon.uf.viz.d2d.core.map.MapScales;
import com.raytheon.uf.viz.d2d.core.map.MapScales.MapScale;
import com.raytheon.viz.ui.EditorUtil; import com.raytheon.viz.ui.EditorUtil;
/** /**
* TODO Add Description * UI populator for map scales
* *
* <pre> * <pre>
* *
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Oct 7, 2010 mschenke Initial creation * Oct 7, 2010 mschenke Initial creation
* Mar 21, 2013 1638 mschenke Made map scales not tied to d2d
*
* *
* </pre> * </pre>
* *
@ -63,20 +63,19 @@ public class MapScalePopulator extends CompoundContributionItem {
protected IContributionItem[] getContributionItems() { protected IContributionItem[] getContributionItems() {
MenuManager menuMgr = new MenuManager("Scales", "mapControls"); MenuManager menuMgr = new MenuManager("Scales", "mapControls");
IDisplayPaneContainer cont = EditorUtil.getActiveVizContainer(); 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() if ((cont != null && (cont.getActiveDisplayPane()
.getRenderableDisplay() instanceof D2DMapRenderableDisplay)) .getRenderableDisplay() instanceof IMapScaleDisplay))
|| EditorUtil.getActiveEditor() == null) { || EditorUtil.getActiveEditor() == null) {
for (MapScale scale : MapScales.getInstance().getScales()) { for (MapScale scale : MapScales.getInstance().getScales()) {
Map<String, String> parms = new HashMap<String, String>(); 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( CommandContributionItem item = new CommandContributionItem(
new CommandContributionItemParameter( new CommandContributionItemParameter(
PlatformUI.getWorkbench(), null, PlatformUI.getWorkbench(), null,
"com.raytheon.viz.ui.setScale", parms, null, MapScaleHandler.SET_SCALE_COMMAND_ID, parms,
null, null, scale.getDisplayName(), null, null, null, null, null, scale.getDisplayName(), null,
CommandContributionItem.STYLE_PUSH, null, true)); null, CommandContributionItem.STYLE_PUSH, null,
true));
menuMgr.add(item); menuMgr.add(item);
} }
} }

View file

@ -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;
}
}

View file

@ -17,9 +17,11 @@
* See the AWIPS II Master Rights File ("Master Rights File.pdf") for * See the AWIPS II Master Rights File ("Master Rights File.pdf") for
* further licensing information. * 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.io.File;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.JAXB; import javax.xml.bind.JAXB;
import javax.xml.bind.annotation.XmlAccessType; 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.XmlElement;
import javax.xml.bind.annotation.XmlRootElement; import javax.xml.bind.annotation.XmlRootElement;
import org.eclipse.ui.IWorkbenchWindow;
import com.raytheon.uf.common.localization.FileUpdatedMessage; import com.raytheon.uf.common.localization.FileUpdatedMessage;
import com.raytheon.uf.common.localization.ILocalizationFileObserver; import com.raytheon.uf.common.localization.ILocalizationFileObserver;
import com.raytheon.uf.common.localization.LocalizationFile; import com.raytheon.uf.common.localization.LocalizationFile;
import com.raytheon.uf.common.localization.PathManagerFactory; import com.raytheon.uf.common.localization.PathManagerFactory;
import com.raytheon.uf.common.serialization.ISerializableObject; 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.IUFStatusHandler;
import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.status.UFStatus;
import com.raytheon.uf.common.status.UFStatus.Priority; 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 * Serializable object representation of map scales
@ -45,7 +55,8 @@ import com.raytheon.uf.common.status.UFStatus.Priority;
* SOFTWARE HISTORY * SOFTWARE HISTORY
* Date Ticket# Engineer Description * Date Ticket# Engineer Description
* ------------ ---------- ----------- -------------------------- * ------------ ---------- ----------- --------------------------
* Oct 7, 2010 mschenke Initial creation * Oct 7, 2010 mschenke Initial creation
* Mar 21, 2013 1638 mschenke Made map scales not tied to d2d
* *
* </pre> * </pre>
* *
@ -134,7 +145,7 @@ public class MapScales implements ISerializableObject {
private static final String SCALES_DIR = "bundles" + File.separator private static final String SCALES_DIR = "bundles" + File.separator
+ "scales" + 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() { private static ILocalizationFileObserver listener = new ILocalizationFileObserver() {
@Override @Override
@ -156,6 +167,40 @@ public class MapScales implements ISerializableObject {
return instance; 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() { private static synchronized void fileUpdated() {
instance = null; instance = null;
} }
@ -165,18 +210,18 @@ public class MapScales implements ISerializableObject {
locFile.removeFileUpdatedObserver(listener); locFile.removeFileUpdatedObserver(listener);
} }
locFile = PathManagerFactory.getPathManager() locFile = PathManagerFactory.getPathManager()
.getStaticLocalizationFile(fileName); .getStaticLocalizationFile(FILE_NAME);
locFile.addFileUpdatedObserver(listener); locFile.addFileUpdatedObserver(listener);
File file = locFile.getFile(); File file = locFile.getFile();
if (file == null) { if (file == null) {
statusHandler.handle(Priority.PROBLEM, statusHandler.handle(Priority.PROBLEM,
"Could not find any version of scale file: " + fileName); "Could not find any version of scale file: " + FILE_NAME);
} else { } else {
try { try {
instance = JAXB.unmarshal(file, MapScales.class); instance = JAXB.unmarshal(file, MapScales.class);
} catch (RuntimeException e) { } catch (RuntimeException e) {
statusHandler.handle(Priority.PROBLEM, statusHandler.handle(Priority.PROBLEM,
"Could not parse scale file: " + fileName, e); "Could not parse scale file: " + FILE_NAME, e);
} }
} }
} }

View file

@ -15,7 +15,6 @@ Require-Bundle: org.eclipse.core.runtime,
com.raytheon.uf.common.time;bundle-version="1.12.1174", com.raytheon.uf.common.time;bundle-version="1.12.1174",
org.geotools;bundle-version="2.6.4", org.geotools;bundle-version="2.6.4",
com.raytheon.uf.common.geospatial;bundle-version="1.12.1174", 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" com.raytheon.viz.core;bundle-version="1.12.1174"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy

View file

@ -1,2 +1,2 @@
com.raytheon.uf.viz.core.rsc.FirstAvailableResourceData com.raytheon.uf.viz.core.rsc.FirstAvailableResourceData
com.raytheon.uf.viz.core.rsc.tools.AwipsToolsResourceData com.raytheon.uf.viz.core.rsc.tools.GenericToolsResourceData

View file

@ -27,6 +27,7 @@ import org.eclipse.jface.action.IMenuManager;
import com.raytheon.uf.viz.core.DrawableString; import com.raytheon.uf.viz.core.DrawableString;
import com.raytheon.uf.viz.core.IDisplayPane; 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.IExtent;
import com.raytheon.uf.viz.core.IGraphicsTarget; import com.raytheon.uf.viz.core.IGraphicsTarget;
import com.raytheon.uf.viz.core.drawables.IDescriptor; 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.legend.ILegendDecorator;
import com.raytheon.uf.viz.core.rsc.AbstractResourceData; import com.raytheon.uf.viz.core.rsc.AbstractResourceData;
import com.raytheon.uf.viz.core.rsc.AbstractVizResource; 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.LoadProperties;
import com.raytheon.uf.viz.core.rsc.RenderingOrderFactory.ResourceOrder; import com.raytheon.uf.viz.core.rsc.RenderingOrderFactory.ResourceOrder;
import com.raytheon.viz.ui.cmenu.ContextMenuManager; import com.raytheon.viz.ui.cmenu.ContextMenuManager;
import com.raytheon.viz.ui.cmenu.IContextMenuProvider; 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. * 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 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 resourceData
* @param loadProperties * @param loadProperties
@ -84,7 +137,10 @@ public abstract class AbstractLegendResource<T extends AbstractResourceData>
*/ */
@Override @Override
protected void disposeInternal() { protected void disposeInternal() {
IDisplayPaneContainer container = getResourceContainer();
if (container != null) {
container.unregisterMouseHandler(resourceClickedHandler);
}
} }
/* /*
@ -148,7 +204,11 @@ public abstract class AbstractLegendResource<T extends AbstractResourceData>
*/ */
@Override @Override
protected void initInternal(IGraphicsTarget target) throws VizException { protected void initInternal(IGraphicsTarget target) throws VizException {
IDisplayPaneContainer container = getResourceContainer();
if (container != null) {
container.registerMouseHandler(resourceClickedHandler,
InputPriority.SYSTEM_RESOURCE);
}
} }
protected ResourcePair checkLabelSpace(IDescriptor descriptor, protected ResourcePair checkLabelSpace(IDescriptor descriptor,
@ -289,4 +349,14 @@ public abstract class AbstractLegendResource<T extends AbstractResourceData>
ContextMenuManager.fillContextMenu(menuManager, selectedResource, ContextMenuManager.fillContextMenu(menuManager, selectedResource,
getResourceContainer()); getResourceContainer());
} }
protected boolean checkResourceClick(ResourcePair mouseDownRsc,
int mouseButton) {
// Do nothing
return false;
}
protected void resourceClicked(ResourcePair resource, int mouseButton) {
// Do nothing
}
} }

View file

@ -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.GenericResourceData;
import com.raytheon.uf.viz.core.rsc.LoadProperties; import com.raytheon.uf.viz.core.rsc.LoadProperties;
import com.raytheon.uf.viz.core.rsc.ResourceList; 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.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> * <pre>
* *
@ -52,6 +58,13 @@ import com.raytheon.uf.viz.core.rsc.capabilities.ColorableCapability;
public class DefaultLegendResource extends public class DefaultLegendResource extends
AbstractLegendResource<GenericResourceData> { 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 resourceData
* @param loadProperties * @param loadProperties
@ -94,6 +107,12 @@ public class DefaultLegendResource extends
} else { } else {
legend.label = rsc.getName(); legend.label = rsc.getName();
legend.resource = resourcePair; legend.resource = resourcePair;
if (rsc.hasCapability(EditableCapability.class)
&& rsc.getCapability(EditableCapability.class)
.isEditable()) {
legend.label += " (Editable)";
}
} }
if (!vis) { if (!vis) {
@ -115,4 +134,82 @@ public class DefaultLegendResource extends
} }
return entries; 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();
}
} }

View file

@ -59,10 +59,11 @@ public class LatLonReadoutAction extends AbstractRightClickAction {
private boolean hasLatLonReadout = false; private boolean hasLatLonReadout = false;
public LatLonReadoutAction() { public LatLonReadoutAction() {
this.actionText = "Lat/Lon Readout"; this("Lat/Lon Readout");
} }
public LatLonReadoutAction(String actionText) { public LatLonReadoutAction(String actionText) {
super(AS_CHECK_BOX);
this.actionText = actionText; this.actionText = actionText;
} }
@ -83,8 +84,8 @@ public class LatLonReadoutAction extends AbstractRightClickAction {
pane.getDescriptor().getResourceList().removeRsc(rsc); pane.getDescriptor().getResourceList().removeRsc(rsc);
} }
List<ISamplingResource> samplers = pane.getDescriptor() List<ISamplingResource> samplers = pane.getDescriptor()
.getResourceList() .getResourceList()
.getResourcesByTypeAsType(ISamplingResource.class); .getResourcesByTypeAsType(ISamplingResource.class);
for (ISamplingResource sampler : samplers) { for (ISamplingResource sampler : samplers) {
if (sampled) { if (sampled) {
break; break;

Some files were not shown because too many files have changed in this diff Show more