[jbosstools-commits] JBoss Tools SVN: r7033 - trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Mar 20 05:40:52 EDT 2008


Author: dgeraskov
Date: 2008-03-20 05:40:52 -0400 (Thu, 20 Mar 2008)
New Revision: 7033

Added:
   trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.java
   trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.properties
Modified:
   trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/CriteriaQuickAssistProcessor.java
   trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/DebugJavaCompletionProposalComputer.java
   trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/HQLJavaCompletionProposalComputer.java
   trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/SaveQueryEditorListener.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1668

Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/CriteriaQuickAssistProcessor.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/CriteriaQuickAssistProcessor.java	2008-03-20 09:40:45 UTC (rev 7032)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/CriteriaQuickAssistProcessor.java	2008-03-20 09:40:52 UTC (rev 7033)
@@ -69,7 +69,7 @@
 			};
 		}
 		catch (BadLocationException e) {
-			HibernateConsolePlugin.getDefault().logErrorMessage( "Could not get document contents for CriteriaQuickAssist", e );
+			HibernateConsolePlugin.getDefault().logErrorMessage( JdtUIMessages.CriteriaQuickAssistProcessor_errorMessage, e );
 		}
 		return result;
 	}

Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/DebugJavaCompletionProposalComputer.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/DebugJavaCompletionProposalComputer.java	2008-03-20 09:40:45 UTC (rev 7032)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/DebugJavaCompletionProposalComputer.java	2008-03-20 09:40:52 UTC (rev 7033)
@@ -86,7 +86,7 @@
 		}
 
 		public String getDisplayString() {
-			return "I wanna show a dialog!";
+			return JdtUIMessages.DebugJavaCompletionProposalComputer_displayString;
 		}
 
 		public Image getImage() {

Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/HQLJavaCompletionProposalComputer.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/HQLJavaCompletionProposalComputer.java	2008-03-20 09:40:45 UTC (rev 7032)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/HQLJavaCompletionProposalComputer.java	2008-03-20 09:40:52 UTC (rev 7033)
@@ -87,10 +87,10 @@
 					 proposals = eclipseHQLCompletionCollector.getCompletionProposals();
 				 }
 		} catch(RuntimeException re) {
-			HibernateConsolePlugin.getDefault().logErrorMessage( "Error while performing HQL completion in java", re );
+			HibernateConsolePlugin.getDefault().logErrorMessage( JdtUIMessages.HQLJavaCompletionProposalComputer_errorMessage, re );
 		}
 		catch (BadLocationException e) {
-			HibernateConsolePlugin.getDefault().logErrorMessage( "Error while performing HQL completion in java", e );
+			HibernateConsolePlugin.getDefault().logErrorMessage( JdtUIMessages.HQLJavaCompletionProposalComputer_errorMessage, e );
 		}
 		
 		return proposals;

Added: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.java	                        (rev 0)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.java	2008-03-20 09:40:52 UTC (rev 7033)
@@ -0,0 +1,47 @@
+/*******************************************************************************
+  * Copyright (c) 2007-2008 Red Hat, Inc.
+  * Distributed under license by Red Hat, Inc. All rights reserved.
+  * This program is made available under the terms of the
+  * Eclipse Public License v1.0 which accompanies this distribution,
+  * and is available at http://www.eclipse.org/legal/epl-v10.html
+  *
+  * Contributor:
+  *     Red Hat, Inc. - initial API and implementation
+  ******************************************************************************/
+package org.hibernate.eclipse.jdt.ui.internal;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Dmitry Geraskov
+ *
+ */
+public class JdtUIMessages extends NLS {
+	
+	private static final String BUNDLE_NAME= "org.hibernate.eclipse.jdt.ui.internal.JdtUIMessages";//$NON-NLS-1$
+
+	public static String SaveQueryEditorListener_replaceQuestion;
+	
+	public static String SaveQueryEditorListener_replaceTitle;
+	
+	public static String SaveQueryEditorListener_replaceQuestion_confirm;
+	
+	public static String SaveQueryEditorListener_replaceTitle_confirm;
+	
+	public static String CriteriaQuickAssistProcessor_errorMessage;
+	
+	public static String DebugJavaCompletionProposalComputer_displayString;
+	
+	public static String HQLJavaCompletionProposalComputer_errorMessage;
+	
+	
+	
+	static {
+		NLS.initializeMessages(BUNDLE_NAME, JdtUIMessages.class);
+	}
+	
+	private JdtUIMessages(){
+		// Do not instantiate
+	}
+
+}


Property changes on: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:keywords
   + Author Id Revision Date
Name: svn:eol-style
   + native

Added: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.properties
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.properties	                        (rev 0)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.properties	2008-03-20 09:40:52 UTC (rev 7033)
@@ -0,0 +1,23 @@
+###############################################################################
+# Copyright (c) 2007-2008 Red Hat, Inc.
+# Distributed under license by Red Hat, Inc. All rights reserved.
+# This program is made available under the terms of the
+# Eclipse Public License v1.0 which accompanies this distribution,
+# and is available at http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributor:
+#     Red Hat, Inc. - initial API and implementation
+##############################################################################/
+
+
+SaveQueryEditorListener_replaceQuestion= Do you want to replace old query ''{0}'' in the {1} editor with new one ''{2}'' ?
+SaveQueryEditorListener_replaceTitle= Query replace
+
+SaveQueryEditorListener_replaceTitle_confirm= Query replace
+SaveQueryEditorListener_replaceQuestion_confirm= Query ''{0}'' changed it place in the {1} editor. Impossible to replace.
+
+CriteriaQuickAssistProcessor_errorMessage= Could not get document contents for CriteriaQuickAssist
+
+DebugJavaCompletionProposalComputer_displayString= I wanna show a dialog!
+
+HQLJavaCompletionProposalComputer_errorMessage= Error while performing HQL completion in java
\ No newline at end of file


Property changes on: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/JdtUIMessages.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native

Modified: trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/SaveQueryEditorListener.java
===================================================================
--- trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/SaveQueryEditorListener.java	2008-03-20 09:40:45 UTC (rev 7032)
+++ trunk/hibernatetools/plugins/org.hibernate.eclipse.jdt.ui/src/org/hibernate/eclipse/jdt/ui/internal/SaveQueryEditorListener.java	2008-03-20 09:40:52 UTC (rev 7033)
@@ -10,16 +10,24 @@
   ******************************************************************************/
 package org.hibernate.eclipse.jdt.ui.internal;
 
+import org.eclipse.jdt.internal.ui.dialogs.OptionalMessageDialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.text.BadLocationException;
 import org.eclipse.jface.text.IDocument;
+import org.eclipse.jface.window.Window;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IPartListener;
 import org.eclipse.ui.IPropertyListener;
+import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.texteditor.IDocumentProvider;
 import org.eclipse.ui.texteditor.ITextEditor;
 import org.hibernate.eclipse.console.AbstractQueryEditor;
 import org.hibernate.eclipse.console.HibernateConsolePlugin;
+import org.hibernate.eclipse.jdt.ui.Activator;
 
 /**
  * @author Dmitry Geraskov
@@ -27,6 +35,8 @@
  */
 public class SaveQueryEditorListener implements IPropertyListener {
 	
+	public static final String id = "AbstractQueryEditor.ReplaceString";
+	
 	public static final int HQLEditor = 0;
 	
 	public static final int CriteriaEditor = 1;
@@ -36,7 +46,7 @@
 	private String query;
 	private Point position;
 	
-	public SaveQueryEditorListener(ITextEditor fromEditorPart, String consoleName, 
+	public SaveQueryEditorListener(final ITextEditor fromEditorPart, String consoleName, 
 			String query, Point position, int editorNum){
 		this.fromEditorPart = fromEditorPart;
 		this.query = query;
@@ -44,14 +54,36 @@
 		switch (editorNum) {
 		case HQLEditor:
 			editor = (AbstractQueryEditor) HibernateConsolePlugin.getDefault()
-			.openScratchHQLEditor( consoleName, query );
+						.openScratchHQLEditor( consoleName, query );
 			break;
 
 		default:
 			editor = (AbstractQueryEditor) HibernateConsolePlugin.getDefault()
-			.openCriteriaEditor( consoleName, query );
+						.openCriteriaEditor( consoleName, query );
 		}
 		editor.addPropertyListener(this);
+		editor.showConnected(fromEditorPart);
+		final IWorkbenchPart fromWorkbenchPart = fromEditorPart.getEditorSite().getPart();
+		IPartListener pl = new IPartListener(){
+
+			public void partActivated(IWorkbenchPart part) {}
+
+			public void partBroughtToTop(IWorkbenchPart part) {}
+
+			public void partClosed(IWorkbenchPart part) {
+				if (fromWorkbenchPart == part){
+					fromEditorPart.getEditorSite().getPage().removePartListener(this);
+					editor.removePropertyListener(SaveQueryEditorListener.this);
+					editor.showDisconnected();	
+				}							
+			}
+
+			public void partDeactivated(IWorkbenchPart part) {}
+
+			public void partOpened(IWorkbenchPart part) {}
+			
+		};
+		fromEditorPart.getEditorSite().getPage().addPartListener(pl);
 	}
 	
 
@@ -59,14 +91,29 @@
 	 * @see org.eclipse.ui.IPropertyListener#propertyChanged(java.lang.Object, int)
 	 */
 	public void propertyChanged(Object source, int propId) {
+		
+		String editorTitle = fromEditorPart.getTitle();		
+		
 		if (IEditorPart.PROP_DIRTY == propId && !editor.isDirty()){
 			String newQuery = editor.getQueryString();
-			
-			IDocumentProvider docProvider = fromEditorPart.getDocumentProvider();
-			if (docProvider == null){	// editor was disposed							
-				editor.removePropertyListener(this);
+			String question = NLS.bind(JdtUIMessages.SaveQueryEditorListener_replaceQuestion, new String[]{query, editorTitle, newQuery});
+
+			int ans = OptionalMessageDialog.open(id, null, JdtUIMessages.SaveQueryEditorListener_replaceTitle, null, question, 
+							MessageDialog.QUESTION, new String[] { IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL }, 0);
+			if (OptionalMessageDialog.NOT_SHOWN != ans){
+				//write previous answer
+				IPreferenceStore store = Activator.getDefault().getPreferenceStore();
+				store.setValue(id, ans == Window.OK);
+			} else {
+				//read previous answer
+				IPreferenceStore store = Activator.getDefault().getPreferenceStore();
+				if (!store.getBoolean(id)) return;					
+			}
+			if (Window.CANCEL == ans){
 				return;
 			}
+				
+			IDocumentProvider docProvider = fromEditorPart.getDocumentProvider();
 
 			IDocument doc = docProvider.getDocument( fromEditorPart.getEditorInput() );
 			boolean isDocChanged = true;
@@ -79,9 +126,8 @@
 			}
 			
 			if (isDocChanged){
-				String title = "Document was changed";
-				String question = "Document was changed. Can't find string to replace.";
-				MessageDialog.openConfirm( null, title, question);
+				String confirm_changed = NLS.bind(JdtUIMessages.SaveQueryEditorListener_replaceQuestion_confirm, query, editorTitle);
+				MessageDialog.openConfirm( null, JdtUIMessages.SaveQueryEditorListener_replaceTitle_confirm, confirm_changed);
 				return;
 			}
 			
@@ -93,7 +139,7 @@
 			} catch (BadLocationException e) {
 				HibernateConsolePlugin.getDefault().log(e);
 			}
-		}
+		}			
 	}
 
 }




More information about the jbosstools-commits mailing list