From e929584e65ab6bc8c7a8bf0c0dff87c857342986 Mon Sep 17 00:00:00 2001 From: Nate Jensen Date: Wed, 6 Aug 2014 17:31:06 -0500 Subject: [PATCH] Omaha #3185 only import java DAF support classes when they're actually used Change-Id: Ie7db12940fb0b6a0efbd3e43566cc2f647cd40ec Former-commit-id: eb435ae129753ea739d236a2d24165a4b3bbe109 --- .../base/python/dataaccess/JGeometryData.py | 9 ++++--- .../base/python/dataaccess/JGridData.py | 27 ++++++++++--------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/edexOsgi/com.raytheon.uf.edex.dataaccess/utility/common_static/base/python/dataaccess/JGeometryData.py b/edexOsgi/com.raytheon.uf.edex.dataaccess/utility/common_static/base/python/dataaccess/JGeometryData.py index f9751d49a3..0e0c4efb9d 100644 --- a/edexOsgi/com.raytheon.uf.edex.dataaccess/utility/common_static/base/python/dataaccess/JGeometryData.py +++ b/edexOsgi/com.raytheon.uf.edex.dataaccess/utility/common_static/base/python/dataaccess/JGeometryData.py @@ -27,15 +27,15 @@ # # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- -# 12/10/12 njensen Initial Creation. -# 06/03/13 #2023 dgilling Remove "unit" support from -# __getitem__ as it only threw errors. +# 12/10/12 njensen Initial Creation. +# 06/03/13 #2023 dgilling Remove "unit" support from +# __getitem__ as it only threw errors. +# 08/06/14 3185 njensen Only import shapely when necessary # # from ufpy.dataaccess import IGeometryData import JData -import shapely.wkt class JGeometryData(IGeometryData, JData.JData): @@ -61,6 +61,7 @@ class JGeometryData(IGeometryData, JData.JData): return self.getNumber(key) def getGeometry(self): + import shapely.wkt return shapely.wkt.loads(self.jobj.getGeometry().toText()) def getParameters(self): diff --git a/edexOsgi/com.raytheon.uf.edex.dataaccess/utility/common_static/base/python/dataaccess/JGridData.py b/edexOsgi/com.raytheon.uf.edex.dataaccess/utility/common_static/base/python/dataaccess/JGridData.py index 1901b10349..6c9321f133 100644 --- a/edexOsgi/com.raytheon.uf.edex.dataaccess/utility/common_static/base/python/dataaccess/JGridData.py +++ b/edexOsgi/com.raytheon.uf.edex.dataaccess/utility/common_static/base/python/dataaccess/JGridData.py @@ -27,23 +27,16 @@ # # Date Ticket# Engineer Description # ------------ ---------- ----------- -------------------------- -# 12/10/12 njensen Initial Creation. -# 05/01/14 3095 bsteffen Move numeric data access to new plugin. - +# 12/10/12 njensen Initial Creation. +# 05/01/14 3095 bsteffen Move numeric data access to new plugin. +# 08/06/14 3185 njensen Only import Java classes when necessary +# # # # from ufpy.dataaccess import IGridData import JData -from jep import jarray - -from com.raytheon.uf.common.numeric.buffer import FloatBufferWrapper -from com.raytheon.uf.common.geospatial.data import UnitConvertingDataFilter -from com.raytheon.uf.common.numeric.dest import FilteredDataDestination -from com.raytheon.uf.common.python import PythonNumpyFloatArray -from com.raytheon.uf.common.geospatial import LatLonReprojection -from javax.measure.unit import UnitFormat class JGridData(IGridData, JData.JData): @@ -69,15 +62,23 @@ class JGridData(IGridData, JData.JData): return str(self.jobj.getUnit()) def getRawData(self, unit=None): + # import only the modules that are needed + from com.raytheon.uf.common.numeric.buffer import FloatBufferWrapper + from com.raytheon.uf.common.python import PythonNumpyFloatArray + nx = self.jobj.getGridGeometry().getGridRange().getSpan(0) ny = self.jobj.getGridGeometry().getGridRange().getSpan(1) dest = FloatBufferWrapper(nx, ny) pnfa = None if unit: + from javax.measure.unit import UnitFormat + from com.raytheon.uf.common.geospatial.data import UnitConvertingDataFilter + from com.raytheon.uf.common.numeric.dest import FilteredDataDestination + from jep import jarray + unitObj = UnitFormat.getUCUMInstance().parseObject(unit) converter = self.jobj.getUnit().getConverterTo(unitObj) filter = UnitConvertingDataFilter(converter) - filter = UnitConvertingDataFilter(converter) filters = jarray(1, UnitConvertingDataFilter) filters[0] = filter unitDest = FilteredDataDestination.addFilters(dest, filters) @@ -98,6 +99,8 @@ class JGridData(IGridData, JData.JData): gridGeometry = self.jobj.getGridGeometry() if gridGeometry is None : return None + + from com.raytheon.uf.common.geospatial import LatLonReprojection latlons = LatLonReprojection.getLatLons(gridGeometry) nx = gridGeometry.getGridRange().getSpan(0) ny = gridGeometry.getGridRange().getSpan(1)