/*
* � Copyright IBM Corp. 2010
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
* implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.ibm.xsp.extlib.minifier;
import java.net.URL;
import javax.servlet.http.HttpServletRequest;
import org.osgi.framework.Bundle;
import com.ibm.commons.util.DoubleMap;
import com.ibm.xsp.extlib.plugin.ControlsPluginActivator;
import com.ibm.xsp.extlib.resources.ExtlibResourceProvider;
import com.ibm.xsp.extlib.util.ExtLibUtil;
/**
* Resource Loader that loads the resource from extlib controls.
*/
public class ExtLibControlsLoader extends ExtLibLoaderExtension {
public ExtLibControlsLoader() {
}
@Override
public Bundle getOSGiBundle() {
return ControlsPluginActivator.instance.getBundle();
}
// ========================================================
// Handling Dojo
// ========================================================
@Override
public void loadDojoShortcuts(DoubleMap<String, String> aliases, DoubleMap<String, String> prefixes) {
/// ALIASES
if(aliases!=null) {
aliases.put("@Ea","extlib.dijit.Accordion"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eb","extlib.dijit.DataIterator"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ec","extlib.dijit.Dialog"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ed","extlib.dijit.DynamicContent"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ee","extlib.dijit.ExtLib"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ef","extlib.dijit.ImageSelect"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eg","extlib.dijit.LinkSelect"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eh","extlib.dijit.ListTextBox"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ei","extlib.dijit.Loading"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ej","extlib.dijit.Menu"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ek","extlib.dijit.Picker"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@El","extlib.dijit.PickerCheckBox"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Em","extlib.dijit.PickerList"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@En","extlib.dijit.PickerListSearch"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eo","extlib.dijit.PickerName"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ep","extlib.dijit.Stack"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eq","extlib.dijit.Tabs"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Er","extlib.dijit.TemplateDialog"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Es","extlib.dijit.Tooltip"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Et","extlib.dijit.TooltipDialog"); //$NON-NLS-1$ //$NON-NLS-2$
// 2012-06-02
aliases.put("@Eu","extlib.dijit.AccordionContainer"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ev","extlib.dijit.AccordionPane"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ew","extlib.dijit.TabContainer"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ex","extlib.dijit.TabPane"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ey","extlib.dijit._ListTextBox"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Ez","extlib.dijit.NameTextBox"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@E0","extlib.dijit.ContentPane"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eaa","extlib.dojo.data.FileStore"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eab","extlib.dojo.data.XPagesRestStore"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eba","extlib.dojo.helper.IFrameAdjuster"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@Eya","extlib.theme.OneUIA11Y"); //$NON-NLS-1$ //$NON-NLS-2$
}
/// PREFIXES
if(prefixes!=null) {
prefixes.put("E","extlib."); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("2Ea","extlib.dojo"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("2Eb","extlib.dijit"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("2Ec","extlib.dojo.data"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("2Ed","extlib.dojo.helper"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("2Et","extlib.theme"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
// ========================================================
// Handling CSS
// ========================================================
@Override
public void loadCSSShortcuts(DoubleMap<String, String> aliases, DoubleMap<String, String> prefixes) {
/// ALIASES
if(aliases!=null) {
aliases.put("@Ea","/.ibmxspres/.extlib/css/tagcloud.css"); //$NON-NLS-1$ //$NON-NLS-2$
}
/// PREFIXES
if(prefixes!=null) {
prefixes.put("E","/.ibmxspres/.extlib/"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("2Ee","/.ibmxspres/.extlib/css/"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("2Ef","/.ibmxspres/.extlib/dijit/themes"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
// ========================================================
// Serving resources
// ========================================================
@Override
public URL getResourceURL(HttpServletRequest request, String name) {
String path = ExtlibResourceProvider.BUNDLE_RES_PATH_EXTLIB+name;
return ExtLibUtil.getResourceURL(ControlsPluginActivator.instance.getBundle(), path);
}
}