Issue #1967 eclipse 3.8 compatibility
Change-Id: I37a42670b1fe9634b1de4b751f284971b545ac7b Former-commit-id: 6c709fa5aa71daf4af3f4a9c7f2a56e19e0b06c7
This commit is contained in:
parent
75a499f802
commit
b35365b8a8
11 changed files with 302 additions and 138 deletions
|
@ -123,12 +123,6 @@
|
||||||
install-size="0"
|
install-size="0"
|
||||||
version="0.0.0"/>
|
version="0.0.0"/>
|
||||||
|
|
||||||
<plugin
|
|
||||||
id="com.python.pydev.debug"
|
|
||||||
download-size="0"
|
|
||||||
install-size="0"
|
|
||||||
version="0.0.0"/>
|
|
||||||
|
|
||||||
<plugin
|
<plugin
|
||||||
id="com.python.pydev.fastparser"
|
id="com.python.pydev.fastparser"
|
||||||
download-size="0"
|
download-size="0"
|
||||||
|
@ -171,12 +165,6 @@
|
||||||
install-size="0"
|
install-size="0"
|
||||||
version="0.0.0"/>
|
version="0.0.0"/>
|
||||||
|
|
||||||
<plugin
|
|
||||||
id="org.python.pydev.django"
|
|
||||||
download-size="0"
|
|
||||||
install-size="0"
|
|
||||||
version="0.0.0"/>
|
|
||||||
|
|
||||||
<plugin
|
<plugin
|
||||||
id="org.python.pydev.help"
|
id="org.python.pydev.help"
|
||||||
download-size="0"
|
download-size="0"
|
||||||
|
@ -195,12 +183,6 @@
|
||||||
install-size="0"
|
install-size="0"
|
||||||
version="0.0.0"/>
|
version="0.0.0"/>
|
||||||
|
|
||||||
<plugin
|
|
||||||
id="org.python.pydev.red_core"
|
|
||||||
download-size="0"
|
|
||||||
install-size="0"
|
|
||||||
version="0.0.0"/>
|
|
||||||
|
|
||||||
<plugin
|
<plugin
|
||||||
id="org.python.pydev.refactoring"
|
id="org.python.pydev.refactoring"
|
||||||
download-size="0"
|
download-size="0"
|
||||||
|
@ -361,4 +343,22 @@
|
||||||
version="0.0.0"
|
version="0.0.0"
|
||||||
unpack="false"/>
|
unpack="false"/>
|
||||||
|
|
||||||
|
<plugin
|
||||||
|
id="org.python.pydev.shared_core"
|
||||||
|
download-size="0"
|
||||||
|
install-size="0"
|
||||||
|
version="0.0.0"/>
|
||||||
|
|
||||||
|
<plugin
|
||||||
|
id="org.python.pydev.shared_interactive_console"
|
||||||
|
download-size="0"
|
||||||
|
install-size="0"
|
||||||
|
version="0.0.0"/>
|
||||||
|
|
||||||
|
<plugin
|
||||||
|
id="org.python.pydev.shared_ui"
|
||||||
|
download-size="0"
|
||||||
|
install-size="0"
|
||||||
|
version="0.0.0"/>
|
||||||
|
|
||||||
</feature>
|
</feature>
|
||||||
|
|
|
@ -23,6 +23,7 @@ Require-Bundle: org.python.pydev,
|
||||||
com.raytheon.uf.common.colormap;bundle-version="1.12.1174",
|
com.raytheon.uf.common.colormap;bundle-version="1.12.1174",
|
||||||
com.raytheon.uf.viz.localization;bundle-version="1.12.1174",
|
com.raytheon.uf.viz.localization;bundle-version="1.12.1174",
|
||||||
org.eclipse.equinox.p2.director.app;bundle-version="1.0.201",
|
org.eclipse.equinox.p2.director.app;bundle-version="1.0.201",
|
||||||
com.raytheon.uf.common.util;bundle-version="1.12.1174"
|
com.raytheon.uf.common.util;bundle-version="1.12.1174",
|
||||||
|
com.python.pydev.analysis;bundle-version="2.7.3"
|
||||||
Bundle-ActivationPolicy: lazy
|
Bundle-ActivationPolicy: lazy
|
||||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
|
||||||
|
|
|
@ -413,4 +413,15 @@
|
||||||
</activeWhen>
|
</activeWhen>
|
||||||
</handler>
|
</handler>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension
|
||||||
|
point="org.eclipse.ui.activities">
|
||||||
|
<activity
|
||||||
|
id="com.raytheon.uf.viz.localization.perspective.stopPydev"
|
||||||
|
name="com.raytheon.uf.viz.localization.perspective.stopPydev">
|
||||||
|
</activity>
|
||||||
|
<activityPatternBinding
|
||||||
|
activityId="com.raytheon.uf.viz.localization.perspective.stopPydev"
|
||||||
|
pattern="org.python.pydev.debug.*">
|
||||||
|
</activityPatternBinding>
|
||||||
|
</extension>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -19,30 +19,16 @@
|
||||||
**/
|
**/
|
||||||
package com.raytheon.uf.viz.localization.perspective;
|
package com.raytheon.uf.viz.localization.perspective;
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
|
||||||
import org.eclipse.jface.text.ITextSelection;
|
import org.eclipse.jface.text.ITextSelection;
|
||||||
import org.eclipse.swt.graphics.Point;
|
import org.eclipse.swt.graphics.Point;
|
||||||
import org.eclipse.ui.IEditorInput;
|
import org.eclipse.ui.IEditorInput;
|
||||||
import org.eclipse.ui.IEditorPart;
|
import org.eclipse.ui.IEditorPart;
|
||||||
import org.eclipse.ui.IEditorReference;
|
import org.eclipse.ui.IEditorReference;
|
||||||
import org.eclipse.ui.texteditor.ITextEditor;
|
import org.eclipse.ui.texteditor.ITextEditor;
|
||||||
import org.python.pydev.core.IInterpreterInfo;
|
|
||||||
import org.python.pydev.core.IInterpreterManager;
|
|
||||||
import org.python.pydev.core.REF;
|
|
||||||
import org.python.pydev.core.Tuple;
|
|
||||||
import org.python.pydev.plugin.PydevPlugin;
|
|
||||||
import org.python.pydev.runners.SimplePythonRunner;
|
|
||||||
import org.python.pydev.ui.pythonpathconf.InterpreterInfo;
|
|
||||||
|
|
||||||
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.viz.ui.perspectives.AbstractVizPerspectiveManager;
|
import com.raytheon.viz.ui.perspectives.AbstractVizPerspectiveManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -56,6 +42,7 @@ import com.raytheon.viz.ui.perspectives.AbstractVizPerspectiveManager;
|
||||||
* ------------ ---------- ----------- --------------------------
|
* ------------ ---------- ----------- --------------------------
|
||||||
* May 18, 2010 mnash Initial creation
|
* May 18, 2010 mnash Initial creation
|
||||||
* Nov 02, 2012 1302 djohnson Remove printStackTrace.
|
* Nov 02, 2012 1302 djohnson Remove printStackTrace.
|
||||||
|
* May 1, 2013 1967 njensen Separated out pydev specific code
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -65,8 +52,6 @@ import com.raytheon.viz.ui.perspectives.AbstractVizPerspectiveManager;
|
||||||
|
|
||||||
public class LocalizationPerspectiveManager extends
|
public class LocalizationPerspectiveManager extends
|
||||||
AbstractVizPerspectiveManager {
|
AbstractVizPerspectiveManager {
|
||||||
private static final IUFStatusHandler statusHandler = UFStatus
|
|
||||||
.getHandler(LocalizationPerspectiveManager.class);
|
|
||||||
|
|
||||||
/** The edit position restore map */
|
/** The edit position restore map */
|
||||||
private final Map<IEditorInput, Point> restoreMap = new HashMap<IEditorInput, Point>();
|
private final Map<IEditorInput, Point> restoreMap = new HashMap<IEditorInput, Point>();
|
||||||
|
@ -83,80 +68,7 @@ public class LocalizationPerspectiveManager extends
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void open() {
|
protected void open() {
|
||||||
try {
|
PydevSetup.preparePydev();
|
||||||
// Attempt the initialization twice before reporting errors,
|
|
||||||
// sometimes it can fail unexpectedly and recover a second time.
|
|
||||||
// Goal is to auto setup python interpreter to use for editing
|
|
||||||
// python files
|
|
||||||
for (int i = 0; i < 2; ++i) {
|
|
||||||
boolean retry = i > 0;
|
|
||||||
// Setup python environment for pydev
|
|
||||||
IInterpreterManager mgr = PydevPlugin
|
|
||||||
.getPythonInterpreterManager();
|
|
||||||
String persistedStr = mgr.getPersistedString();
|
|
||||||
if ((persistedStr == null) || "".equals(persistedStr.trim())) {
|
|
||||||
IInterpreterInfo iinfo = null;
|
|
||||||
String pathToFile = null;
|
|
||||||
String LD_PATH = System.getenv("PATH");
|
|
||||||
String[] folders = LD_PATH.split(File.pathSeparator); // Win32
|
|
||||||
for (String folder : folders) {
|
|
||||||
File python = new File(folder, "python");
|
|
||||||
if (python.exists() && python.isFile()
|
|
||||||
&& python.canExecute()) {
|
|
||||||
pathToFile = python.getAbsolutePath();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pathToFile != null) {
|
|
||||||
try {
|
|
||||||
// Taken from pydev source to get rid of UI prompt
|
|
||||||
File script = PydevPlugin
|
|
||||||
.getScriptWithinPySrc("interpreterInfo.py");
|
|
||||||
Tuple<String, String> outTup = new SimplePythonRunner()
|
|
||||||
.runAndGetOutputWithInterpreter(pathToFile,
|
|
||||||
REF.getFileAbsolutePath(script),
|
|
||||||
null, null, null,
|
|
||||||
new NullProgressMonitor());
|
|
||||||
iinfo = InterpreterInfo
|
|
||||||
.fromString(outTup.o1, false);
|
|
||||||
// end taken
|
|
||||||
} catch (Throwable e) {
|
|
||||||
if (retry) {
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (iinfo == null) {
|
|
||||||
if (retry) {
|
|
||||||
throw new Exception(
|
|
||||||
"Could not generate python info, python editors may not function 100%");
|
|
||||||
} else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mgr.setPersistedString(iinfo.toString());
|
|
||||||
List<IInterpreterInfo> infoList = new ArrayList<IInterpreterInfo>();
|
|
||||||
infoList.add(iinfo);
|
|
||||||
mgr.setInfos(infoList);
|
|
||||||
} else {
|
|
||||||
if (retry) {
|
|
||||||
throw new Exception(
|
|
||||||
"Could not find python on PATH, be sure to set environment variable");
|
|
||||||
} else {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// We made it here? success!
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
} catch (Throwable t) {
|
|
||||||
statusHandler.handle(
|
|
||||||
Priority.PROBLEM,
|
|
||||||
"Error setting up python interpreter: "
|
|
||||||
+ t.getLocalizedMessage(), t);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -0,0 +1,212 @@
|
||||||
|
/**
|
||||||
|
* 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.localization.perspective;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import org.eclipse.core.runtime.IPath;
|
||||||
|
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
|
import org.eclipse.jface.preference.IPreferenceStore;
|
||||||
|
import org.python.pydev.core.IInterpreterInfo;
|
||||||
|
import org.python.pydev.core.IInterpreterManager;
|
||||||
|
import org.python.pydev.core.docutils.StringUtils;
|
||||||
|
import org.python.pydev.editor.PydevShowBrowserMessage;
|
||||||
|
import org.python.pydev.plugin.PydevPlugin;
|
||||||
|
import org.python.pydev.runners.SimplePythonRunner;
|
||||||
|
import org.python.pydev.shared_core.structure.Tuple;
|
||||||
|
import org.python.pydev.ui.pythonpathconf.InterpreterInfo;
|
||||||
|
|
||||||
|
import com.python.pydev.analysis.AnalysisPlugin;
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Utilities that configure pydev to work properly in the Viz Localization
|
||||||
|
* Perspective. Works around deficiencies in the pydev code.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
*
|
||||||
|
* SOFTWARE HISTORY
|
||||||
|
*
|
||||||
|
* Date Ticket# Engineer Description
|
||||||
|
* ------------ ---------- ----------- --------------------------
|
||||||
|
* May 1, 2013 1967 njensen Initial creation
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @author njensen
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class PydevSetup {
|
||||||
|
|
||||||
|
private static final IUFStatusHandler statusHandler = UFStatus
|
||||||
|
.getHandler(PydevSetup.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prepares pydev to be used in the localization perspective with as few
|
||||||
|
* annoyances as possible.
|
||||||
|
*/
|
||||||
|
public static void preparePydev() {
|
||||||
|
preventFundingPopup();
|
||||||
|
initializeInterpreter();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Attempts to initialize the python interpreter based on the PATH
|
||||||
|
* environment, saving the user the trouble of initializing it through the
|
||||||
|
* preference page.
|
||||||
|
*/
|
||||||
|
public static void initializeInterpreter() {
|
||||||
|
try {
|
||||||
|
// Attempt the initialization twice before reporting errors,
|
||||||
|
// sometimes it can fail unexpectedly and recover a second time.
|
||||||
|
// Goal is to auto setup python interpreter to use for editing
|
||||||
|
// python files
|
||||||
|
for (int i = 0; i < 2; ++i) {
|
||||||
|
boolean retry = i > 0;
|
||||||
|
// Setup python environment for pydev
|
||||||
|
IInterpreterManager mgr = PydevPlugin
|
||||||
|
.getPythonInterpreterManager();
|
||||||
|
String persistedStr = mgr.getPersistedString();
|
||||||
|
if ((persistedStr == null) || "".equals(persistedStr.trim())) {
|
||||||
|
IInterpreterInfo iinfo = null;
|
||||||
|
String pathToFile = null;
|
||||||
|
String LD_PATH = System.getenv("PATH");
|
||||||
|
String[] folders = LD_PATH.split(File.pathSeparator); // Win32
|
||||||
|
for (String folder : folders) {
|
||||||
|
File python = new File(folder, "python");
|
||||||
|
if (python.exists() && python.isFile()
|
||||||
|
&& python.canExecute()) {
|
||||||
|
pathToFile = python.getAbsolutePath();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pathToFile != null) {
|
||||||
|
try {
|
||||||
|
// Taken from pydev source to get rid of UI prompt
|
||||||
|
File script = PydevPlugin
|
||||||
|
.getScriptWithinPySrc("interpreterInfo.py");
|
||||||
|
Tuple<String, String> outTup = new SimplePythonRunner()
|
||||||
|
.runAndGetOutputWithInterpreter(pathToFile,
|
||||||
|
script.getAbsolutePath(), null,
|
||||||
|
null, null,
|
||||||
|
new NullProgressMonitor(), null);
|
||||||
|
iinfo = InterpreterInfo
|
||||||
|
.fromString(outTup.o1, false);
|
||||||
|
// end taken
|
||||||
|
} catch (Throwable e) {
|
||||||
|
if (retry) {
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (iinfo == null) {
|
||||||
|
if (retry) {
|
||||||
|
throw new Exception(
|
||||||
|
"Could not generate python info, python editors may not function 100%");
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
IInterpreterInfo[] infoList = new IInterpreterInfo[] { iinfo };
|
||||||
|
setupStupidFile(mgr, iinfo);
|
||||||
|
mgr.setInfos(infoList, null, null);
|
||||||
|
} else {
|
||||||
|
if (retry) {
|
||||||
|
throw new Exception(
|
||||||
|
"Could not find python on PATH, be sure to set environment variable");
|
||||||
|
} else {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// We made it here? success!
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (Throwable t) {
|
||||||
|
statusHandler.handle(
|
||||||
|
Priority.PROBLEM,
|
||||||
|
"Error setting up python interpreter: "
|
||||||
|
+ t.getLocalizedMessage(), t);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initializes a file to prevent pydev from sending out an error message
|
||||||
|
* that is not actually an error. Pydev looks for a particular file and if
|
||||||
|
* it does not exist, sends an error. However, if the file exists but has
|
||||||
|
* the wrong contents, it only sends out an info. Either way, pydev
|
||||||
|
* continues on and takes care of things, so the error message is useless.
|
||||||
|
* This code is derived from pydev's AdditionalSystemInterpreterInfo
|
||||||
|
* constructor.
|
||||||
|
*
|
||||||
|
* @param manager
|
||||||
|
* @param info
|
||||||
|
*/
|
||||||
|
private static void setupStupidFile(IInterpreterManager manager,
|
||||||
|
IInterpreterInfo info) {
|
||||||
|
try {
|
||||||
|
File base = null;
|
||||||
|
IPath stateLocation = AnalysisPlugin.getDefault()
|
||||||
|
.getStateLocation();
|
||||||
|
base = stateLocation.toFile();
|
||||||
|
|
||||||
|
String additionalInfoInterpreter = info.getExecutableOrJar();
|
||||||
|
File file = new File(
|
||||||
|
base,
|
||||||
|
manager.getManagerRelatedName()
|
||||||
|
+ "_"
|
||||||
|
+ StringUtils
|
||||||
|
.getExeAsFileSystemValidPath(additionalInfoInterpreter));
|
||||||
|
|
||||||
|
if (!file.exists()) {
|
||||||
|
file.mkdirs();
|
||||||
|
|
||||||
|
File persistingFolder = file;
|
||||||
|
File persistingLocation = new File(persistingFolder,
|
||||||
|
manager.getManagerRelatedName() + ".pydevsysteminfo");
|
||||||
|
FileUtil.bytes2File(new byte[0], persistingLocation);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
// no need to log this notably since this whole method only exists
|
||||||
|
// to prevent a stupid error message from being seen
|
||||||
|
statusHandler.debug(e.getLocalizedMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the preference value to prevent pydev from popping up the dialog
|
||||||
|
* that requests money for the developer's personal projects
|
||||||
|
*/
|
||||||
|
public static void preventFundingPopup() {
|
||||||
|
IPreferenceStore pydevPrefStore = PydevPlugin.getDefault()
|
||||||
|
.getPreferenceStore();
|
||||||
|
pydevPrefStore.setValue(PydevShowBrowserMessage.PYDEV_FUNDING_SHOWN,
|
||||||
|
"true");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -132,6 +132,7 @@ import com.raytheon.uf.viz.localization.service.ILocalizationService;
|
||||||
* May 26, 2010 mnash Initial creation
|
* May 26, 2010 mnash Initial creation
|
||||||
* Feb 13, 2013 1610 mschenke Fixed null pointer by repopulating LocalizationFileGroupData
|
* Feb 13, 2013 1610 mschenke Fixed null pointer by repopulating LocalizationFileGroupData
|
||||||
* objects even if they weren't expanded
|
* objects even if they weren't expanded
|
||||||
|
* May 1st, 2013 1967 njensen Fix for pydev 2.7
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -1235,7 +1236,8 @@ public class FileTreeView extends ViewPart implements IPartListener2,
|
||||||
IFolder folder = (IFolder) parentData.getResource();
|
IFolder folder = (IFolder) parentData.getResource();
|
||||||
IResource rsc = null;
|
IResource rsc = null;
|
||||||
if (file != null) {
|
if (file != null) {
|
||||||
rsc = folder.getFile(fileItem.getText() + " - "
|
rsc = folder.getFile(file.getContext().getLocalizationLevel() + "_"
|
||||||
|
+ file.getContext().getContextName() + "_"
|
||||||
+ parentItem.getText());
|
+ parentItem.getText());
|
||||||
} else {
|
} else {
|
||||||
rsc = createFolder(folder, fileItem.getText());
|
rsc = createFolder(folder, fileItem.getText());
|
||||||
|
@ -1423,26 +1425,30 @@ public class FileTreeView extends ViewPart implements IPartListener2,
|
||||||
@Override
|
@Override
|
||||||
public void resourceChanged(IResourceChangeEvent event) {
|
public void resourceChanged(IResourceChangeEvent event) {
|
||||||
for (IEditorReference ref : getSite().getPage().getEditorReferences()) {
|
for (IEditorReference ref : getSite().getPage().getEditorReferences()) {
|
||||||
IEditorInput editorInput = ref.getEditor(false).getEditorInput();
|
IEditorPart part = ref.getEditor(false);
|
||||||
if (editorInput instanceof LocalizationEditorInput) {
|
if (part != null) {
|
||||||
LocalizationEditorInput input = (LocalizationEditorInput) editorInput;
|
IEditorInput editorInput = part.getEditorInput();
|
||||||
IFile inputFile = input.getFile();
|
if (editorInput instanceof LocalizationEditorInput) {
|
||||||
IResourceDelta rootDelta = event.getDelta();
|
LocalizationEditorInput input = (LocalizationEditorInput) editorInput;
|
||||||
IResourceDelta docDelta = rootDelta.findMember(inputFile
|
IFile inputFile = input.getFile();
|
||||||
.getFullPath());
|
IResourceDelta rootDelta = event.getDelta();
|
||||||
if (docDelta != null
|
IResourceDelta docDelta = rootDelta.findMember(inputFile
|
||||||
&& docDelta.getKind() == IResourceDelta.CHANGED
|
.getFullPath());
|
||||||
&& (docDelta.getFlags() & IResourceDelta.CONTENT) == IResourceDelta.CONTENT) {
|
if (docDelta != null
|
||||||
try {
|
&& docDelta.getKind() == IResourceDelta.CHANGED
|
||||||
LocalizationFile file = input.getLocalizationFile();
|
&& (docDelta.getFlags() & IResourceDelta.CONTENT) == IResourceDelta.CONTENT) {
|
||||||
if (file.getContext().getLocalizationLevel()
|
try {
|
||||||
.isSystemLevel() == false) {
|
LocalizationFile file = input.getLocalizationFile();
|
||||||
input.getLocalizationFile().save();
|
if (file.getContext().getLocalizationLevel()
|
||||||
|
.isSystemLevel() == false) {
|
||||||
|
input.getLocalizationFile().save();
|
||||||
|
}
|
||||||
|
} catch (LocalizationOpFailedException e) {
|
||||||
|
statusHandler.handle(
|
||||||
|
Priority.PROBLEM,
|
||||||
|
"Error saving file: "
|
||||||
|
+ e.getLocalizedMessage(), e);
|
||||||
}
|
}
|
||||||
} catch (LocalizationOpFailedException e) {
|
|
||||||
statusHandler
|
|
||||||
.handle(Priority.PROBLEM, "Error saving file: "
|
|
||||||
+ e.getLocalizedMessage(), e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,18 @@ Developed on the Raytheon Visualization Environment (viz)
|
||||||
<launcherArgs>
|
<launcherArgs>
|
||||||
<programArgs>-data @user.home/caveData -user @user.home/caveData -clean</programArgs>
|
<programArgs>-data @user.home/caveData -user @user.home/caveData -clean</programArgs>
|
||||||
<programArgsLin>-consoleLog</programArgsLin>
|
<programArgsLin>-consoleLog</programArgsLin>
|
||||||
<vmArgs>-Xincgc -Xms16M -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 -Dlog4j.configuration=log4j-alertviz.xml</vmArgs>
|
<vmArgs>-Xincgc -Xms16M -Xmx256M -Xss2024k
|
||||||
|
-Dosgi.instance.area.readOnly=true
|
||||||
|
-Declipse.log.enabled=false
|
||||||
|
-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
|
||||||
|
-Dqpid.dest_syntax=BURL
|
||||||
|
-Dcom.sun.management.jmxremote.authenticate=false
|
||||||
|
-Dcom.sun.management.jmxremote.ssl=false
|
||||||
|
-Dlog4j.configuration=log4j-alertviz.xml</vmArgs>
|
||||||
</launcherArgs>
|
</launcherArgs>
|
||||||
|
|
||||||
<windowImages/>
|
<windowImages/>
|
||||||
|
|
|
@ -219,7 +219,7 @@
|
||||||
unpack="false"/>
|
unpack="false"/>
|
||||||
|
|
||||||
<plugin
|
<plugin
|
||||||
id="org.eclipse.equinox.p2.metadata.generator"
|
id="org.eclipse.equinox.p2.publisher.eclipse"
|
||||||
download-size="0"
|
download-size="0"
|
||||||
install-size="0"
|
install-size="0"
|
||||||
version="0.0.0"
|
version="0.0.0"
|
||||||
|
|
|
@ -17,8 +17,18 @@
|
||||||
<programArgs>-data @user.home/caveData -user @user.home/caveData -clean</programArgs>
|
<programArgs>-data @user.home/caveData -user @user.home/caveData -clean</programArgs>
|
||||||
<programArgsLin>-consoleLog</programArgsLin>
|
<programArgsLin>-consoleLog</programArgsLin>
|
||||||
<vmArgs>-Xincgc -Dosgi.instance.area.readOnly=true
|
<vmArgs>-Xincgc -Dosgi.instance.area.readOnly=true
|
||||||
-Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook,org.eclipse.core.runtime.internal.adaptor.EclipseErrorHandler
|
-Declipse.log.enabled=false
|
||||||
-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -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 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -XX:OnOutOfMemoryError="capture -t no -p $pid &" -Dlog4j.configuration=log4j-viz-core.xml</vmArgs>
|
-XX:+UnlockDiagnosticVMOptions
|
||||||
|
-XX:+UnsyncloadClass
|
||||||
|
-Dorg.eclipse.update.reconcile=false
|
||||||
|
-XX:MaxPermSize=128m
|
||||||
|
-Dorg.eclipse.ui/KEY_CONFIGURATION_ID=com.raytheon.viz.ui.awips.scheme
|
||||||
|
-Dqpid.dest_syntax=BURL
|
||||||
|
-Dcom.sun.management.jmxremote
|
||||||
|
-Dcom.sun.management.jmxremote.authenticate=false
|
||||||
|
-Dcom.sun.management.jmxremote.ssl=false
|
||||||
|
-XX:OnOutOfMemoryError="capture -t no -p $pid &"
|
||||||
|
-Dlog4j.configuration=log4j-viz-core.xml</vmArgs>
|
||||||
<vmArgsLin>-Xmx1280M</vmArgsLin>
|
<vmArgsLin>-Xmx1280M</vmArgsLin>
|
||||||
<vmArgsWin>-Dfile.encoding=UTF-8 -Xmx768M</vmArgsWin>
|
<vmArgsWin>-Dfile.encoding=UTF-8 -Xmx768M</vmArgsWin>
|
||||||
</launcherArgs>
|
</launcherArgs>
|
||||||
|
|
|
@ -15,12 +15,12 @@
|
||||||
|
|
||||||
<launcherArgs>
|
<launcherArgs>
|
||||||
<programArgs>-data @user.home/caveData -user @user.home/caveData -clean -consoleLog -alertviz</programArgs>
|
<programArgs>-data @user.home/caveData -user @user.home/caveData -clean -consoleLog -alertviz</programArgs>
|
||||||
<vmArgs>-Xincgc -Xmx1024M -Dosgi.instance.area.readOnly=true
|
<vmArgs>-Xincgc -Xmx1024M -Dosgi.instance.area.readOnly=true
|
||||||
-Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook,org.eclipse.core.runtime.internal.adaptor.EclipseErrorHandler
|
-Declipse.log.enabled=false
|
||||||
-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass
|
-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass
|
||||||
-Dorg.eclipse.update.reconcile=false -XX:MaxPermSize=128m
|
-Dorg.eclipse.update.reconcile=false -XX:MaxPermSize=128m
|
||||||
-Dorg.eclipse.ui/KEY_CONFIGURATION_ID=com.raytheon.viz.ui.awips.scheme
|
-Dorg.eclipse.ui/KEY_CONFIGURATION_ID=com.raytheon.viz.ui.awips.scheme
|
||||||
-Dawips.mode=pypies -Dqpid.dest_syntax=BURL
|
-Dqpid.dest_syntax=BURL
|
||||||
-Dcom.sun.management.jmxremote
|
-Dcom.sun.management.jmxremote
|
||||||
-Dcom.sun.management.jmxremote.authenticate=false
|
-Dcom.sun.management.jmxremote.authenticate=false
|
||||||
-Dcom.sun.management.jmxremote.ssl=false
|
-Dcom.sun.management.jmxremote.ssl=false
|
||||||
|
|
|
@ -58,6 +58,7 @@ import com.raytheon.uf.edex.database.DataAccessLayerException;
|
||||||
* 3/18/2013 1802 bphillip Added additional database functions. Enforcing mandatory transaction propogation
|
* 3/18/2013 1802 bphillip Added additional database functions. Enforcing mandatory transaction propogation
|
||||||
* 3/27/2013 1802 bphillip Changed transaction propagation of query methods
|
* 3/27/2013 1802 bphillip Changed transaction propagation of query methods
|
||||||
* 4/9/2013 1802 bphillip Modified how arguments are passed in to query methods
|
* 4/9/2013 1802 bphillip Modified how arguments are passed in to query methods
|
||||||
|
* May 1st, 2013 1967 njensen Fixed autoboxing for Eclipse 3.8
|
||||||
*
|
*
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
|
@ -195,7 +196,7 @@ public abstract class SessionManagedDao<IDENTIFIER extends Serializable, ENTITY
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(propagation = Propagation.REQUIRED)
|
@Transactional(propagation = Propagation.REQUIRED)
|
||||||
public List<ENTITY> query(String queryString, int maxResults,
|
public List<ENTITY> query(String queryString, Integer maxResults,
|
||||||
Object... params) {
|
Object... params) {
|
||||||
return executeHQLQuery(queryString, maxResults, params);
|
return executeHQLQuery(queryString, maxResults, params);
|
||||||
|
|
||||||
|
@ -264,7 +265,7 @@ public abstract class SessionManagedDao<IDENTIFIER extends Serializable, ENTITY
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@Transactional(propagation = Propagation.REQUIRED)
|
@Transactional(propagation = Propagation.REQUIRED)
|
||||||
public <T extends Object> List<T> executeHQLQuery(final String queryString,
|
public <T extends Object> List<T> executeHQLQuery(final String queryString,
|
||||||
int maxResults, Object... params) {
|
Integer maxResults, Object... params) {
|
||||||
if (params.length % 2 != 0) {
|
if (params.length % 2 != 0) {
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
"Wrong number of arguments submitted to executeHQLQuery.");
|
"Wrong number of arguments submitted to executeHQLQuery.");
|
||||||
|
|
Loading…
Add table
Reference in a new issue