package net.sourceforge.phpeclipse.ui.overlaypages; import net.sourceforge.phpeclipse.ui.WebUI; import net.sourceforge.phpeclipse.ui.preferences.PHPMiscProjectPreferences; import net.sourceforge.phpeclipse.ui.preferences.PHPPreviewProjectPreferences; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.QualifiedName; public class Util { public static String getMiscProjectsPreferenceValue(IResource resource, String key) { return getOverlayedPrefProjectValue(resource, PHPMiscProjectPreferences.PREF_ID, key); } public static String getOverlayedPrefProjectValue(IResource resource, String pageId, String key) { IProject project = resource.getProject(); String value = null; if (useProjectSettings(project, pageId)) { value = getProperty(resource, pageId, key); } if (value != null) return value; return WebUI.getDefault().getPreferenceStore().getString(key); } public static String getOverlayedPrefResourceValue(IResource resource, String pageId, String key) { String value = null; if (useProjectSettings(resource, pageId)) { value = getProperty(resource, pageId, key); } if (value != null) return value; return WebUI.getDefault().getPreferenceStore().getString(key); } public static boolean getPreviewBooleanValue(IResource resource, String key) { return getOverlayedPrefResourceValue(resource, PHPPreviewProjectPreferences.PREF_ID, key).equals("true"); } public static String getPreviewStringValue(IResource resource, String key) { return getOverlayedPrefResourceValue(resource, PHPPreviewProjectPreferences.PREF_ID, key); } private static String getProperty(IResource resource, String pageId, String key) { try { return resource.getPersistentProperty(new QualifiedName(pageId, key)); } catch (CoreException e) { } return null; } private static boolean useProjectSettings(IResource resource, String pageId) { String use = getProperty(resource, pageId, FieldEditorOverlayPage.USEPROJECTSETTINGS); return "true".equals(use); } }