[Yanel-commits] rev 59429 - public/yanel/trunk/src/core/java/org/wyona/yanel/core
michi at wyona.com
michi at wyona.com
Sun Jul 17 11:41:30 CEST 2011
Author: michi
Date: 2011-07-17 11:41:30 +0200 (Sun, 17 Jul 2011)
New Revision: 59429
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/core/ResourceTypeRegistry.java
Log:
do not log error if package attribute cannot be found, but rather use the src attribute gracefully
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/ResourceTypeRegistry.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/ResourceTypeRegistry.java 2011-07-17 02:55:40 UTC (rev 59428)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/ResourceTypeRegistry.java 2011-07-17 09:41:30 UTC (rev 59429)
@@ -155,12 +155,19 @@
for (int i = 0; i < resourceTypes.length; i++) {
log.debug("Register resource type...");
+ boolean hasPackageAttribute = false;
+ String packageName = null;
try {
- String packageName = resourceTypes[i].getAttribute("package"); // INFO: This method will throw an exception if no 'package' attribute exists, and hence further down it will try to read the 'src' attribute...
- log.debug("Package: " + packageName);
- log.info("Package: " + packageName);
+ packageName = resourceTypes[i].getAttribute("package");
+ hasPackageAttribute = true;
+ } catch(Exception e) {
+ log.warn(e.getMessage());
+ hasPackageAttribute = false;
+ }
+ if (hasPackageAttribute && packageName != null && packageName.trim().length() > 0) {
+ log.info("Loading resource from package: " + packageName);
- // TODO: Config itself, e.g. org/wyona/yanel/impl/resources/redirect/my-resource.xml
+ // TODO: Config itself, e.g. org/wyona/yanel/impl/resources/redirect/my-resource.xml (What does that TODO mean?!)
URL packageURL = ResourceTypeRegistry.class.getClassLoader().getResource(packageName.replace('.','/'));
log.debug("Package: " + packageURL.getFile());
@@ -176,7 +183,7 @@
while (entries.hasMoreElements()) {
String entryName = ((java.util.zip.ZipEntry) entries.nextElement()).getName();
//log.debug("Entry: " + entryName);
- if (entryName.indexOf("resource.xml") >= 0 || entryName.indexOf("resource-") >= 0) {
+ if (entryName.indexOf("resource.xml") >= 0 || entryName.indexOf("resource-") >= 0) { // INFO: see for example src/resources/user-mgmt/
log.info("Resource definition: " + entryName);
URL resourceURL = ResourceTypeRegistry.class.getClassLoader().getResource(entryName);
//URL resourceURL = ResourceTypeRegistry.class.getClassLoader().getResource(packageName.replace('.','/') + "/resource.xml");
@@ -206,41 +213,39 @@
} else {
log.error("No such file or directory: " + packageURL.getPath());
}
- } catch (Exception e) {
- log.error(e.getMessage()); // INFO: Do not show this error message, because it is not really an error in most cases
- log.debug("No package attribute, hence try src attribute...");
- log.info("No package attribute, hence try src attribute...");
+ } else {
+ log.info("Resource type element has no package attribute, hence try src attribute...");
try {
File resConfigFile = new File(resourceTypes[i].getAttribute("src"));
- log.info("Source: " + resConfigFile);
+ log.info("Loading resource from source: " + resConfigFile);
if (!resConfigFile.isAbsolute()) {
resConfigFile = FileUtil.file(resourceTypeConfigFile.getParentFile().getAbsolutePath(), resourceTypes[i].getAttribute("src"));
}
- if (resConfigFile.isDirectory()) {
- File resDir = resConfigFile;
+ if (resConfigFile.isDirectory()) {
+ File resDir = resConfigFile;
- Iterator iter = FileUtils.listFiles(resDir, new WildcardFilter("resource*.xml"), null).iterator();
- while (iter.hasNext()) {
- resConfigFile = (File)iter.next();
- log.debug("found resource config: " + resConfigFile);
+ Iterator iter = FileUtils.listFiles(resDir, new WildcardFilter("resource*.xml"), null).iterator();
+ while (iter.hasNext()) {
+ resConfigFile = (File)iter.next();
+ log.debug("found resource config: " + resConfigFile);
+ ResourceTypeDefinition rtd = new ResourceTypeDefinition(resConfigFile);
+ if (log.isDebugEnabled()) {
+ log.debug("Universal Name: " + rtd.getResourceTypeUniversalName());
+ log.debug("Classname: " + rtd.getResourceTypeClassname());
+ }
+ hm.put(rtd.getResourceTypeUniversalName(), rtd);
+ }
+ } else if (resConfigFile.isFile()) {
ResourceTypeDefinition rtd = new ResourceTypeDefinition(resConfigFile);
if (log.isDebugEnabled()) {
log.debug("Universal Name: " + rtd.getResourceTypeUniversalName());
log.debug("Classname: " + rtd.getResourceTypeClassname());
}
hm.put(rtd.getResourceTypeUniversalName(), rtd);
+ } else {
+ log.error("No such file or directory: " + resConfigFile);
}
- } else if (resConfigFile.isFile()) {
- ResourceTypeDefinition rtd = new ResourceTypeDefinition(resConfigFile);
- if (log.isDebugEnabled()) {
- log.debug("Universal Name: " + rtd.getResourceTypeUniversalName());
- log.debug("Classname: " + rtd.getResourceTypeClassname());
- }
- hm.put(rtd.getResourceTypeUniversalName(), rtd);
- } else {
- log.error("No such file or directory: " + resConfigFile);
- }
} catch (Exception exception) {
log.error(exception, exception);
}
More information about the Yanel-commits
mailing list