From b35365b8a8b98f709759b5a76e3a1549ca0f2974 Mon Sep 17 00:00:00 2001 From: Nate Jensen Date: Wed, 1 May 2013 16:47:35 -0500 Subject: [PATCH] Issue #1967 eclipse 3.8 compatibility Change-Id: I37a42670b1fe9634b1de4b751f284971b545ac7b Former-commit-id: 6c709fa5aa71daf4af3f4a9c7f2a56e19e0b06c7 --- .../feature.xml | 36 +-- .../META-INF/MANIFEST.MF | 3 +- .../plugin.xml | 11 + .../LocalizationPerspectiveManager.java | 92 +------- .../localization/perspective/PydevSetup.java | 212 ++++++++++++++++++ .../perspective/view/FileTreeView.java | 46 ++-- .../alertviz.product | 13 +- .../feature.xml | 2 +- .../awips.product | 14 +- .../developer.product | 6 +- .../edex/database/dao/SessionManagedDao.java | 5 +- 11 files changed, 302 insertions(+), 138 deletions(-) create mode 100644 cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/PydevSetup.java diff --git a/cave/com.raytheon.uf.viz.localization.perspective.feature/feature.xml b/cave/com.raytheon.uf.viz.localization.perspective.feature/feature.xml index 5012aca769..cb2bda8d00 100644 --- a/cave/com.raytheon.uf.viz.localization.perspective.feature/feature.xml +++ b/cave/com.raytheon.uf.viz.localization.perspective.feature/feature.xml @@ -123,12 +123,6 @@ install-size="0" version="0.0.0"/> - - - - - - + + + + + + diff --git a/cave/com.raytheon.uf.viz.localization.perspective/META-INF/MANIFEST.MF b/cave/com.raytheon.uf.viz.localization.perspective/META-INF/MANIFEST.MF index 28e49a4d76..519d0190d2 100644 --- a/cave/com.raytheon.uf.viz.localization.perspective/META-INF/MANIFEST.MF +++ b/cave/com.raytheon.uf.viz.localization.perspective/META-INF/MANIFEST.MF @@ -23,6 +23,7 @@ Require-Bundle: org.python.pydev, com.raytheon.uf.common.colormap;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", - 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-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/cave/com.raytheon.uf.viz.localization.perspective/plugin.xml b/cave/com.raytheon.uf.viz.localization.perspective/plugin.xml index 27e715ee84..93f0edb48e 100644 --- a/cave/com.raytheon.uf.viz.localization.perspective/plugin.xml +++ b/cave/com.raytheon.uf.viz.localization.perspective/plugin.xml @@ -413,4 +413,15 @@ + + + + + + diff --git a/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/LocalizationPerspectiveManager.java b/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/LocalizationPerspectiveManager.java index 8963f5b0fd..1c76ff4800 100644 --- a/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/LocalizationPerspectiveManager.java +++ b/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/LocalizationPerspectiveManager.java @@ -19,30 +19,16 @@ **/ package com.raytheon.uf.viz.localization.perspective; -import java.io.File; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; -import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.jface.text.ITextSelection; import org.eclipse.swt.graphics.Point; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorReference; 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; /** @@ -56,6 +42,7 @@ import com.raytheon.viz.ui.perspectives.AbstractVizPerspectiveManager; * ------------ ---------- ----------- -------------------------- * May 18, 2010 mnash Initial creation * Nov 02, 2012 1302 djohnson Remove printStackTrace. + * May 1, 2013 1967 njensen Separated out pydev specific code * * * @@ -65,8 +52,6 @@ import com.raytheon.viz.ui.perspectives.AbstractVizPerspectiveManager; public class LocalizationPerspectiveManager extends AbstractVizPerspectiveManager { - private static final IUFStatusHandler statusHandler = UFStatus - .getHandler(LocalizationPerspectiveManager.class); /** The edit position restore map */ private final Map restoreMap = new HashMap(); @@ -83,80 +68,7 @@ public class LocalizationPerspectiveManager extends */ @Override protected void open() { - 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 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 infoList = new ArrayList(); - 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); - } + PydevSetup.preparePydev(); } @Override diff --git a/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/PydevSetup.java b/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/PydevSetup.java new file mode 100644 index 0000000000..718369013c --- /dev/null +++ b/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/PydevSetup.java @@ -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. + * + *
+ * 
+ * SOFTWARE HISTORY
+ * 
+ * Date         Ticket#    Engineer    Description
+ * ------------ ---------- ----------- --------------------------
+ * May 1, 2013    1967    njensen     Initial creation
+ * 
+ * 
+ * + * @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 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"); + } + +} diff --git a/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/view/FileTreeView.java b/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/view/FileTreeView.java index b605755bfa..73699f3b3a 100644 --- a/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/view/FileTreeView.java +++ b/cave/com.raytheon.uf.viz.localization.perspective/src/com/raytheon/uf/viz/localization/perspective/view/FileTreeView.java @@ -132,6 +132,7 @@ import com.raytheon.uf.viz.localization.service.ILocalizationService; * May 26, 2010 mnash Initial creation * Feb 13, 2013 1610 mschenke Fixed null pointer by repopulating LocalizationFileGroupData * objects even if they weren't expanded + * May 1st, 2013 1967 njensen Fix for pydev 2.7 * * * @@ -1235,7 +1236,8 @@ public class FileTreeView extends ViewPart implements IPartListener2, IFolder folder = (IFolder) parentData.getResource(); IResource rsc = null; if (file != null) { - rsc = folder.getFile(fileItem.getText() + " - " + rsc = folder.getFile(file.getContext().getLocalizationLevel() + "_" + + file.getContext().getContextName() + "_" + parentItem.getText()); } else { rsc = createFolder(folder, fileItem.getText()); @@ -1423,26 +1425,30 @@ public class FileTreeView extends ViewPart implements IPartListener2, @Override public void resourceChanged(IResourceChangeEvent event) { for (IEditorReference ref : getSite().getPage().getEditorReferences()) { - IEditorInput editorInput = ref.getEditor(false).getEditorInput(); - if (editorInput instanceof LocalizationEditorInput) { - LocalizationEditorInput input = (LocalizationEditorInput) editorInput; - IFile inputFile = input.getFile(); - IResourceDelta rootDelta = event.getDelta(); - IResourceDelta docDelta = rootDelta.findMember(inputFile - .getFullPath()); - if (docDelta != null - && docDelta.getKind() == IResourceDelta.CHANGED - && (docDelta.getFlags() & IResourceDelta.CONTENT) == IResourceDelta.CONTENT) { - try { - LocalizationFile file = input.getLocalizationFile(); - if (file.getContext().getLocalizationLevel() - .isSystemLevel() == false) { - input.getLocalizationFile().save(); + IEditorPart part = ref.getEditor(false); + if (part != null) { + IEditorInput editorInput = part.getEditorInput(); + if (editorInput instanceof LocalizationEditorInput) { + LocalizationEditorInput input = (LocalizationEditorInput) editorInput; + IFile inputFile = input.getFile(); + IResourceDelta rootDelta = event.getDelta(); + IResourceDelta docDelta = rootDelta.findMember(inputFile + .getFullPath()); + if (docDelta != null + && docDelta.getKind() == IResourceDelta.CHANGED + && (docDelta.getFlags() & IResourceDelta.CONTENT) == IResourceDelta.CONTENT) { + try { + LocalizationFile file = input.getLocalizationFile(); + 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); } } } diff --git a/cave/com.raytheon.uf.viz.product.alertviz/alertviz.product b/cave/com.raytheon.uf.viz.product.alertviz/alertviz.product index 22fe0dfd63..f27bbd425f 100644 --- a/cave/com.raytheon.uf.viz.product.alertviz/alertviz.product +++ b/cave/com.raytheon.uf.viz.product.alertviz/alertviz.product @@ -20,7 +20,18 @@ Developed on the Raytheon Visualization Environment (viz) -data @user.home/caveData -user @user.home/caveData -clean -consoleLog - -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 + -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 diff --git a/cave/com.raytheon.viz.feature.awips/feature.xml b/cave/com.raytheon.viz.feature.awips/feature.xml index 21adf22e07..f377d7db94 100644 --- a/cave/com.raytheon.viz.feature.awips/feature.xml +++ b/cave/com.raytheon.viz.feature.awips/feature.xml @@ -219,7 +219,7 @@ unpack="false"/> -data @user.home/caveData -user @user.home/caveData -clean -consoleLog -Xincgc -Dosgi.instance.area.readOnly=true --Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook,org.eclipse.core.runtime.internal.adaptor.EclipseErrorHandler --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 +-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 +-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 -Xmx1280M -Dfile.encoding=UTF-8 -Xmx768M diff --git a/cave/com.raytheon.viz.product.awips/developer.product b/cave/com.raytheon.viz.product.awips/developer.product index 5af9bf8c5d..ff80a15d6c 100644 --- a/cave/com.raytheon.viz.product.awips/developer.product +++ b/cave/com.raytheon.viz.product.awips/developer.product @@ -15,12 +15,12 @@ -data @user.home/caveData -user @user.home/caveData -clean -consoleLog -alertviz - -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 + -Xincgc -Xmx1024M -Dosgi.instance.area.readOnly=true +-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 +-Dqpid.dest_syntax=BURL -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false diff --git a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/dao/SessionManagedDao.java b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/dao/SessionManagedDao.java index 73a43db7c3..9b0b79a025 100644 --- a/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/dao/SessionManagedDao.java +++ b/edexOsgi/com.raytheon.uf.edex.database/src/com/raytheon/uf/edex/database/dao/SessionManagedDao.java @@ -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/27/2013 1802 bphillip Changed transaction propagation of 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 * * * @@ -195,7 +196,7 @@ public abstract class SessionManagedDao query(String queryString, int maxResults, + public List query(String queryString, Integer maxResults, Object... params) { return executeHQLQuery(queryString, maxResults, params); @@ -264,7 +265,7 @@ public abstract class SessionManagedDao List executeHQLQuery(final String queryString, - int maxResults, Object... params) { + Integer maxResults, Object... params) { if (params.length % 2 != 0) { throw new IllegalArgumentException( "Wrong number of arguments submitted to executeHQLQuery.");