/*
* � Copyright IBM Corp. 2014, 2015
*
* 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.theme.bootstrap.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.minifier.ExtLibLoaderExtension;
import com.ibm.xsp.extlib.resources.ExtlibResourceProvider;
import com.ibm.xsp.extlib.util.ExtLibUtil;
import com.ibm.xsp.theme.bootstrap.plugin.Activator;
public class Loader extends ExtLibLoaderExtension {
public Loader() {}
@Override
public Bundle getOSGiBundle() {
return Activator.instance.getBundle();
}
// ========================================================
// Handling Dojo
// ========================================================
@Override
public void loadDojoShortcuts(DoubleMap<String, String> aliases, DoubleMap<String, String> prefixes) {
// / ALIASES
if (aliases != null) {
// CAREFULLY MAKE SURE THAT THERE IS NO CONFLICT WITH ANOTHER
// LIBRARY
aliases.put("@B3a","extlib.responsive.dijit.xsp.bootstrap.AccorionContainer"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3b","extlib.responsive.dijit.xsp.bootstrap.AccordionPane"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3c","extlib.responsive.dijit.xsp.bootstrap.Dialog"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3d","extlib.responsive.dijit.xsp.bootstrap.ListTextBox"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3e","extlib.responsive.dijit.xsp.bootstrap.NameTextBox"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3f","extlib.responsive.dijit.xsp.bootstrap.Navigator"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3g","extlib.responsive.dijit.xsp.bootstrap.PickerCheckbox"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3h","extlib.responsive.dijit.xsp.bootstrap.PickerList"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3i","extlib.responsive.dijit.xsp.bootstrap.PickerListSearch"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3j","extlib.responsive.dijit.xsp.bootstrap.PickerName"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3k","extlib.responsive.dijit.xsp.bootstrap.Tooltip"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3l","extlib.responsive.dijit.xsp.bootstrap.Checkbox"); //$NON-NLS-1$ //$NON-NLS-2$
}
// / PREFIXES
if (prefixes != null) {
// CAREFULLY MAKE SURE THAT THERE IS NO CONFLICT WITH ANOTHER
// LIBRARY
}
}
// ========================================================
// Handling CSS
// ========================================================
@Override
public void loadCSSShortcuts(DoubleMap<String, String> aliases, DoubleMap<String, String> prefixes) {
// / ALIASES
if (aliases != null) {
// CAREFULLY MAKE SURE THAT THERE IS NO CONFLICT WITH ANOTHER
// LIBRARY
//aliases.put("@Ea","/.ibmxspres/.extlib/css/tagcloud.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3l","/.ibmxspres/.extlib/responsive/bootstrap3/css/bootstrap-theme.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3m","/.ibmxspres/.extlib/responsive/bootstrap3/css/bootstrap-theme.min.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3n","/.ibmxspres/.extlib/responsive/bootstrap3/css/bootstrap.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3o","/.ibmxspres/.extlib/responsive/bootstrap3/css/bootstrap.min.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3p","/.ibmxspres/.extlib/responsive/dijit/dbootstrap-0.1.1/theme/dbootstrap/dbootstrap.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3q","/.ibmxspres/.extlib/responsive/dijit/dbootstrap-0.1.1/theme/dbootstrap/dijit.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3r","/.ibmxspres/.extlib/responsive/xpages/css/xsp-core.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3s","/.ibmxspres/.extlib/responsive/xpages/css/xsp-mixin.css"); //$NON-NLS-1$ //$NON-NLS-2$
aliases.put("@B3t","/.ibmxspres/.extlib/responsive/xpages/css/xsp-ie11.css"); //$NON-NLS-1$ //$NON-NLS-2$
}
// / PREFIXES
if (prefixes != null) {
// CAREFULLY MAKE SURE THAT THERE IS NO CONFLICT WITH ANOTHER
// LIBRARY
prefixes.put("3B3a", "/.ibmxspres/.extlib/responsive/bootstrap3"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3B3b", "/.ibmxspres/.extlib/responsive/bootstrap3/js"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3B3c", "/.ibmxspres/.extlib/responsive/bootstrap3/css"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3B3d", "/.ibmxspres/.extlib/responsive/bootstrap3/fonts"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3Dba", "/.ibmxspres/.extlib/responsive/dijit/dbootstrap-0.1.1"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3Dbb", "/.ibmxspres/.extlib/responsive/dijit/dbootstrap-0.1.1/theme"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3Dbc", "/.ibmxspres/.extlib/responsive/dijit/dbootstrap-0.1.1/theme/dbootstrap"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3JQa", "/.ibmxspres/.extlib/responsive/jquery/"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3XPa", "/.ibmxspres/.extlib/responsive/xpages"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3XPb", "/.ibmxspres/.extlib/responsive/xpages/css"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3XPc", "/.ibmxspres/.extlib/responsive/xpages/img"); //$NON-NLS-1$ //$NON-NLS-2$
prefixes.put("3XPd", "/.ibmxspres/.extlib/responsive/xpages/js"); //$NON-NLS-1$ //$NON-NLS-2$
}
}
// ========================================================
// Serving resources
// ========================================================
@Override
public URL getResourceURL(HttpServletRequest request, String name) {
if (name.startsWith("responsive")) { //$NON-NLS-1$
String path = ExtlibResourceProvider.BUNDLE_RES_PATH_EXTLIB + name;
return ExtLibUtil.getResourceURL(Activator.instance.getBundle(), path);
}
return null;
}
}