Author: lresende
Date: Tue Mar 29 18:25:41 2011
New Revision: 1086668

URL: http://svn.apache.org/viewvc?rev=1086668&view=rev
Log:
Enhanving dojo javascript extension to support dojox js framework

Modified:
    tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/build-dojo.xml
    
tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoResourceServlet.java
    
tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoWidgetJavascriptProvider.java

Modified: tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/build-dojo.xml
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/build-dojo.xml?rev=1086668&r1=1086667&r2=1086668&view=diff
==============================================================================
--- tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/build-dojo.xml 
(original)
+++ tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/build-dojo.xml Tue 
Mar 29 18:25:41 2011
@@ -50,7 +50,7 @@
                 <include name="dojo-${dojo.version}/dojo/**"/>
                 <exclude name="dojo-${dojo.version}/dojo/tests/**"/>
                 <exclude name="dojo-${dojo.version}/dijit/**"/>
-                <exclude name="dojo-${dojo.version}/dojox/**"/>
+                <include name="dojo-${dojo.version}/dojox/**"/>
                 <exclude name="dojo-${dojo.version}/util/**"/>
             </patternset>
         </unzip>

Modified: 
tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoResourceServlet.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoResourceServlet.java?rev=1086668&r1=1086667&r2=1086668&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoResourceServlet.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoResourceServlet.java
 Tue Mar 29 18:25:41 2011
@@ -6,15 +6,15 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
- * under the License.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.web.javascript.dojo;
@@ -50,8 +50,12 @@ public class DojoResourceServlet extends
         String contextRoot = 
URLDecoder.decode(HTTPUtils.getContextRoot(request), 
HTTPConstants.CHARACTER_ENCODING_UTF8);
         String path = URLDecoder.decode(request.getRequestURI(), 
HTTPConstants.CHARACTER_ENCODING_UTF8);
 
-        if( path.startsWith(contextRoot + "/dojo") ) {
-            if( ! path.contains("tuscany/AtomService.js")) {
+        System.out.println("contextRoot " + contextRoot);
+        System.out.println("path " + path);
+
+        if( path.startsWith(contextRoot + "/dojo")||
+            path.startsWith(contextRoot + "/dojox")) {
+            if( ! path.contains("tuscany/")) {
                 //this is a workaround where we need to have dojo files in its 
own folder
                 //to avoid clean target to clean other non dojo resources
                 path = path.substring(contextRoot.length());
@@ -62,7 +66,7 @@ public class DojoResourceServlet extends
         } else if( path.startsWith("/")) {
             path = path.substring(1);
         }
-        
+
         if(response.getContentType() == null || 
response.getContentType().length() == 0){
             // Calculate content-type based on extension
             String contentType = HTTPContentTypeMapper.getContentType(path);
@@ -70,9 +74,9 @@ public class DojoResourceServlet extends
                 response.setContentType(contentType);
             }
         }
-        
+
         response.setCharacterEncoding(HTTPConstants.CHARACTER_ENCODING_UTF8);
-        
+
         // Write the response from the service implementation to the response
         // output stream
         InputStream is = 
this.getClass().getClassLoader().getResourceAsStream(path);
@@ -80,7 +84,7 @@ public class DojoResourceServlet extends
             is = this.getClass().getResourceAsStream(path);
         }
         if(is != null) {
-            OutputStream os = response.getOutputStream(); 
+            OutputStream os = response.getOutputStream();
             byte[] buffer = new byte[2048];
             for (;;) {
                 int n = is.read(buffer);
@@ -89,7 +93,7 @@ public class DojoResourceServlet extends
                 os.write(buffer, 0, n);
             }
             os.flush();
-            os.close();            
+            os.close();
         }
     }
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoWidgetJavascriptProvider.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoWidgetJavascriptProvider.java?rev=1086668&r1=1086667&r2=1086668&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoWidgetJavascriptProvider.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/web-javascript-dojo/src/main/java/org/apache/tuscany/sca/web/javascript/dojo/DojoWidgetJavascriptProvider.java
 Tue Mar 29 18:25:41 2011
@@ -6,15 +6,15 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  * KIND, either express or implied.  See the License for the
  * specific language governing permissions and limitations
- * under the License.    
+ * under the License.
  */
 
 package org.apache.tuscany.sca.web.javascript.dojo;
@@ -32,55 +32,71 @@ import org.apache.tuscany.sca.implementa
 
 public class DojoWidgetJavascriptProvider implements 
WidgetImplementationJavascriptProvider {
     private final static Logger logger = 
Logger.getLogger(DojoWidgetJavascriptProvider.class.getName());
-    
+
     private static final String dojoBaseUri = URI.create("/dojo").toString();
     private static final String dojoUri = URI.create("/dojo/*").toString();
 
+    private static final String dojoxBaseUri = URI.create("/dojox").toString();
+    private static final String dojoxUri = URI.create("/dojox/*").toString();
+
     private static final String tuscanyBaseUri = 
URI.create("/tuscany").toString();
     private static final String tuscanyUri = 
URI.create("/tuscany/*").toString();
-    
+
     private static int counter = 0;
-    
+
     private ServletHost servletHost;
 
     public DojoWidgetJavascriptProvider(ExtensionPointRegistry registry) {
         this.servletHost = ServletHostHelper.getServletHost(registry);
     }
-    
+
     public void start() {
-        
+
         if (servletHost == null) {
             throw new IllegalStateException("Can't find ServletHost reference 
!");
         }
 
         Servlet servlet = null;
-        
+
         servlet = servletHost.getServletMapping(dojoBaseUri);
         if(servlet == null) {
             try {
-                DojoResourceServlet baseResourceServlet = new 
DojoResourceServlet(); 
+                DojoResourceServlet baseResourceServlet = new 
DojoResourceServlet();
                 servletHost.addServletMapping(dojoBaseUri, 
baseResourceServlet);
 
-                DojoResourceServlet resourceServlet = new 
DojoResourceServlet(); 
+                DojoResourceServlet resourceServlet = new 
DojoResourceServlet();
                 servletHost.addServletMapping(dojoUri, resourceServlet);
             } catch (ServletMappingException me ) {
                 logger.warning("Dojo already registered at :" + dojoBaseUri);
             }
         }
 
+        servlet = servletHost.getServletMapping(dojoxBaseUri);
+        if(servlet == null) {
+            try {
+                DojoResourceServlet baseResourceServlet = new 
DojoResourceServlet();
+                servletHost.addServletMapping(dojoxBaseUri, 
baseResourceServlet);
+
+                DojoResourceServlet resourceServlet = new 
DojoResourceServlet();
+                servletHost.addServletMapping(dojoxUri, resourceServlet);
+            } catch (ServletMappingException me ) {
+                logger.warning("Dojox already registered at :" + dojoxBaseUri);
+            }
+        }
+
         servlet = servletHost.getServletMapping(tuscanyBaseUri);
         if(servlet == null) {
             try {
-                DojoResourceServlet baseResourceServlet = new 
DojoResourceServlet(); 
+                DojoResourceServlet baseResourceServlet = new 
DojoResourceServlet();
                 servletHost.addServletMapping(tuscanyBaseUri, 
baseResourceServlet);
 
-                DojoResourceServlet resourceServlet = new 
DojoResourceServlet(); 
+                DojoResourceServlet resourceServlet = new 
DojoResourceServlet();
                 servletHost.addServletMapping(tuscanyUri, resourceServlet);
             } catch (ServletMappingException me ) {
                 logger.warning("Tuscany dojo extensions already registered at 
:" + tuscanyBaseUri);
             }
         }
-        
+
         counter += 1;
         logger.info("Registered Dojo and Tuscany Dojo extensions (counter=" + 
counter + ")");
     }
@@ -90,16 +106,19 @@ public class DojoWidgetJavascriptProvide
             counter = counter -= 1;
             logger.info("Unregistering Dojo and Tuscany Dojo extensions 
(counter=" + counter + ")");
         }
-        
+
         Servlet servlet = servletHost.getServletMapping(dojoBaseUri);
         if(servlet != null && counter == 0) {
             servletHost.removeServletMapping(dojoBaseUri);
             servletHost.removeServletMapping(dojoUri);
 
+            servletHost.removeServletMapping(dojoxBaseUri);
+            servletHost.removeServletMapping(dojoxUri);
+
             servletHost.removeServletMapping(tuscanyBaseUri);
             servletHost.removeServletMapping(tuscanyUri);
         }
-        
+
         servletHost = null;
 
     }


Reply via email to