Hi,

I have a problem with the location of deployed static resources. I am trying the deploy the WAR file, generated after building the full-war launcher, on the Tomcat6. With default configurations of JerseyEndpoint static (ALIAS_PROPERTY=/, STATIC_RESOURCES_URL_ROOT_PROPERTY=/static) and having 'stanbol' as war name, static resources are deployed under http://localhost:8080/stanbol/ e.g http://localhost:8080/stanbol/static/home/style/stanbol.css. But in this case, this resource is searched under http://localhost:8080/static/home/style/stanbol.css as its href is /static/home/style/stanbol.css.

When I update JerseyEndpoint configuration such that ALIAS_PROPERTY=/ and STATIC_RESOURCES_URL_ROOT_PROPERTY=/stanbol/static, this time the resource is deployed under http://localhost:8080/stanbol/stanbol/static/home/style/stanbol.css but it is searched under http://localhost:8080/stanbol/static/home/style/stanbol.css.

As far as I understand, there won't be any problem if hrefs of static resources wouldn't start with a /. However, aliases should be started with a / when registering resources to http service.

Therefore, the only solution we produced is to attach ALIAS_PROPERTY at the beginning of the resource aliases while registering and returning full URL of static resources in the BaseStanbolResource as previously done.

Do you have any other suggestion to solve this problem in a better way?

Thanks in advance,
Suat

On 10/18/2011 04:03 PM, Fabian Christ wrote:
Hi,

I would like to vote -1 for this commit because this change seems to be the
wrong solution and it breaks Stanbol instances which run on another alias
for static resources.

The addressed problem is that the method getStaticRootURL returns by default
a wrong value when Stanbol is deployed in a WAR context. But changing the
return value by adding the base URI string at the beginning is not correct.
The alias and static root resource alias (STATIC_RESOURCES_ROOT_URL) of
Stanbol should be configured correctly when running in a WAR context. Then
this problem would not occur.

I'm not sure about the procedure now. I think as soon as a committer votes
-1 for a commit the commit has to be reverted in first place. Should I do
that?

Best,
  - Fabian

Am Montag, 17. Oktober 2011 schrieb :

Author: suat
Date: Mon Oct 17 11:17:26 2011
New Revision: 1185105

URL: http://svn.apache.org/viewvc?rev=1185105&view=rev
Log:
STANBOL-348:
-Updated getStaticRootURL so that it returns the full URL of static
resources. This change is done as static resources are deployed under the
context of war file (e.g under
http://localhost:8080/stanbol/static/home/style/stanbol.css instead of
http://localhost:8090/static/home/style/stanbol.css).

Modified:

  
incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/resource/BaseStanbolResource.java

Modified:
incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/resource/BaseStanbolResource.java
URL:
http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/resource/BaseStanbolResource.java?rev=1185105&r1=1185104&r2=1185105&view=diff

==============================================================================
---
incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/resource/BaseStanbolResource.java
(original)
+++
incubator/stanbol/trunk/commons/web/base/src/main/java/org/apache/stanbol/commons/web/base/resource/BaseStanbolResource.java
Mon Oct 17 11:17:26 2011
@@ -111,7 +111,8 @@ public class BaseStanbolResource {
     }

     public String getStaticRootUrl() {
-        return (String)
servletContext.getAttribute(STATIC_RESOURCES_ROOT_URL);
+        String baseURIStr = uriInfo.getBaseUri().toString();
+        return baseURIStr.substring(0, baseURIStr.length()-1) + (String)
servletContext.getAttribute(STATIC_RESOURCES_ROOT_URL);
     }

     @SuppressWarnings("unchecked")




Reply via email to