package com.cfsoft.ofbiz;
import com.intellij.javaee.ResourceRegistrar;
import com.intellij.javaee.StandardResourceProvider;
import org.jetbrains.annotations.NonNls;
public class OfbizResourceProvider implements StandardResourceProvider {
@NonNls
private static final String DTD_PATH = "/resources/dtds";
private static final String[] XSDS = {"component-loader.xsd",
"datafiles.xsd", "entity-config.xsd", "entity-eca.xsd", "entitygroup.xsd",
"entitymodel.xsd", "fieldtypemodel.xsd", "jndi-config.xsd",
"ofbiz-component.xsd", "ofbiz-containers.xsd", "ofbiz-properties.xsd",
"regions.xsd", "security-config.xsd", "SeleniumXml.xsd", "service-config.xsd",
"service-eca.xsd", "service-group.xsd", "service-mca.xsd",
"services.xsd", "simple-methods.xsd","simple-methods-v2.xsd", "site-conf.xsd", "test-suite.xsd",
"widget-form.xsd", "widget-menu.xsd", "widget-screen.xsd", "widget-tree.xsd"};
@Override
public void registerResources(ResourceRegistrar resourceRegistrar) {
addDTDResource("http://www.ofbiz.org/dtds","4", resourceRegistrar);
addDTDResource("http://ofbiz.apache.org/dtds","12", resourceRegistrar);
}
/**
* Adds a DTD resource from local DTD resource path.
*
* @param uri Resource URI.
* @param localFile DTD filename.
* @param registrar Resource registrar.
*/
private static void addDTDResource(@NonNls final String uri,
@NonNls final String localFile,
final ResourceRegistrar registrar) {
for (String xsd : XSDS) {
registrar.addStdResource(String.format("%s/%s", uri, xsd),
String.format("%s/%s/%s", DTD_PATH, localFile,xsd),OfbizResourceProvider.class);
}
}
}