[GUMP@vmgump]: Project tomcat-taglibs-standard (in module tomcat-taglibs) failed

2012-09-27 Thread Gump
To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at gene...@gump.apache.org.

Project tomcat-taglibs-standard has an issue affecting its community 
integration.
This issue affects 2 projects,
 and has been outstanding for 99 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-taglibs-standard :  Standard Taglib
- tomcat-taglibs-standard-install :  JSP Taglibs


Full details are available at:

http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -INFO- Optional dependency httpunit failed with reason build failed
 -DEBUG- (Apache Gump generated) Apache Maven Settings in: 
/srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml
 -INFO- Failed with reason build failed
 -DEBUG- Maven POM in: 
/srv/gump/public/workspace/tomcat-taglibs/standard/pom.xml
 -INFO- Failed to extract fallback artifacts from Gump Repository



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/gump_work/build_tomcat-taglibs_tomcat-taglibs-standard.html
Work Name: build_tomcat-taglibs_tomcat-taglibs-standard (Type: Build)
Work ended in a state of : Failed
Elapsed: 21 secs
Command Line: /opt/maven2/bin/mvn --batch-mode -DskipTests=true --settings 
/srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml 
install 
[Working Directory: /srv/gump/public/workspace/tomcat-taglibs/standard]
M2_HOME: /opt/maven2
-
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Nothing to compile - all classes are up to date
[debug] execute contextualize
[INFO] [resources:testResources {execution: default-testResources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory 
/srv/gump/public/workspace/tomcat-taglibs/standard/spec/src/test/resources
[INFO] Copying 3 resources
[INFO] [compiler:testCompile {execution: default-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default-test}]
[INFO] Tests are skipped.
[INFO] [bundle:bundle {execution: default-bundle}]
[INFO] [install:install {execution: default-install}]
[INFO] Installing 
/srv/gump/public/workspace/tomcat-taglibs/standard/spec/target/taglibs-standard-spec-1.2-SNAPSHOT.jar
 to 
/srv/gump/public/workspace/mvnlocalrepo/shared/org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar
[INFO] [bundle:install {execution: default-install}]
[INFO] Parsing 
file:/srv/gump/public/workspace/mvnlocalrepo/shared/repository.xml
[INFO] Installing 
org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar
[INFO] Writing OBR metadata
[INFO] 
[INFO] Building JSTL Implementation
[INFO]task-segment: [install]
[INFO] 
[INFO] [remote-resources:process {execution: default}]
[INFO] snapshot org.apache.taglibs:taglibs-standard-spec:1.2-SNAPSHOT: checking 
for updates from apache.snapshots
[debug] execute contextualize
[INFO] [resources:resources {execution: default-resources}]
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 14 resources
[INFO] Copying 3 resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Compiling 96 source files to 
/srv/gump/public/workspace/tomcat-taglibs/standard/impl/target/classes
[INFO] -
[ERROR] COMPILATION ERROR : 
[INFO] -
[ERROR] 
/srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7]
 error: DataSourceWrapper is not abstract and does not override abstract method 
getParentLogger() in CommonDataSource
[INFO] 1 error
[INFO] -
[INFO] 
[ERROR] BUILD FAILURE
[INFO] 
[INFO] Compilation failure
/srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7]
 error: DataSourceWrapper is not abstract and does not override abstract method 
getParentLogger() in CommonDataSource

[INFO] 
[INFO] For more information, run Maven with the -e switch
[INFO] 

svn commit: r1390882 - in /tomcat/trunk/java/org/apache/catalina: Context.java core/StandardWrapperValve.java manager/HTMLManagerServlet.java manager/ManagerServlet.java

2012-09-27 Thread markt
Author: markt
Date: Thu Sep 27 08:20:12 2012
New Revision: 1390882

URL: http://svn.apache.org/viewvc?rev=1390882view=rev
Log:
Deprecate unnecessary code

Modified:
tomcat/trunk/java/org/apache/catalina/Context.java
tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java
tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java

Modified: tomcat/trunk/java/org/apache/catalina/Context.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1390882r1=1390881r2=1390882view=diff
==
--- tomcat/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Context.java Thu Sep 27 08:20:12 2012
@@ -151,7 +151,12 @@ public interface Context extends Contain
 
 /**
  * Return the application available flag for this Context.
+ *
+ * @deprecated  This will be removed in Tomcat 8.0.x onwards. Use
+ *  {@link #getState()}.{@link LifecycleState#isAvailable()
+ *  isAvailable()} instead
  */
+@Deprecated
 public boolean getAvailable();
 
 

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java?rev=1390882r1=1390881r2=1390882view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardWrapperValve.java Thu 
Sep 27 08:20:12 2012
@@ -107,7 +107,7 @@ final class StandardWrapperValve
 Context context = (Context) wrapper.getParent();
 
 // Check for the application being marked unavailable
-if (!context.getAvailable()) {
+if (!context.getState().isAvailable()) {
 response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE,
sm.getString(standardContext.isUnavailable));
 unavailable = true;
@@ -359,7 +359,8 @@ final class StandardWrapperValve
 Context context = (Context) wrapper.getParent();
 
 // Check for the application being marked unavailable
-boolean unavailable = !context.getAvailable() || 
wrapper.isUnavailable();
+boolean unavailable = !context.getState().isAvailable() ||
+wrapper.isUnavailable();
 
 // Allocate a servlet instance to process this request
 try {

Modified: tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java?rev=1390882r1=1390881r2=1390882view=diff
==
--- tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java Thu 
Sep 27 08:20:12 2012
@@ -510,7 +510,7 @@ public final class HTMLManagerServlet ex
 } else {
 args[2] = RequestUtil.filter(ctxt.getDisplayName());
 }
-args[3] = Boolean.valueOf(ctxt.getAvailable());
+args[3] = Boolean.valueOf(ctxt.getState().isAvailable());
 args[4] = 
RequestUtil.filter(response.encodeURL(request.getContextPath() +
  /html/sessions? + pathVersion));
 Manager manager = ctxt.getManager();
@@ -559,13 +559,13 @@ public final class HTMLManagerServlet ex
 if (ctxt.getName().equals(this.context.getName())) {
 writer.print(MessageFormat.format(
 MANAGER_APP_ROW_BUTTON_SECTION, args));
-} else if (ctxt.getAvailable()  isDeployed) {
+} else if (ctxt.getState().isAvailable()  isDeployed) {
 writer.print(MessageFormat.format(
 STARTED_DEPLOYED_APPS_ROW_BUTTON_SECTION, args));
-} else if (ctxt.getAvailable()  !isDeployed) {
+} else if (ctxt.getState().isAvailable()  !isDeployed) {
 writer.print(MessageFormat.format(
 STARTED_NONDEPLOYED_APPS_ROW_BUTTON_SECTION, args));
-} else if (!ctxt.getAvailable()  isDeployed) {
+} else if (!ctxt.getState().isAvailable()  isDeployed) {
 writer.print(MessageFormat.format(
 STOPPED_DEPLOYED_APPS_ROW_BUTTON_SECTION, args));
 } else {

Modified: tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=1390882r1=1390881r2=1390882view=diff

svn commit: r1390884 - in /tomcat/trunk/java/org/apache/catalina: Context.java core/StandardContext.java startup/FailedContext.java

2012-09-27 Thread markt
Author: markt
Date: Thu Sep 27 08:22:56 2012
New Revision: 1390884

URL: http://svn.apache.org/viewvc?rev=1390884view=rev
Log:
Remove deprecated code

Modified:
tomcat/trunk/java/org/apache/catalina/Context.java
tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java

Modified: tomcat/trunk/java/org/apache/catalina/Context.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1390884r1=1390883r2=1390884view=diff
==
--- tomcat/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Context.java Thu Sep 27 08:22:56 2012
@@ -150,17 +150,6 @@ public interface Context extends Contain
 
 
 /**
- * Return the application available flag for this Context.
- *
- * @deprecated  This will be removed in Tomcat 8.0.x onwards. Use
- *  {@link #getState()}.{@link LifecycleState#isAvailable()
- *  isAvailable()} instead
- */
-@Deprecated
-public boolean getAvailable();
-
-
-/**
  * Obtain the character set name to use with the given Locale. Note that
  * different Contexts may have different mappings of Locale to character
  * set.

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1390884r1=1390883r2=1390884view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Thu Sep 27 
08:22:56 2012
@@ -1398,18 +1398,6 @@ public class StandardContext extends Con
 
 
 /**
- * Return the application available flag for this Context.
- */
-@Override
-public boolean getAvailable() {
-
-// TODO Remove this method entirely
-return getState().isAvailable();
-
-}
-
-
-/**
  * Return the Locale to character set mapper for this Context.
  */
 public CharsetMapper getCharsetMapper() {

Modified: tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java?rev=1390884r1=1390883r2=1390884view=diff
==
--- tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java Thu Sep 27 
08:22:56 2012
@@ -312,9 +312,6 @@ public class FailedContext extends Lifec
 public void setApplicationLifecycleListeners(Object[] listeners) { /* 
NO-OP */ }
 
 @Override
-public boolean getAvailable() { return false; }
-
-@Override
 public String getCharset(Locale locale) { return null; }
 
 @Override



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1390886 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/Context.java java/org/apache/catalina/core/StandardWrapperValve.java java/org/apache/catalina/manager/HTMLManagerServlet.ja

2012-09-27 Thread markt
Author: markt
Date: Thu Sep 27 08:24:49 2012
New Revision: 1390886

URL: http://svn.apache.org/viewvc?rev=1390886view=rev
Log:
Deprecate unnecessary code

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java

tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1390882

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java?rev=1390886r1=1390885r2=1390886view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/Context.java Thu Sep 27 
08:24:49 2012
@@ -164,7 +164,12 @@ public interface Context extends Contain
 
 /**
  * Return the application available flag for this Context.
+ *
+ * @deprecated  This will be removed in Tomcat 8.0.x onwards. Use
+ *  {@link #getState()}.{@link LifecycleState#isAvailable()
+ *  isAvailable()} instead
  */
+@Deprecated
 public boolean getAvailable();
 
 

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java?rev=1390886r1=1390885r2=1390886view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/core/StandardWrapperValve.java 
Thu Sep 27 08:24:49 2012
@@ -106,7 +106,7 @@ final class StandardWrapperValve
 Context context = (Context) wrapper.getParent();
 
 // Check for the application being marked unavailable
-if (!context.getAvailable()) {
+if (!context.getState().isAvailable()) {
 response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE,
sm.getString(standardContext.isUnavailable));
 unavailable = true;
@@ -358,7 +358,8 @@ final class StandardWrapperValve
 Context context = (Context) wrapper.getParent();
 
 // Check for the application being marked unavailable
-boolean unavailable = !context.getAvailable() || 
wrapper.isUnavailable();
+boolean unavailable = !context.getState().isAvailable() ||
+wrapper.isUnavailable();
 
 // Allocate a servlet instance to process this request
 try {

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java?rev=1390886r1=1390885r2=1390886view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/HTMLManagerServlet.java 
Thu Sep 27 08:24:49 2012
@@ -504,7 +504,7 @@ public final class HTMLManagerServlet ex
 } else {
 args[2] = RequestUtil.filter(ctxt.getDisplayName());
 }
-args[3] = Boolean.valueOf(ctxt.getAvailable());
+args[3] = Boolean.valueOf(ctxt.getState().isAvailable());
 args[4] = 
RequestUtil.filter(response.encodeURL(request.getContextPath() +
  /html/sessions? + pathVersion));
 Manager manager = ctxt.getManager(); 
@@ -553,13 +553,13 @@ public final class HTMLManagerServlet ex
 if (ctxt.getName().equals(this.context.getName())) {
 writer.print(MessageFormat.format(
 MANAGER_APP_ROW_BUTTON_SECTION, args));
-} else if (ctxt.getAvailable()  isDeployed) {
+} else if (ctxt.getState().isAvailable()  isDeployed) {
 writer.print(MessageFormat.format(
 STARTED_DEPLOYED_APPS_ROW_BUTTON_SECTION, args));
-} else if (ctxt.getAvailable()  !isDeployed) {
+} else if (ctxt.getState().isAvailable()  !isDeployed) {
 writer.print(MessageFormat.format(
 STARTED_NONDEPLOYED_APPS_ROW_BUTTON_SECTION, args));
-} else if (!ctxt.getAvailable()  isDeployed) {
+} else if (!ctxt.getState().isAvailable()  isDeployed) {
 writer.print(MessageFormat.format(
 

svn commit: r1390889 - in /tomcat/sandbox/trunk-resources: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/webresources/ test/org/apache/catalina/webresources/

2012-09-27 Thread markt
Author: markt
Date: Thu Sep 27 08:37:42 2012
New Revision: 1390889

URL: http://svn.apache.org/viewvc?rev=1390889view=rev
Log:
Make cacher TTL configurable

Modified:
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java

tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java?rev=1390889r1=1390888r2=1390889view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java 
Thu Sep 27 08:37:42 2012
@@ -238,6 +238,20 @@ public interface WebResourceRoot extends
  */
 boolean getAllowLinking();
 
+/**
+ * Set the Time-To-Live (TTL) for cache entries.
+ *
+ * @param ttl   TTL in milliseconds
+ */
+void setCacheTtl(long ttl);
+
+/**
+ * Get the Time-To-Live (TTL) for cache entries.
+ *
+ * @return  TTL in milliseconds
+ */
+long getCacheTtl();
+
 public static enum ResourceSetType {
 PRE,
 RESOURCE_JAR,

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java?rev=1390889r1=1390888r2=1390889view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
 Thu Sep 27 08:37:42 2012
@@ -4786,10 +4786,11 @@ public class StandardContext extends Con
 resources.setAllowLinking(isAllowLinking());
 resources.start();
 
-// TODO: Implement caching. Is it necessary?
+resources.setCacheTtl(getCacheTTL());
+// TODO: Implement caching.
 // isCachingAllowed()
-// getCacheTTL()
 // getCacheMaxSize()
+// getCacheMaxObjectSize()
 
 if (effectiveMajorVersion =3  addWebinfClassesResources) {
 WebResource webinfClassesResource = resources.getResource(

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java?rev=1390889r1=1390888r2=1390889view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
Thu Sep 27 08:37:42 2012
@@ -25,6 +25,8 @@ public class Cache {
 
 private final StandardRoot root;
 
+private long ttl = 5000;
+
 private ConcurrentMapString,CachedResource resourceCache =
 new ConcurrentHashMap();
 
@@ -36,7 +38,7 @@ public class Cache {
 // Multiple concurrent callers will end up with the same CachedResource
 // instance
 // TODO Config for TTL
-CachedResource newCacheEntry = new CachedResource(root, path, 5000);
+CachedResource newCacheEntry = new CachedResource(root, path, ttl);
 CachedResource result =
 resourceCache.putIfAbsent(path, newCacheEntry);
 
@@ -52,4 +54,14 @@ public class Cache {
 }
 
 // TODO add background expiration
+
+
+
+public long getTtl() {
+return ttl;
+}
+
+public void setTtl(long ttl) {
+this.ttl = ttl;
+}
 }

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java?rev=1390889r1=1390888r2=1390889view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java
 Thu Sep 27 08:37:42 2012
@@ -295,6 +295,14 @@ public class StandardRoot extends Lifecy
 return allowLinking;
 }
 
+public long getCacheTtl() {
+return cache.getTtl();
+}
+
+public void setCacheTtl(long cacheTtl) {
+cache.setTtl(cacheTtl);
+}
+
 @Override
 public Context getContext() {
 

svn commit: r1390899 - in /tomcat/sandbox/trunk-resources: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/webresources/ test/org/apache/catalina/webresources/

2012-09-27 Thread markt
Author: markt
Date: Thu Sep 27 08:57:58 2012
New Revision: 1390899

URL: http://svn.apache.org/viewvc?rev=1390899view=rev
Log:
Make cachingAllowed configurable

Modified:
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java

tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java?rev=1390899r1=1390898r2=1390899view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/WebResourceRoot.java 
Thu Sep 27 08:57:58 2012
@@ -238,6 +238,9 @@ public interface WebResourceRoot extends
  */
 boolean getAllowLinking();
 
+void setCachingAllowed(boolean cachingAllowed);
+boolean isCachingAllowed();
+
 /**
  * Set the Time-To-Live (TTL) for cache entries.
  *

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java?rev=1390899r1=1390898r2=1390899view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
 Thu Sep 27 08:57:58 2012
@@ -4784,11 +4784,13 @@ public class StandardContext extends Con
 boolean ok = true;
 
 resources.setAllowLinking(isAllowLinking());
-resources.start();
 
 resources.setCacheTtl(getCacheTTL());
+resources.setCachingAllowed(isCachingAllowed());
+
+resources.start();
+
 // TODO: Implement caching.
-// isCachingAllowed()
 // getCacheMaxSize()
 // getCacheMaxObjectSize()
 

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java?rev=1390899r1=1390898r2=1390899view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/StandardRoot.java
 Thu Sep 27 08:57:58 2012
@@ -62,6 +62,7 @@ public class StandardRoot extends Lifecy
 private ArrayListWebResourceSet postResources = new ArrayList();
 
 private Cache cache = new Cache(this);
+private boolean cachingAllowed = true;
 
 // Constructs to make iteration over all WebResourceSets simpler
 private ArrayListWebResourceSet mainResources = new ArrayList();
@@ -158,7 +159,11 @@ public class StandardRoot extends Lifecy
 
 @Override
 public WebResource getResource(String path) {
-return cache.getResource(path);
+if (isCachingAllowed()) {
+return cache.getResource(path);
+} else {
+return getResourceInternal(path);
+}
 }
 
 protected WebResource getResourceInternal(String path) {
@@ -295,10 +300,22 @@ public class StandardRoot extends Lifecy
 return allowLinking;
 }
 
+@Override
+public void setCachingAllowed(boolean cachingAllowed) {
+this.cachingAllowed = cachingAllowed;
+}
+
+@Override
+public boolean isCachingAllowed() {
+return cachingAllowed;
+}
+
+@Override
 public long getCacheTtl() {
 return cache.getTtl();
 }
 
+@Override
 public void setCacheTtl(long cacheTtl) {
 cache.setTtl(cacheTtl);
 }

Modified: 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java?rev=1390899r1=1390898r2=1390899view=diff
==
--- 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/webresources/TesterWebResourceRoot.java
 Thu Sep 27 08:57:58 2012
@@ -147,6 +147,16 @@ public class TesterWebResourceRoot imple
 }
 
 @Override
+public void setCachingAllowed(boolean cachingAllowed) {
+// NO-OP
+}
+
+@Override
+public boolean isCachingAllowed() {
+

svn commit: r1390900 - in /tomcat/sandbox/trunk-resources: ./ java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/manager/ java/org/apache/catalina/startup/

2012-09-27 Thread markt
Author: markt
Date: Thu Sep 27 08:59:50 2012
New Revision: 1390900

URL: http://svn.apache.org/viewvc?rev=1390900view=rev
Log:
Sync with trunk

Modified:
tomcat/sandbox/trunk-resources/   (props changed)
tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/ManagerServlet.java

tomcat/sandbox/trunk-resources/java/org/apache/catalina/startup/FailedContext.java

Propchange: tomcat/sandbox/trunk-resources/
--
  Merged /tomcat/trunk:r1390718-1390899

Modified: tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java?rev=1390900r1=1390899r2=1390900view=diff
==
--- tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java 
(original)
+++ tomcat/sandbox/trunk-resources/java/org/apache/catalina/Context.java Thu 
Sep 27 08:59:50 2012
@@ -149,12 +149,6 @@ public interface Context extends Contain
 
 
 /**
- * Return the application available flag for this Context.
- */
-public boolean getAvailable();
-
-
-/**
  * Obtain the character set name to use with the given Locale. Note that
  * different Contexts may have different mappings of Locale to character
  * set.

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java?rev=1390900r1=1390899r2=1390900view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardContext.java
 Thu Sep 27 08:59:50 2012
@@ -1334,18 +1334,6 @@ public class StandardContext extends Con
 
 
 /**
- * Return the application available flag for this Context.
- */
-@Override
-public boolean getAvailable() {
-
-// TODO Remove this method entirely
-return getState().isAvailable();
-
-}
-
-
-/**
  * Return the Locale to character set mapper for this Context.
  */
 public CharsetMapper getCharsetMapper() {

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java?rev=1390900r1=1390899r2=1390900view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/core/StandardWrapperValve.java
 Thu Sep 27 08:59:50 2012
@@ -107,7 +107,7 @@ final class StandardWrapperValve
 Context context = (Context) wrapper.getParent();
 
 // Check for the application being marked unavailable
-if (!context.getAvailable()) {
+if (!context.getState().isAvailable()) {
 response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE,
sm.getString(standardContext.isUnavailable));
 unavailable = true;
@@ -359,7 +359,8 @@ final class StandardWrapperValve
 Context context = (Context) wrapper.getParent();
 
 // Check for the application being marked unavailable
-boolean unavailable = !context.getAvailable() || 
wrapper.isUnavailable();
+boolean unavailable = !context.getState().isAvailable() ||
+wrapper.isUnavailable();
 
 // Allocate a servlet instance to process this request
 try {

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java?rev=1390900r1=1390899r2=1390900view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java
 (original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/manager/HTMLManagerServlet.java
 Thu Sep 27 08:59:50 2012
@@ -510,7 +510,7 @@ public final class HTMLManagerServlet ex
 } else {
 args[2] = RequestUtil.filter(ctxt.getDisplayName());
 }
-args[3] = 

Re: Resources - Is DirContext the right basis for the API?

2012-09-27 Thread Konstantin Kolinko
2012/9/27 Mark Thomas ma...@apache.org:
 On 19/09/2012 20:46, Mark Thomas wrote:
 On 09/09/2012 19:50, Mark Thomas wrote:
 This is part of issue b) in Konstantin's comments in TOMCAT-NEXT.txt

 Konstantin has accurately summed up the issues with basing the API on
 DirContext as:
  - Unnecessary objects, e.g. NamingException instead of null.

  - Too many methods. Name vs. String. list() vs. listBindings().

  - Limited API. As a workaround, there are non-standard methods that
are implemented on BaseDirContext instead, e.g. getRealPath(),
doListBindings(..).

 I do not believe that the resources implementation should be based
 around DirContext. It adds a lot of unnecessary clutter and complexity
 to something that is already fairly complex. A comparison of the
 DirContext based implementation objects with the new implementation
 demonstrates - in my view - how much simpler this could be.

 This is the next issue I'd like to resolve.

 Does anyone have any views one way or the other as to whether or not any
 refactoring of the Resources implementation should continue to be based
 around the JNDI DirContext interface?

 My own view remains that DirContext adds complexity and clutter to code
 that needs simplicity and clarity.

 There being no arguments against this in the last week, I am going to
 move forward on the basis that is issue is resolved and that no-one
 feels that DirContext is the right basis for the new resources
 implementation.


I am sure that DirContext is not the right API to define resources.

At best is could be a [deprecated] view/proxy to the actual implementation.

The only benefit I see in using this API by someone is that the API
itself is defined in javax.* and so one can avoid compile-time
dependencies on Tomcat code.

Best regards,
Konstantin Kolinko

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1390904 - /tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java

2012-09-27 Thread markt
Author: markt
Date: Thu Sep 27 09:09:47 2012
New Revision: 1390904

URL: http://svn.apache.org/viewvc?rev=1390904view=rev
Log:
Remove deprecated code

Modified:

tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java

Modified: 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java?rev=1390904r1=1390903r2=1390904view=diff
==
--- 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/test/org/apache/catalina/core/TesterContext.java 
Thu Sep 27 09:09:47 2012
@@ -305,11 +305,6 @@ public class TesterContext implements Co
 }
 
 @Override
-public boolean getAvailable() {
-return false;
-}
-
-@Override
 public String getCharset(Locale locale) {
 return null;
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Resources - Is DirContext the right basis for the API?

2012-09-27 Thread Mark Thomas
On 27/09/2012 10:09, Konstantin Kolinko wrote:
 I am sure that DirContext is not the right API to define resources.
 
 At best is could be a [deprecated] view/proxy to the actual implementation.
 
 The only benefit I see in using this API by someone is that the API
 itself is defined in javax.* and so one can avoid compile-time
 dependencies on Tomcat code.

The only reason I can see for avoiding Tomcat dependencies is
portability. There is no guarantee that other containers will provide
the same interface. There is, however, a reason for other containers not
to provide the same interface - the Servlet API already provides a
standard, container neutral, portable way to access resources.

Is there another use case where avoiding compile time dependencies might
be useful?

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1390925 - /tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

2012-09-27 Thread markt
Author: markt
Date: Thu Sep 27 10:12:58 2012
New Revision: 1390925

URL: http://svn.apache.org/viewvc?rev=1390925view=rev
Log:
Remove completed TODO

Modified:

tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java

Modified: 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java
URL: 
http://svn.apache.org/viewvc/tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java?rev=1390925r1=1390924r2=1390925view=diff
==
--- 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
(original)
+++ 
tomcat/sandbox/trunk-resources/java/org/apache/catalina/webresources/Cache.java 
Thu Sep 27 10:12:58 2012
@@ -37,7 +37,6 @@ public class Cache {
 protected WebResource getResource(String path) {
 // Multiple concurrent callers will end up with the same CachedResource
 // instance
-// TODO Config for TTL
 CachedResource newCacheEntry = new CachedResource(root, path, ttl);
 CachedResource result =
 resourceCache.putIfAbsent(path, newCacheEntry);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Resources - Is DirContext the right basis for the API?

2012-09-27 Thread Costin Manolache
On Thu, Sep 27, 2012 at 2:14 AM, Mark Thomas ma...@apache.org wrote:

 On 27/09/2012 10:09, Konstantin Kolinko wrote:
  I am sure that DirContext is not the right API to define resources.
 
  At best is could be a [deprecated] view/proxy to the actual
 implementation.
 
  The only benefit I see in using this API by someone is that the API
  itself is defined in javax.* and so one can avoid compile-time
  dependencies on Tomcat code.

 The only reason I can see for avoiding Tomcat dependencies is
 portability. There is no guarantee that other containers will provide
 the same interface. There is, however, a reason for other containers not
 to provide the same interface - the Servlet API already provides a
 standard, container neutral, portable way to access resources.

 Is there another use case where avoiding compile time dependencies might
 be useful?




One use for a resource API is if it provides different backends - like
Hadoop filesystem abstraction
does. Than you could serve from hdfs/db/etc, and someone could use the same
api in deploy tools
 or general programs.
One of the unrealized benefits with JNDI was that it may provide many
backends - LDAP, DB, etc -
that would be directly usable in tomcat.

If the new resources can be implemented as a self-contained dependency,
i.e. don't require
the entire tomcat - someone could use them in other apps.

BTW - how does it compare with hadoop FS ?

Costin


[Bug 53940] New: Added support for new CRL loading after expiration

2012-09-27 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=53940

  Priority: P2
Bug ID: 53940
  Assignee: dev@tomcat.apache.org
   Summary: Added support for new CRL loading after expiration
  Severity: enhancement
Classification: Unclassified
OS: All
  Reporter: ar...@noc.edunet.gr
  Hardware: PC
Status: NEW
   Version: 1.1.24
 Component: Library
   Product: Tomcat Native

Created attachment 29426
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=29426action=edit
CRL reloading support.

Apache Tomcat with tcnative loads the CRL list when it starts up, and ignores
any following updates. The use of OCSP can help this issue to be amortized.
However, the issue comes back again when the CRL expires, and Apache Tomcat
refuses to complete any more requests because of the expired CRL.

With this patch, it is possible to reload the new CRL when the previous one
expires. For more information about the patch please have a look at:
http://code.uoa.gr/p/tomcat-ocsp/reload.php

It would be nice to include it in tha main Tomcat Tree, since together with the
OCSP support, it is possible to have fast and stable cert verification to be
used with client authentication.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Resources - Is DirContext the right basis for the API?

2012-09-27 Thread Mark Thomas


Costin Manolache cos...@gmail.com wrote:

On Thu, Sep 27, 2012 at 2:14 AM, Mark Thomas ma...@apache.org wrote:

 On 27/09/2012 10:09, Konstantin Kolinko wrote:
  I am sure that DirContext is not the right API to define resources.
 
  At best is could be a [deprecated] view/proxy to the actual
 implementation.
 
  The only benefit I see in using this API by someone is that the API
  itself is defined in javax.* and so one can avoid compile-time
  dependencies on Tomcat code.

 The only reason I can see for avoiding Tomcat dependencies is
 portability. There is no guarantee that other containers will provide
 the same interface. There is, however, a reason for other containers
not
 to provide the same interface - the Servlet API already provides a
 standard, container neutral, portable way to access resources.

 Is there another use case where avoiding compile time dependencies
might
 be useful?




One use for a resource API is if it provides different backends - like
Hadoop filesystem abstraction
does. Than you could serve from hdfs/db/etc, and someone could use the
same
api in deploy tools
 or general programs.
One of the unrealized benefits with JNDI was that it may provide many
backends - LDAP, DB, etc -
that would be directly usable in tomcat.

Given the time the DirContext based resources API was in Tomcat and the lack of 
wider use suggests that either there is no demand or that the API did not meet 
the requirements of users that had a requirement for it.

If the new resources can be implemented as a self-contained dependency,
i.e. don't require
the entire tomcat - someone could use them in other apps.

They are not entirely self-contained. They could be with some refactoring, but 
that isn't particularly high on my to do list.

The APIs are also very focussed on what a Servlet container requires. They are 
not general. Again they could be but it isn't a priority for me.

BTW - how does it compare with hadoop FS ?

Don't know, haven't looked.

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Resources - Is DirContext the right basis for the API?

2012-09-27 Thread Remy Maucherat
On Thu, 2012-09-27 at 07:34 -0700, Costin Manolache wrote:
 One use for a resource API is if it provides different backends - like
 Hadoop filesystem abstraction
 does. Than you could serve from hdfs/db/etc, and someone could use the same
 api in deploy tools
  or general programs.
 One of the unrealized benefits with JNDI was that it may provide many
 backends - LDAP, DB, etc -
 that would be directly usable in tomcat.

Yes, you convinced me to bother with JNDI in order to have a standard
API that others could use if they wanted to integrate. I used it in
Slide, but that was it, so it wasn't useful in the end. Of course, we
had no real idea to know that at the time, and it is possibly because we
didn't bother documenting/advertising it much.

 If the new resources can be implemented as a self-contained dependency,
 i.e. don't require
 the entire tomcat - someone could use them in other apps.
 
 BTW - how does it compare with hadoop FS ?

Rémy



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Resources - Is DirContext the right basis for the API?

2012-09-27 Thread Costin Manolache
On Thu, Sep 27, 2012 at 10:54 AM, Remy Maucherat r...@apache.org wrote:

 On Thu, 2012-09-27 at 07:34 -0700, Costin Manolache wrote:
  One use for a resource API is if it provides different backends - like
  Hadoop filesystem abstraction
  does. Than you could serve from hdfs/db/etc, and someone could use the
 same
  api in deploy tools
   or general programs.
  One of the unrealized benefits with JNDI was that it may provide many
  backends - LDAP, DB, etc -
  that would be directly usable in tomcat.

 Yes, you convinced me to bother with JNDI in order to have a standard
 API that others could use if they wanted to integrate. I used it in
 Slide, but that was it, so it wasn't useful in the end. Of course, we
 had no real idea to know that at the time, and it is possibly because we
 didn't bother documenting/advertising it much.


Yes, I was wrong - but I learned a lot in the last 10 years :-)
( and this isn't the only mistake I made ).

I still think it's a good idea to have a good abstraction API for resources
-
and the key is to have it documented/advertised/used and more important
implemented for various backends.
One way to do this is to make sure it's not very tied to tomcat.


Costin



  If the new resources can be implemented as a self-contained dependency,
  i.e. don't require
  the entire tomcat - someone could use them in other apps.
 
  BTW - how does it compare with hadoop FS ?

 Rémy



 -
 To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: dev-h...@tomcat.apache.org




[Bug 53938] Silent Install

2012-09-27 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=53938

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

 OS||All
   Severity|normal  |enhancement

--- Comment #1 from Mark Thomas ma...@apache.org ---
Feature request == enhancement

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 53903] Embedded Tomcat7 does not process Servlet API3.0 Annotations (WebListener)

2012-09-27 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=53903

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #5 from Mark Thomas ma...@apache.org ---
Not an issue. The behaviour of the JarScanner is documented. Suggestions for
documentation patches welcome.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Resources - Is DirContext the right basis for the API?

2012-09-27 Thread Costin Manolache
On Thu, Sep 27, 2012 at 10:18 AM, Mark Thomas ma...@apache.org wrote:



 Costin Manolache cos...@gmail.com wrote:

 On Thu, Sep 27, 2012 at 2:14 AM, Mark Thomas ma...@apache.org wrote:
 
  On 27/09/2012 10:09, Konstantin Kolinko wrote:
   I am sure that DirContext is not the right API to define resources.
  
   At best is could be a [deprecated] view/proxy to the actual
  implementation.
  
   The only benefit I see in using this API by someone is that the API
   itself is defined in javax.* and so one can avoid compile-time
   dependencies on Tomcat code.
 
  The only reason I can see for avoiding Tomcat dependencies is
  portability. There is no guarantee that other containers will provide
  the same interface. There is, however, a reason for other containers
 not
  to provide the same interface - the Servlet API already provides a
  standard, container neutral, portable way to access resources.
 
  Is there another use case where avoiding compile time dependencies
 might
  be useful?
 
 
 
 
 One use for a resource API is if it provides different backends - like
 Hadoop filesystem abstraction
 does. Than you could serve from hdfs/db/etc, and someone could use the
 same
 api in deploy tools
  or general programs.
 One of the unrealized benefits with JNDI was that it may provide many
 backends - LDAP, DB, etc -
 that would be directly usable in tomcat.

 Given the time the DirContext based resources API was in Tomcat and the
 lack of wider use suggests that either there is no demand or that the API
 did not meet the requirements of users that had a requirement for it.


I agree, 10 years ago we didn't know this will happen.



 If the new resources can be implemented as a self-contained dependency,
 i.e. don't require
 the entire tomcat - someone could use them in other apps.

 They are not entirely self-contained. They could be with some refactoring,
 but that isn't particularly high on my to do list.


As I said, I think a problem with JNDI is that it ended up not getting
used, and it doesn't have too many backends.

The new resource API is a step forward - it's cleaner/simpler - but I think
having it used (and implemented) outside
tomcat would help.

Alternative: have an easy way to wrap other APIs, like hadoop.

It's well worth comparing with and using hadoop APIs - there are plenty of
new storage systems and it seems
a useful thing to be able to integrate well and serve from them.


 The APIs are also very focussed on what a Servlet container requires. They
 are not general. Again they could be but it isn't a priority for me.

 BTW - how does it compare with hadoop FS ?

 Don't know, haven't looked.

 Mark

 -
 To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: dev-h...@tomcat.apache.org