diff options
author | tle | 2012-03-07 23:05:58 +0000 |
---|---|---|
committer | tle | 2012-03-07 23:05:58 +0000 |
commit | c8c36f62d141efa442ea23f73e124d457935c462 (patch) | |
tree | 56747bf2760401d12f6e6bf8c6271f0acdb68fe4 /jpa/plugins/org.eclipse.jpt.jpa.core/src/org | |
parent | 64c7b4623561e79c4713bcfde0da760b1ac896c9 (diff) | |
download | webtools.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')
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); + } + +} |