Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortle2012-03-07 23:05:58 +0000
committertle2012-03-07 23:05:58 +0000
commitc8c36f62d141efa442ea23f73e124d457935c462 (patch)
tree56747bf2760401d12f6e6bf8c6271f0acdb68fe4 /jpa/plugins/org.eclipse.jpt.jpa.core/src/org
parent64c7b4623561e79c4713bcfde0da760b1ac896c9 (diff)
downloadwebtools.dali-c8c36f62d141efa442ea23f73e124d457935c462.tar.gz
webtools.dali-c8c36f62d141efa442ea23f73e124d457935c462.tar.xz
webtools.dali-c8c36f62d141efa442ea23f73e124d457935c462.zip
Refactored JPQL Identifiers preferences support
Diffstat (limited to 'jpa/plugins/org.eclipse.jpt.jpa.core/src/org')
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/prefs/JpaPreferencesManager.java29
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaEntityGenPreferencesManager.java9
-rw-r--r--jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaJpqlPreferencesManager.java78
3 files changed, 108 insertions, 8 deletions
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/prefs/JpaPreferencesManager.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/prefs/JpaPreferencesManager.java
index ac94091ba0..e1748049e8 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/prefs/JpaPreferencesManager.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/internal/prefs/JpaPreferencesManager.java
@@ -155,6 +155,22 @@ public class JpaPreferencesManager
}
flush(wkspPrefs);
}
+
+ protected static boolean getWorkspacePreference(String key, boolean defaultBooleanValue) {
+ return getWorkspacePreferences().getBoolean(key, defaultBooleanValue);
+ }
+
+ public static void setWorkspacePreference(String key, boolean booleanValue) {
+ IEclipsePreferences wkspPrefs = getWorkspacePreferences();
+ wkspPrefs.putBoolean(key, booleanValue);
+ flush(wkspPrefs);
+ }
+
+ public static void removeWorkspacePreference(String key) {
+ IEclipsePreferences wkspPrefs = getWorkspacePreferences();
+ wkspPrefs.remove(key);
+ flush(wkspPrefs);
+ }
// ********** private static methods **********
@@ -291,12 +307,13 @@ public class JpaPreferencesManager
protected void setProjectPreference(String key, boolean booleanValue) {
IEclipsePreferences projectPrefs = this.getProjectPreferences();
- if( ! booleanValue) {
- projectPrefs.remove(key);
- }
- else {
- projectPrefs.putBoolean(key, booleanValue);
- }
+ projectPrefs.putBoolean(key, booleanValue);
+ flush(projectPrefs);
+ }
+
+ protected void removeProjectPreference(String key) {
+ IEclipsePreferences projectPrefs = this.getProjectPreferences();
+ projectPrefs.remove(key);
flush(projectPrefs);
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaEntityGenPreferencesManager.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaEntityGenPreferencesManager.java
index b05ca5b451..1bf0ee7d53 100644
--- a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaEntityGenPreferencesManager.java
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaEntityGenPreferencesManager.java
@@ -32,7 +32,12 @@ public class JpaEntityGenPreferencesManager extends JpaPreferencesManager
}
public static void setDefaultPackageWorkspacePreference(String value) {
- setWorkspacePreference(appendPrefix(DEFAULT_PACKAGE), value);
+ if(StringTools.stringsAreEqual(value, getDefaultDefaultPackage())) {
+ removeWorkspacePreference(appendPrefix(DEFAULT_PACKAGE));
+ }
+ else {
+ setWorkspacePreference(appendPrefix(DEFAULT_PACKAGE), value);
+ }
}
public static String getDefaultDefaultPackage() {
@@ -65,7 +70,7 @@ public class JpaEntityGenPreferencesManager extends JpaPreferencesManager
}
public void removeDefaultPackagePreference() {
- this.setProjectPreference(appendPrefix(DEFAULT_PACKAGE), null);
+ this.removeProjectPreference(appendPrefix(DEFAULT_PACKAGE));
}
}
diff --git a/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaJpqlPreferencesManager.java b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaJpqlPreferencesManager.java
new file mode 100644
index 0000000000..1b5104b3f0
--- /dev/null
+++ b/jpa/plugins/org.eclipse.jpt.jpa.core/src/org/eclipse/jpt/jpa/core/prefs/JpaJpqlPreferencesManager.java
@@ -0,0 +1,78 @@
+/*******************************************************************************
+* Copyright (c) 2012 Oracle. All rights reserved.
+* This program and the accompanying materials are 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.
+*
+* Contributors:
+* Oracle - initial API and implementation
+*******************************************************************************/
+package org.eclipse.jpt.jpa.core.prefs;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.jpt.common.utility.internal.StringTools;
+import org.eclipse.jpt.jpa.core.internal.prefs.JpaPreferencesManager;
+/**
+ * JpaEntityGenPreferencesManager
+ */
+public class JpaJpqlPreferencesManager extends JpaPreferencesManager
+{
+ // ********** public constants **********
+
+ private static final String JPQL_IDENTIFIER_PREFIX = "jpqlIdentifier.";
+ public static final String JPQL_IDENTIFIER_LOWERCASE_PREF_VALUE = "lowercase"; //$NON-NLS-1$
+ public static final String JPQL_IDENTIFIER_UPPERCASE_PREF_VALUE = "uppercase"; //$NON-NLS-1$
+
+ public static final String CASE = "CASE"; //$NON-NLS-1$
+ public static final String DEFAULT_CASE = JPQL_IDENTIFIER_LOWERCASE_PREF_VALUE; //$NON-NLS-1$
+
+ public static final String MATCH_FIRST_CHARACTER_CASE = "MATCH_FIRST_CHARACTER_CASE"; //$NON-NLS-1$
+ public static final boolean DEFAULT_MATCH_FIRST_CHARACTER_CASE = true; //$NON-NLS-1$
+
+ // ********** workspace preference **********
+
+ public static String getIdentifiersCaseWorkspacePreference() {
+ return getWorkspacePreference(appendPrefix(CASE), getDefaultIdentifiersCase());
+ }
+
+ public static void setIdentifiersCaseWorkspacePreference(String value) {
+ if(StringTools.stringsAreEqual(value, getDefaultIdentifiersCase())) {
+ removeWorkspacePreference(appendPrefix(CASE));
+ }
+ else {
+ setWorkspacePreference(appendPrefix(CASE), value);
+ }
+ }
+
+ public static String getDefaultIdentifiersCase() {
+ return DEFAULT_CASE;
+ }
+
+ public static boolean getMatchFirstCharacterCaseWorkspacePreference() {
+ return getWorkspacePreference(appendPrefix(MATCH_FIRST_CHARACTER_CASE), getDefaultMatchFirstCharacterCase());
+ }
+
+ public static void setMatchFirstCharacterCaseWorkspacePreference(boolean value) {
+ if(value == getDefaultMatchFirstCharacterCase()) {
+ removeWorkspacePreference(appendPrefix(MATCH_FIRST_CHARACTER_CASE));
+ }
+ else {
+ setWorkspacePreference(appendPrefix(MATCH_FIRST_CHARACTER_CASE), value);
+ }
+ }
+
+ public static boolean getDefaultMatchFirstCharacterCase() {
+ return DEFAULT_MATCH_FIRST_CHARACTER_CASE;
+ }
+
+ private static String appendPrefix(String prefId) {
+ return JPQL_IDENTIFIER_PREFIX + prefId;
+ }
+
+ // ********** constructor **********
+
+ public JpaJpqlPreferencesManager(IProject project) {
+ super(project);
+ }
+
+}

Back to the top