From 1f2a0f0c69f0c9c92988b85161bf5674028e003b Mon Sep 17 00:00:00 2001 From: David Gillingham Date: Fri, 12 Feb 2016 14:04:25 -0600 Subject: [PATCH] Omaha #5242: Remove calls to deprecated Localization APIs from D2D code. Change-Id: I98c154307a62fbbb05b7351451b5c3c444e73bda Former-commit-id: b91de1ced4a6630cb2e9e36fef0dfea89e09ab1b --- .../ui/dialogs/procedures/ProcedureDlg.java | 39 ++++----- .../ui/dialogs/DerivedParamWizard.java | 44 ++-------- .../uf/viz/points/PointsDataManager.java | 34 +++----- .../viz/awipstools/ToolsDataManager.java | 85 +++++++------------ .../viz/awipstools/ui/action/LapsToolsIO.java | 42 ++++----- .../raytheon/viz/pointdata/PlotModels.java | 9 +- .../viz/volumebrowser/xml/VbSourceList.java | 8 +- 7 files changed, 93 insertions(+), 168 deletions(-) diff --git a/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/dialogs/procedures/ProcedureDlg.java b/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/dialogs/procedures/ProcedureDlg.java index 517f4da18c..cdd7c4aba4 100644 --- a/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/dialogs/procedures/ProcedureDlg.java +++ b/cave/com.raytheon.uf.viz.d2d.ui/src/com/raytheon/uf/viz/d2d/ui/dialogs/procedures/ProcedureDlg.java @@ -20,7 +20,6 @@ package com.raytheon.uf.viz.d2d.ui.dialogs.procedures; -import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -56,17 +55,17 @@ import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchPartReference; import org.eclipse.ui.PlatformUI; +import com.raytheon.uf.common.localization.ILocalizationFile; import com.raytheon.uf.common.localization.IPathManager; 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.PathManagerFactory; +import com.raytheon.uf.common.localization.SaveableOutputStream; import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.status.UFStatus.Priority; import com.raytheon.uf.common.time.DataTime; -import com.raytheon.uf.common.util.FileUtil; import com.raytheon.uf.viz.core.DescriptorMap; import com.raytheon.uf.viz.core.VizApp; import com.raytheon.uf.viz.core.drawables.AbstractDescriptor; @@ -118,6 +117,7 @@ import com.raytheon.viz.ui.views.PartAdapter2; * Mar 12, 2015 4204 njensen Ensure renamed bundle goes into tab name on next load * Apr 08, 2015 4185 mapeters Disable Copy In when not applicable for active editor * Jun 02, 2015 4401 bkowal Updated to use {@link VizLocalizationFileListDlg}. + * Feb 12, 2016 5242 dgilling Remove calls to deprecated Localization APIs. * * * @@ -358,14 +358,6 @@ public class ProcedureDlg extends CaveSWTDialog { ProcedureComm.getInstance().addCopyOutStateListener(changeListener); final ProcedureComm.ICopyOutListener copyOutListener = new ProcedureComm.ICopyOutListener() { - /* - * (non-Javadoc) - * - * @see - * com.raytheon.viz.ui.dialogs.procedure.ProcedureComm.ICopyOutListener - * #copyOut(com.raytheon.viz.ui.dialogs.procedure.ProcedureComm. - * BundlePair, java.lang.Object) - */ @Override public void copyOut(BundlePair b, Object src) { if (src != thisDlg) { @@ -438,14 +430,6 @@ public class ProcedureDlg extends CaveSWTDialog { private void saveProcedure(boolean closeAfterSave) { try { - IPathManager pm = PathManagerFactory.getPathManager(); - - LocalizationContext context = pm.getContext( - LocalizationType.CAVE_STATIC, LocalizationLevel.USER); - - LocalizationFile localizationFile = pm.getLocalizationFile(context, - PROCEDURES_DIR + File.separator + fileName); - Procedure procedure = new Procedure(); BundlePair[] bp = bundles.toArray(new BundlePair[bundles.size()]); Bundle[] bundlesToSave = new Bundle[bp.length]; @@ -472,17 +456,26 @@ public class ProcedureDlg extends CaveSWTDialog { } procedure.setBundles(bundlesToSave); + IPathManager pm = PathManagerFactory.getPathManager(); + LocalizationContext context = pm.getContext( + LocalizationType.CAVE_STATIC, LocalizationLevel.USER); + ILocalizationFile localizationFile = pm + .getLocalizationFile(context, PROCEDURES_DIR + + IPathManager.SEPARATOR + fileName); String procedureXML = procedure.toXML(); - FileUtil.bytes2File(procedureXML.getBytes(), - localizationFile.getFile()); - localizationFile.save(); + try (SaveableOutputStream outStream = localizationFile + .openOutputStream()) { + outStream.write(procedureXML.getBytes()); + outStream.save(); + } shell.setText("Procedure - " + fileName); saved = true; saveBtn.setEnabled(false); - if (closeAfterSave) + if (closeAfterSave) { close(); + } } catch (Exception e) { final String errMsg = "Error occurred during procedure save."; statusHandler.handle(Priority.PROBLEM, errMsg, e); diff --git a/cave/com.raytheon.uf.viz.derivparam.ui/src/com/raytheon/uf/viz/derivparam/ui/dialogs/DerivedParamWizard.java b/cave/com.raytheon.uf.viz.derivparam.ui/src/com/raytheon/uf/viz/derivparam/ui/dialogs/DerivedParamWizard.java index 0c70175d33..aa38786346 100644 --- a/cave/com.raytheon.uf.viz.derivparam.ui/src/com/raytheon/uf/viz/derivparam/ui/dialogs/DerivedParamWizard.java +++ b/cave/com.raytheon.uf.viz.derivparam.ui/src/com/raytheon/uf/viz/derivparam/ui/dialogs/DerivedParamWizard.java @@ -19,8 +19,6 @@ **/ package com.raytheon.uf.viz.derivparam.ui.dialogs; -import java.io.File; - import com.raytheon.uf.common.derivparam.library.DerivedParameterGenerator; import com.raytheon.uf.common.localization.IPathManager; import com.raytheon.uf.common.localization.LocalizationContext; @@ -28,10 +26,10 @@ 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.PathManagerFactory; +import com.raytheon.uf.common.localization.SaveableOutputStream; import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.status.UFStatus.Priority; -import com.raytheon.uf.common.util.FileUtil; import com.raytheon.uf.viz.localization.LocalizationPerspectiveUtils; import com.raytheon.uf.viz.localization.service.ILocalizationService; import com.raytheon.viz.ui.dialogs.CaveSWTWizard; @@ -47,6 +45,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTWizard; * ------------ ---------- ----------- -------------------------- * Dec 16, 2010 mschenke Initial creation * Sep 17, 2013 2285 mschenke Fixed serialization of DerivParamDesc + * Feb 12, 2016 5242 dgilling Remove calls to deprecated Localization APIs. * * * @@ -74,23 +73,6 @@ public class DerivedParamWizard extends CaveSWTWizard { addPage(newFunctionPage); } - /* - * Max, I took this out but itwill go away with the SWT Wizard stuff. - */ - - // @Override - // public void createPageControls(Composite pageContainer) { - // pageContainer.setLayout(new GridLayout(1, false)); - // pageContainer.setLayoutData(new GridData(SWT.FILL, SWT.DEFAULT, true, - // false)); - // super.createPageControls(pageContainer); - // } - - /* - * (non-Javadoc) - * - * @see org.eclipse.jface.wizard.Wizard#performFinish() - */ @Override public boolean performFinish() { IPathManager pm = PathManagerFactory.getPathManager(); @@ -102,15 +84,11 @@ public class DerivedParamWizard extends CaveSWTWizard { String fileName = newFunctionPage.getFunctionName() + "." + newFunctionPage.getSelectedFunctionType().getExtension(); String path = DerivedParameterGenerator.FUNCTIONS_DIR - + File.separator + fileName; + + IPathManager.SEPARATOR + fileName; LocalizationFile file = pm.getLocalizationFile(userCtx, path); - File f = file.getFile(); - if (f.exists()) { - f.delete(); - } - try { - FileUtil.bytes2File(functionContents.getBytes(), f); - file.save(); + try (SaveableOutputStream outStream = file.openOutputStream()) { + outStream.write(functionContents.getBytes()); + outStream.save(); functionFile = file; } catch (Exception e) { statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), @@ -123,13 +101,9 @@ public class DerivedParamWizard extends CaveSWTWizard { String path = DerivedParameterGenerator.XML_DIR + IPathManager.SEPARATOR + fileName; LocalizationFile file = pm.getLocalizationFile(userCtx, path); - File f = file.getFile(); - if (f.exists()) { - f.delete(); - } - try { - FileUtil.bytes2File(definitionContents.getBytes(), f); - file.save(); + try (SaveableOutputStream outStream = file.openOutputStream()) { + outStream.write(functionContents.getBytes()); + outStream.save(); definitionFile = file; } catch (Exception e) { statusHandler.handle(Priority.PROBLEM, e.getLocalizedMessage(), diff --git a/cave/com.raytheon.uf.viz.points/src/com/raytheon/uf/viz/points/PointsDataManager.java b/cave/com.raytheon.uf.viz.points/src/com/raytheon/uf/viz/points/PointsDataManager.java index df934acc72..b9a328aad4 100644 --- a/cave/com.raytheon.uf.viz.points/src/com/raytheon/uf/viz/points/PointsDataManager.java +++ b/cave/com.raytheon.uf.viz.points/src/com/raytheon/uf/viz/points/PointsDataManager.java @@ -22,7 +22,6 @@ package com.raytheon.uf.viz.points; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -59,6 +58,7 @@ 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.PathManagerFactory; +import com.raytheon.uf.common.localization.SaveableOutputStream; import com.raytheon.uf.common.localization.exception.LocalizationException; import com.raytheon.uf.common.status.IUFStatusHandler; import com.raytheon.uf.common.status.UFStatus; @@ -92,6 +92,7 @@ import com.vividsolutions.jts.geom.Coordinate; * Nov 12, 2015 4834 njensen Changed LocalizationOpFailedException to LocalizationException * Dec 09, 2015 4834 njensen updates for API changes to LocalizationFile * Jan 11, 2016 5242 kbisanz Replaced calls to deprecated LocalizationFile methods + * Feb 12, 2016 #5242 dgilling Remove calls to deprecated Localization APIs. * * * @@ -1043,15 +1044,12 @@ public class PointsDataManager implements ILocalizationFileObserver { } } - try { - // Must create a file in the directory to force its creation. - String p = lFile.getPath().trim() + IPathManager.SEPARATOR - + GROUP_INFO; - LocalizationFile lf = pathMgr.getLocalizationFile(userCtx, p); - OutputStream outStream = lf.openOutputStream(); + // Must create a file in the directory to force its creation. + String p = lFile.getPath().trim() + IPathManager.SEPARATOR + GROUP_INFO; + ILocalizationFile lf = pathMgr.getLocalizationFile(userCtx, p); + try (SaveableOutputStream outStream = lf.openOutputStream()) { outStream.write(gPoint.getGroup().getBytes()); - outStream.close(); - lf.save(); + outStream.save(); } catch (LocalizationException e) { statusHandler.handle(Priority.PROBLEM, "Unable to create the group: " + gPoint.getGroup(), e); @@ -1729,10 +1727,10 @@ public class PointsDataManager implements ILocalizationFileObserver { */ private void marshalPointToXmlFile(Point point, LocalizationFile lFile) throws LocalizationException, IOException { - OutputStream stream = lFile.openOutputStream(); - JAXB.marshal(point, stream); - stream.close(); - lFile.save(); + try (SaveableOutputStream outStream = lFile.openOutputStream()) { + JAXB.marshal(point, outStream); + outStream.save(); + } } /** @@ -1745,14 +1743,8 @@ public class PointsDataManager implements ILocalizationFileObserver { */ private Point unmarshalPointFromXmlFile(LocalizationFile lFile) throws LocalizationException, IOException { - InputStream stream = null; - try { - stream = lFile.openInputStream(); - return JAXB.unmarshal(stream, Point.class); - } finally { - if (stream != null) { - stream.close(); - } + try (InputStream inStream = lFile.openInputStream()) { + return JAXB.unmarshal(inStream, Point.class); } } diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ToolsDataManager.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ToolsDataManager.java index 758876b573..0b8d5798d8 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ToolsDataManager.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ToolsDataManager.java @@ -22,10 +22,11 @@ package com.raytheon.viz.awipstools; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Writer; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -45,12 +46,14 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.preference.IPersistentPreferenceStore; import com.raytheon.uf.common.localization.FileUpdatedMessage; +import com.raytheon.uf.common.localization.ILocalizationFile; import com.raytheon.uf.common.localization.ILocalizationFileObserver; import com.raytheon.uf.common.localization.IPathManager; 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.LocalizationUtil; import com.raytheon.uf.common.localization.PathManagerFactory; import com.raytheon.uf.common.localization.SaveableOutputStream; import com.raytheon.uf.common.localization.exception.LocalizationException; @@ -89,6 +92,7 @@ import com.vividsolutions.jts.geom.LineString; * Jun 03, 2014 3191 njensen Improved saving/loading storm track data * Feb 24, 2015 3978 njensen Changed to use abstract InputStream * Aug 18, 2015 3806 njensen Use SaveableOutputStream to save + * Feb 12, 2016 5242 dgilling Remove calls to deprecated Localization APIs. * * * @@ -251,7 +255,7 @@ public class ToolsDataManager implements ILocalizationFileObserver { private void loadStormData() { IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationFile f = pathMgr.getLocalizationFile( - userToolsDir.getContext(), userToolsDir.getName() + userToolsDir.getContext(), userToolsDir.getPath() + IPathManager.SEPARATOR + STORM_TRACK_FILE); if (f.exists()) { try (InputStream is = f.openInputStream()) { @@ -286,7 +290,7 @@ public class ToolsDataManager implements ILocalizationFileObserver { stormData.setDate(SimulatedTime.getSystemTime().getTime()); IPathManager pathMgr = PathManagerFactory.getPathManager(); LocalizationFile f = pathMgr.getLocalizationFile( - userToolsDir.getContext(), userToolsDir.getName() + userToolsDir.getContext(), userToolsDir.getPath() + IPathManager.SEPARATOR + STORM_TRACK_FILE); try (SaveableOutputStream sos = f.openOutputStream()) { @@ -375,46 +379,27 @@ public class ToolsDataManager implements ILocalizationFileObserver { + name + "\""); } - String fileName = userToolsDir.getName() + File.separator + String fileName = userToolsDir.getPath() + File.separator + BASELINE_PREFIX + name + BASELINE_EXT; - LocalizationFile lf = pathMgr.getLocalizationFile( + ILocalizationFile lf = pathMgr.getLocalizationFile( userToolsDir.getContext(), fileName); - File file = lf.getFile(); - - // create the local directory if necessary - if (!file.getParentFile().exists()) { - file.getParentFile().mkdirs(); - } - - BufferedWriter out = null; - try { - out = new BufferedWriter(new FileWriter(file)); - + try (SaveableOutputStream outStream = lf.openOutputStream(); + Writer out = new BufferedWriter(new OutputStreamWriter( + outStream))) { for (Coordinate point : baseline.getCoordinates()) { out.write(String.format("%f %f\n", point.y, point.x)); } + out.close(); + outStream.save(); } catch (IOException e) { - statusHandler.handle(Priority.PROBLEM, - "Error writing to file: " + file.getAbsolutePath(), + statusHandler.error("Error writing to file: " + lf, e); + } catch (LocalizationException e) { + statusHandler.error( + "Error storing localization file to server: " + lf, e); - } finally { - if (out != null) { - try { - out.close(); - lf.save(); - } catch (IOException e) { - statusHandler.handle( - Priority.PROBLEM, - "Error writing to file: " - + file.getAbsolutePath(), e); - } catch (LocalizationException e) { - statusHandler.handle(Priority.PROBLEM, - "Error storing locatization file to server: " - + lf, e); - } - } } + name = baselineStoreQueue.poll(); } return Status.OK_STATUS; @@ -467,10 +452,10 @@ public class ToolsDataManager implements ILocalizationFileObserver { baselines = new HashMap(); LocalizationFile[] files = pathMgr.listFiles(userToolsDir.getContext(), - userToolsDir.getName(), new String[] { BASELINE_EXT }, false, + userToolsDir.getPath(), new String[] { BASELINE_EXT }, false, true); for (LocalizationFile lf : files) { - String fileName = lf.getFile().getName(); + String fileName = LocalizationUtil.extractName(lf.getPath()); if (fileName.startsWith(BASELINE_PREFIX)) { LineString baseline = loadBaseline(fileName); String name = fileName.substring(BASELINE_PREFIX.length()) @@ -483,15 +468,13 @@ public class ToolsDataManager implements ILocalizationFileObserver { private LineString loadBaseline(String fileName) { LineString baseline = null; - LocalizationFile lf = pathMgr.getLocalizationFile( - userToolsDir.getContext(), userToolsDir.getName() + ILocalizationFile lf = pathMgr.getLocalizationFile( + userToolsDir.getContext(), userToolsDir.getPath() + File.separator + fileName); - File file = lf.getFile(); - - BufferedReader in = null; - try { - in = new BufferedReader(new FileReader(file)); + try (InputStream inStream = lf.openInputStream(); + BufferedReader in = new BufferedReader(new InputStreamReader( + inStream))) { List coords = new ArrayList(); String line = null; while ((line = in.readLine()) != null) { @@ -517,17 +500,9 @@ public class ToolsDataManager implements ILocalizationFileObserver { .handle(Priority.PROBLEM, "Invalid number in wfo center point file, using default", e); - } catch (IOException e) { - statusHandler.handle(Priority.PROBLEM, "Error writing to file: " - + file.getAbsolutePath(), e); - } finally { - if (in != null) { - try { - in.close(); - } catch (IOException e) { - // nothing to do - } - } + } catch (IOException | LocalizationException e) { + statusHandler.handle(Priority.PROBLEM, "Error reading from file: " + + lf, e); } return baseline; diff --git a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/action/LapsToolsIO.java b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/action/LapsToolsIO.java index 641149fa20..5d1c2b6584 100644 --- a/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/action/LapsToolsIO.java +++ b/cave/com.raytheon.viz.awipstools/src/com/raytheon/viz/awipstools/ui/action/LapsToolsIO.java @@ -5,7 +5,7 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; -import java.io.OutputStream; +import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Collection; @@ -14,23 +14,19 @@ import java.util.List; import java.util.Map; import javax.xml.bind.JAXB; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; import com.raytheon.uf.common.dataquery.requests.RequestConstraint; import com.raytheon.uf.common.geospatial.SpatialException; import com.raytheon.uf.common.geospatial.SpatialQueryFactory; import com.raytheon.uf.common.geospatial.SpatialQueryResult; +import com.raytheon.uf.common.localization.ILocalizationFile; import com.raytheon.uf.common.localization.IPathManager; 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.PathManagerFactory; +import com.raytheon.uf.common.localization.SaveableOutputStream; import com.raytheon.uf.common.localization.exception.LocalizationException; -import com.raytheon.uf.common.status.IUFStatusHandler; -import com.raytheon.uf.common.status.UFStatus; import com.raytheon.uf.common.time.SimulatedTime; import com.raytheon.uf.viz.core.exception.VizException; import com.raytheon.uf.viz.core.localization.LocalizationManager; @@ -49,6 +45,7 @@ import com.vividsolutions.jts.geom.Envelope; * ------------ ---------- ----------- -------------------------- * May 2009 # bsteffen Initial creation * Nov 2013 # mccaslin New design approach, changed from OS calls to file io, read xml code, etc + * Feb 12, 2016 5242 dgilling Remove calls to deprecated Localization APIs. * * * @@ -57,9 +54,6 @@ import com.vividsolutions.jts.geom.Envelope; */ public class LapsToolsIO { - private static final transient IUFStatusHandler statusHandler = UFStatus - .getHandler(LapsToolsIO.class); - private static final String WHATGOTIN_FILE_FRMT = "%s/%s.wgi"; private static File fxaData; @@ -139,20 +133,16 @@ public class LapsToolsIO { IPathManager pm = PathManagerFactory.getPathManager(); LocalizationContext lc = pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.SITE); - LocalizationFile xmlLocalizationFile = pm.getLocalizationFile(lc, + ILocalizationFile xmlLocalizationFile = pm.getLocalizationFile(lc, "LAPS/domain" + ".xml"); - if (!xmlLocalizationFile.exists()) + if (!xmlLocalizationFile.exists()) { return false; + } LapsDomain domain = new LapsDomain(); - try { - JAXBContext jaxbContext = JAXBContext.newInstance(LapsDomain.class); - // unmarshal XML file to java object - Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); - domain = (LapsDomain) jaxbUnmarshaller - .unmarshal(xmlLocalizationFile.getFile()); - - } catch (JAXBException e) { + try (InputStream inStream = xmlLocalizationFile.openInputStream()) { + domain = JAXB.unmarshal(inStream, LapsDomain.class); + } catch (LocalizationException e) { throw new VizException("xml is unreadable: " + e.getLocalizedMessage()); } @@ -231,7 +221,7 @@ public class LapsToolsIO { IPathManager pm = PathManagerFactory.getPathManager(); LocalizationContext lc = pm.getContext(LocalizationType.COMMON_STATIC, LocalizationLevel.USER); - LocalizationFile xmlLocalizationFile = pm.getLocalizationFile(lc, + ILocalizationFile xmlLocalizationFile = pm.getLocalizationFile(lc, "LAPS" + IPathManager.SEPARATOR + "domain.xml"); LapsDomain lapsdomain = new LapsDomain(); lapsdomain.setNx(data.getNx()); @@ -241,12 +231,10 @@ public class LapsToolsIO { lapsdomain.setGridCenLat(data.getGridCenter().y); lapsdomain.setGridCenLon(data.getGridCenter().x); // marshal java object to XML file - OutputStream stream; - try { - stream = xmlLocalizationFile.openOutputStream(); - JAXB.marshal(lapsdomain, stream); - stream.close(); - xmlLocalizationFile.save(); + try (SaveableOutputStream outStream = xmlLocalizationFile + .openOutputStream()) { + JAXB.marshal(lapsdomain, outStream); + outStream.save(); } catch (LocalizationException e) { throw new VizException("Unable to save LapsDomain to xml."); } diff --git a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/PlotModels.java b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/PlotModels.java index c6592a0d5d..7ec77eca87 100644 --- a/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/PlotModels.java +++ b/cave/com.raytheon.viz.pointdata/src/com/raytheon/viz/pointdata/PlotModels.java @@ -34,9 +34,9 @@ import com.raytheon.uf.common.dataplugin.level.Level; import com.raytheon.uf.common.dataplugin.level.LevelFactory; import com.raytheon.uf.common.dataplugin.level.mapping.LevelMapping; import com.raytheon.uf.common.dataplugin.level.mapping.LevelMappingFactory; +import com.raytheon.uf.common.localization.ILocalizationFile; import com.raytheon.uf.common.localization.IPathManager; import com.raytheon.uf.common.localization.LocalizationContext.LocalizationType; -import com.raytheon.uf.common.localization.LocalizationFile; import com.raytheon.uf.common.localization.PathManagerFactory; import com.raytheon.uf.viz.core.exception.VizException; import com.raytheon.uf.viz.core.map.MapDescriptor; @@ -57,6 +57,7 @@ import com.raytheon.viz.pointdata.util.PointDataInventory; * Jun 06, 2014 2061 bsteffen Remove old PlotResource * Sep 09, 2014 3356 njensen Remove CommunicationException * Aug 17, 2015 4717 mapeters Added null check in getLevels() + * Feb 12, 2016 5242 dgilling Remove calls to deprecated Localization APIs. * * * @@ -117,7 +118,7 @@ public class PlotModels { if (models == null) { models = new HashMap>(); IPathManager pm = PathManagerFactory.getPathManager(); - LocalizationFile[] files = pm.listFiles( + ILocalizationFile[] files = pm.listFiles( pm.getLocalSearchHierarchy(LocalizationType.CAVE_STATIC), PLOTLOCATION, new String[] { ".svg" }, true, true); @@ -128,8 +129,8 @@ public class PlotModels { throw new RuntimeException(e); } - for (LocalizationFile file : files) { - String fileName = file.getName(); + for (ILocalizationFile file : files) { + String fileName = file.getPath(); fileName = fileName.substring(PLOTLOCATION.length() + 1); try { if (!models.containsKey(fileName)) { diff --git a/cave/com.raytheon.viz.volumebrowser/src/com/raytheon/viz/volumebrowser/xml/VbSourceList.java b/cave/com.raytheon.viz.volumebrowser/src/com/raytheon/viz/volumebrowser/xml/VbSourceList.java index 5983338909..f65c188d1a 100644 --- a/cave/com.raytheon.viz.volumebrowser/src/com/raytheon/viz/volumebrowser/xml/VbSourceList.java +++ b/cave/com.raytheon.viz.volumebrowser/src/com/raytheon/viz/volumebrowser/xml/VbSourceList.java @@ -61,6 +61,7 @@ import com.raytheon.viz.volumebrowser.vbui.VBMenuBarItemsMgr.ViewMenu; * Jul 07, 2015 4641 mapeters Fix/improve comparators for VbSource sorting. * Jul 10, 2015 4641 mapeters Added check for sources with null key/category fields. * Oct 05, 2015 3861 bsteffen Remove deprecated method call on LocalizationFile + * Feb 12, 2016 5242 dgilling Remove calls to deprecated Localization APIs. * * * @@ -217,8 +218,9 @@ public class VbSourceList { return 1; } else if (n2 > n1 && Character.isDigit(s2.charAt(n1))) { return -1; - } else + } else { return Integer.valueOf(number1) - Integer.valueOf(number2); + } } return n1 - n2; } @@ -345,7 +347,7 @@ public class VbSourceList { LocalizationFile[] files = pm.listStaticFiles( "volumebrowser/VbSources", null, false, true); for (LocalizationFile file : files) { - fileNames.add(file.getName()); + fileNames.add(file.getPath()); } } else { fileNames.add(VB_SOURCE_FILE); @@ -369,7 +371,7 @@ public class VbSourceList { } catch (IOException | LocalizationException e) { statusHandler .handle(Priority.ERROR, - locFile.getName() + locFile.getPath() + " was excluded from sources menu due to error reading file."); } if (sources != null) {