/******************************************************************************* * Copyright (c) 2004, 2006 IBM Corporation and others. * 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.wst.html.ui.internal.contentproperties.ui; import java.util.Enumeration; import java.util.Iterator; import org.eclipse.wst.css.core.internal.metamodel.CSSProfile; import org.eclipse.wst.css.core.internal.metamodel.CSSProfileRegistry; import org.eclipse.wst.html.core.internal.document.HTMLDocumentTypeEntry; import org.eclipse.wst.html.core.internal.document.HTMLDocumentTypeRegistry; import org.eclipse.wst.html.ui.internal.HTMLUIMessages; import org.eclipse.wst.sse.core.internal.encoding.CommonCharsetNames; import org.eclipse.wst.sse.ui.internal.contentproperties.ui.ComboList; /** * @deprecated This class only contains helper methods that you should * actually implement yourself. */ public final class ContentSettingsRegistry { private static final String NONE = HTMLUIMessages.UI_none; public static String maxLengthStringInHTMLDocumentTypeRegistry = ""; //$NON-NLS-1$ public static String maxLengthStringInCharacterCodeRegistry = ""; //$NON-NLS-1$ private ContentSettingsRegistry() { } public static void setHTMLDocumentTypeRegistryInto(ComboList combo) { combo.add(NONE, ""); //$NON-NLS-1$ HTMLDocumentTypeRegistry reg = HTMLDocumentTypeRegistry.getInstance(); Enumeration e = reg.getEntries(); while (e.hasMoreElements()) { HTMLDocumentTypeEntry entry = (HTMLDocumentTypeEntry) e.nextElement(); String publicId = entry.getPublicId(); String displayName = entry.getDisplayName(); if (displayName != null) { combo.add(displayName, publicId); if (displayName.length() > maxLengthStringInHTMLDocumentTypeRegistry.length()) maxLengthStringInHTMLDocumentTypeRegistry = displayName; } else combo.add(publicId, publicId); if (publicId.length() > maxLengthStringInHTMLDocumentTypeRegistry.length()) maxLengthStringInHTMLDocumentTypeRegistry = publicId; if (entry.getSystemId() == null) continue; // if HTML entry if (entry.getSystemId().length() > maxLengthStringInHTMLDocumentTypeRegistry.length()) maxLengthStringInHTMLDocumentTypeRegistry = entry.getSystemId(); } combo.sortByKey(1); } public static void setCSSMetaModelRegistryInto(ComboList combo) { combo.add(NONE, ""); //$NON-NLS-1$ CSSProfileRegistry reg = CSSProfileRegistry.getInstance(); Iterator i = reg.getProfiles(); while (i.hasNext()) { CSSProfile profile = (CSSProfile) i.next(); String id = profile.getProfileID(); String name = profile.getProfileName(); combo.add(name, id); } combo.sortByKey(1); } public static void setDeviceProfileRegistryInto(ComboList combo) { combo.add(NONE, ""); //$NON-NLS-1$ DeviceProfileEntryProvider reg = DeviceProfileEntryProviderBuilder.getEntryProvider(); if (reg == null) { return; } Iterator profiles = reg.getDeviceProfileEntries(); if (profiles == null) { reg.release(); return; } DeviceProfileEntry entry; while (profiles.hasNext()) { entry = (DeviceProfileEntry) profiles.next(); combo.add(entry.getEntryName(), entry.getEntryId()); entry.release(); } reg.release(); combo.sortByKey(1); } public static String getSystemIdFrom(String publicId) { if (publicId == null || publicId.length() == 0) return null; HTMLDocumentTypeRegistry reg = HTMLDocumentTypeRegistry.getInstance(); Enumeration e = reg.getEntries(); while (e.hasMoreElements()) { HTMLDocumentTypeEntry entry = (HTMLDocumentTypeEntry) e.nextElement(); if (entry.getPublicId().equals(publicId)) return entry.getSystemId(); } return null; } public static void setContentTypeInto(ComboList combo) { String[] type = {"", //$NON-NLS-1$ "application/xhtml+xml", //$NON-NLS-1$ "application/xml", //$NON-NLS-1$ "text/html", //$NON-NLS-1$ "text/xml",}; //$NON-NLS-1$ String[] displayName = {NONE, "application/xhtml+xml", //$NON-NLS-1$ //$NON-NLS-1$ "application/xml", //$NON-NLS-1$ "text/html", //$NON-NLS-1$ "text/xml",}; //$NON-NLS-1$ for (int i = 0; i < type.length; i++) { if (displayName[i] != null && displayName[i].length() != 0) combo.add(displayName[i], type[i]); else combo.add(type[i], type[i]); } } public static void setCharacterCodeInto(ComboList combo) { combo.add(NONE, ""); //$NON-NLS-1$ String max = ""; //$NON-NLS-1$ // CommonCharsetNames encoding = new CommonCharsetNames(); String[] charCode = CommonCharsetNames.getCommonCharsetNames(); for (int i = 0; i < charCode.length; i++) { String displayName = CommonCharsetNames.getDisplayString(charCode[i]); if (displayName != null && displayName.length() != 0) { combo.add(displayName, charCode[i]); int n_byte = displayName.getBytes().length; if (max.getBytes().length < n_byte) max = displayName; } else combo.add(charCode[i], charCode[i]); } /* * charCode = encoding.getSupportedJavaEncodings(); for(int i=0;i<charCode.length;i++){ * String displayName = encoding.getDisplayString(charCode[i]); if * (displayName!=null && displayName.length()!=0) * combo.add(displayName,charCode[i]); else * combo.add(charCode[i],charCode[i]); } */ // combo.sortByKey(1); maxLengthStringInCharacterCodeRegistry = max; } public static void setLanguageInto(ComboList combo) { String[] lang = {"", //$NON-NLS-1$ "java", //$NON-NLS-1$ "javascript",}; //$NON-NLS-1$ String[] displayName = {NONE, "java", //$NON-NLS-1$ //$NON-NLS-1$ "javascript",}; //$NON-NLS-1$ for (int i = 0; i < lang.length; i++) { if (displayName[i] != null && displayName[i].length() != 0) combo.add(displayName[i], lang[i]); else combo.add(lang[i], lang[i]); } } }