1 package org.objectweb.celtix.tools.common; 2 3 import java.io.*; 4 import java.util.*; 5 import org.xml.sax.InputSource ; 6 import org.objectweb.celtix.tools.utils.PropertyUtil; 7 import org.objectweb.celtix.tools.utils.URIParserUtil; 8 9 public class ProcessorEnvironment { 10 11 private Map<String , Object > paramMap; 12 private String packageName; 13 private Map<String , String > namespacePackageMap = new HashMap<String , String >(); 14 private Map<String , String > excludeNamespacePackageMap = new HashMap<String , String >(); 15 private final Map<String , InputSource > jaxbBindingFiles = new HashMap<String , InputSource >(); 16 17 public ProcessorEnvironment() { 18 } 19 20 public void loadDefaultNS2Pck() { 21 try { 22 PropertyUtil properties = new PropertyUtil(); 23 properties.load(getResourceAsStream("toolspec/toolspecs/namespace2package.cfg")); 24 namespacePackageMap.putAll(properties.getMaps()); 25 } catch (IOException e) { 26 e.printStackTrace(); 27 } 28 } 29 30 public void loadDefaultExcludes() { 31 try { 32 PropertyUtil properties = new PropertyUtil(); 33 properties.load(getResourceAsStream("toolspec/toolspecs/wsdltojavaexclude.cfg")); 34 excludeNamespacePackageMap.putAll(properties.getMaps()); 35 } catch (IOException e) { 36 e.printStackTrace(); 37 } 38 } 39 40 private InputStream getResourceAsStream(String file) throws IOException { 41 return ProcessorEnvironment.class.getResourceAsStream(file); 42 } 43 44 public void setParameters(Map<String , Object > map) { 45 this.paramMap = map; 46 } 47 48 public boolean containsKey(String key) { 49 return (paramMap == null) ? false : paramMap.containsKey(key); 50 } 51 52 public Object get(String key) { 53 return (paramMap == null) ? null : paramMap.get(key); 54 } 55 56 public Object get(String key, Object defaultValue) { 57 if (!optionSet(key)) { 58 return defaultValue; 59 } else { 60 return get(key); 61 } 62 } 63 64 public boolean getBooleanValue(String key, String defaultValue) { 65 return Boolean.valueOf((String )get(key, defaultValue)).booleanValue(); 66 } 67 68 public void put(String key, Object value) { 69 if (paramMap == null) { 70 paramMap = new HashMap<String , Object >(); 71 } 72 paramMap.put(key, value); 73 } 74 75 public void remove(String key) { 76 if (paramMap == null) { 77 return; 78 } 79 paramMap.remove(key); 80 } 81 82 public boolean optionSet(String key) { 83 return (get(key) == null) ? false : true; 84 } 85 86 public boolean isVerbose() { 87 if (get(ToolConstants.CFG_VERBOSE) == null) { 88 return false; 89 } else { 90 return get(ToolConstants.CFG_VERBOSE) == ToolConstants.CFG_VERBOSE; 91 } 92 } 93 94 public boolean validateWSDL() { 95 return get(ToolConstants.CFG_VALIDATE_WSDL) != null; 96 97 } 98 99 public void addNamespacePackageMap(String namespace, String pn) { 100 this.namespacePackageMap.put(namespace, pn); 101 } 102 103 private String mapNamespaceToPackageName(String ns) { 104 return this.namespacePackageMap.get(ns); 105 } 106 107 public boolean hasNamespace(String ns) { 108 return this.namespacePackageMap.containsKey(ns); 109 } 110 111 public void addExcludeNamespacePackageMap(String namespace, String pn) { 112 this.excludeNamespacePackageMap.put(namespace, pn); 113 } 114 115 public boolean hasExcludeNamespace(String ns) { 116 return this.excludeNamespacePackageMap.containsKey(ns); 117 } 118 119 public String getExcludePackageName(String ns) { 120 return this.excludeNamespacePackageMap.get(ns); 121 } 122 123 public void setPackageName(String pkgName) { 124 this.packageName = pkgName; 125 } 126 127 public String getPackageName() { 128 return this.packageName; 129 } 130 131 public String mapPackageName(String ns) { 132 if (hasNamespace(ns)) { 133 return mapNamespaceToPackageName(ns); 134 } else { 135 return getPackageName(); 136 } 137 } 138 139 public String getCustomizedNS(String ns) { 140 return URIParserUtil.getNamespace(mapPackageName(ns)); 141 } 142 143 public void addJaxbBindingFile(String location, InputSource is) { 144 this.jaxbBindingFiles.put(location, is); 145 } 146 147 public Map<String , InputSource > getJaxbBindingFile() { 148 return this.jaxbBindingFiles; 149 } 150 151 public boolean isExcludeNamespaceEnabled() { 152 return excludeNamespacePackageMap.size() > 0; 153 } 154 } 155 | Popular Tags |