package com.atlassian.labs.speakeasy.commonjs.transformer;
import com.atlassian.labs.speakeasy.commonjs.descriptor.CommonJsModulesDescriptor;
import com.atlassian.plugin.PluginAccessor;
import com.atlassian.plugin.elements.ResourceLocation;
import com.atlassian.plugin.servlet.DownloadableResource;
import com.atlassian.plugin.webresource.transformer.WebResourceTransformer;
import org.dom4j.Element;
/**
*
*/
public class CommonJsModuleWrappingTransformer implements WebResourceTransformer
{
private final PluginAccessor pluginAccessor;
public CommonJsModuleWrappingTransformer(PluginAccessor pluginAccessor)
{
this.pluginAccessor = pluginAccessor;
}
public DownloadableResource transform(Element element, ResourceLocation resourceLocation, String extraPath, DownloadableResource downloadableResource)
{
String descriptorKey = element.attributeValue("fullModuleKey");
CommonJsModulesDescriptor commonJsModulesDescriptor = (CommonJsModulesDescriptor) pluginAccessor.getEnabledPluginModule(descriptorKey);
String name = resourceLocation.getName();
String moduleName = name.substring(0, name.length() - ".js".length());
String modulesKey = element.getParent().getParent().attributeValue("key");
return new CommonJsModuleWrappingDownloadableResource(downloadableResource, moduleName, modulesKey, commonJsModulesDescriptor);
}
}