how is this class (WebExternalResourceStream.java) different to:
UrlResourceStream ??
and how is WebExternalResourceRequestTarget different to
ResourceStreamRequestTarget ? (besides that WebExternal has a direct url
constructor)
which we also could add just fine besides:
   public ResourceStreamRequestTarget(IResourceStream resourceStream)
   {
       this.resourceStream = resourceStream;
   }


johan




On 4/15/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

Author: jbq
Date: Sat Apr 14 15:49:47 2007
New Revision: 528885

URL: http://svn.apache.org/viewvc?view=rev&rev=528885
Log:
An IResourceStream that reads data from a file in the web application

Added:
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
(with props)

Added: incubator/wicket/branches/wicket-1.x/jdk-1.4
/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
URL:
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java?view=auto&rev=528885

==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
(added)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java
Sat Apr 14 15:49:47 2007
@@ -0,0 +1,105 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file 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.
+ */
+package org.apache.wicket.util.resource;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.servlet.ServletContext;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.wicket.RequestCycle;
+import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.protocol.http.WebApplication;
+import org.apache.wicket.util.time.Time;
+
+import sun.reflect.generics.reflectiveObjects.NotImplementedException;
+
+
+/**
+ * An [EMAIL PROTECTED] IResourceStream} that reads data from a file in the web
application
+ *
+ * @author <a href="mailto:[EMAIL PROTECTED]">Jean-Baptiste Quenot</a>
+ */
+public class WebExternalResourceStream extends AbstractResourceStream
+{
+       InputStream in;
+       /**
+        *
+        */
+       private static final long serialVersionUID = 1L;
+
+       /** log. */
+       private static final Log log = LogFactory.getLog(
WebExternalResourceStream.class);
+
+       /** the relative url of the external resource. */
+       private final String url;
+
+       /**
+        * Construct.
+        *
+        * @param url
+        *            the relative url of the external resource
+        */
+       public WebExternalResourceStream(String url)
+       {
+               if (url == null)
+               {
+                       throw new IllegalArgumentException("Argument url
must be not null");
+               }
+
+               this.url = url;
+       }
+
+       /**
+        * Not implemented, throws [EMAIL PROTECTED] NotImplementedException}
+        * @see org.apache.wicket.util.resource.IResourceStream#length()
+        */
+       public long length()
+       {
+               throw new NotImplementedException();
+       }
+
+       public void close() throws IOException
+       {
+               in.close();
+       }
+
+       public Time lastModifiedTime()
+       {
+               return null;
+       }
+
+       public String getContentType()
+       {
+               return null;
+       }
+
+       public InputStream getInputStream() throws
ResourceStreamNotFoundException
+       {
+               final ServletContext context =
((WebApplication)RequestCycle.get().getApplication())
+                               .getServletContext();
+
+               in = context.getResourceAsStream(url);
+               if (in == null)
+               {
+                       throw new WicketRuntimeException("the requested
resource was not found");
+               }
+               return in;
+       }
+}

Propchange: incubator/wicket/branches/wicket-1.x/jdk-1.4
/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java

------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/wicket/branches/wicket-1.x/jdk-1.4
/wicket/src/main/java/org/apache/wicket/util/resource/WebExternalResourceStream.java

------------------------------------------------------------------------------
    svn:keywords = Id



Reply via email to