Author: fmeschbe
Date: Thu Nov 8 00:00:24 2007
New Revision: 593050
URL: http://svn.apache.org/viewvc?rev=593050&view=rev
Log:
SLING-83 Package reorgnaization and SLING-98 API adoption (work in progress)
Added:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileObject.java
- copied, changed from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileContent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderObject.java
- copied, changed from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderContent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyNodeObject.java
- copied, changed from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyContent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceObject.java
- copied, changed from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceContent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceObject.java
- copied, changed from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceContent.java
Removed:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileContent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderContent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyContent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceContent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceContent.java
Modified:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileComponent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderComponent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceComponent.java
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceComponent.java
Modified:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileComponent.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileComponent.java?rev=593050&r1=593049&r2=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileComponent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileComponent.java
Thu Nov 8 00:00:24 2007
@@ -18,12 +18,14 @@
import java.io.IOException;
-import org.apache.sling.component.ComponentException;
-import org.apache.sling.component.ComponentRequest;
-import org.apache.sling.component.ComponentRequestDispatcher;
-import org.apache.sling.component.ComponentResponse;
-import org.apache.sling.component.Content;
-import org.apache.sling.core.components.BaseComponent;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+
+import org.apache.sling.api.SlingException;
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
/**
* The <code>FileComponent</code> TODO
@@ -32,39 +34,35 @@
* @scr.property name="service.description"
* value="Component to handle nt:file content"
* @scr.property name="service.vendor" value="The Apache Software Foundation"
+ * @scr.property name="sling.resourceTypes" value="nt:file"
* @scr.service
*/
-public class FileComponent extends BaseComponent {
-
- public static final String ID = FileComponent.class.getName();
-
- {
- this.setContentClassName(FileContent.class.getName());
- this.setComponentId(ID);
- }
-
- public Content createContentInstance() {
- return new FileContent();
- }
+public class FileComponent extends SlingAllMethodsServlet {
// nothing to do
protected void doInit() {
}
- /**
- * @see
org.apache.sling.core.component.Component#service(org.apache.sling.core.component.ComponentRequest,
org.apache.sling.core.component.ComponentResponse)
- */
- public void service(ComponentRequest request, ComponentResponse response)
- throws IOException, ComponentException {
+ @Override
+ protected void doGet(SlingHttpServletRequest request,
+ SlingHttpServletResponse response) throws ServletException,
+ IOException {
+
+ Resource resource = request.getResource();
+ FileObject file = (FileObject) resource.getObject();
+ if (file == null) {
+ throw new SlingException("Missing mapped object for file "
+ + resource.getURI());
+ }
// just render the child content
- Content jcrContent = request.getContent("jcr:content");
+ Resource jcrContent =
request.getResourceResolver().getResource(resource, "jcr:content");
if (jcrContent != null) {
- ComponentRequestDispatcher crd =
this.getComponentContext().getRequestDispatcher(
- jcrContent);
- crd.include(request, response);
+ RequestDispatcher rd = request.getRequestDispatcher(jcrContent);
+ rd.include(request, response);
} else {
- throw new ComponentException("No content");
+ throw new SlingException("File " + resource.getURI()
+ + " has no content");
}
}
}
Copied:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileObject.java
(from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileContent.java)
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileObject.java?p2=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileObject.java&p1=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileContent.java&r1=593046&r2=593050&rev=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileContent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FileObject.java
Thu Nov 8 00:00:24 2007
@@ -17,18 +17,22 @@
package org.apache.sling.component.servlets.standard;
/**
- * The <code>FileContent</code> class represents an nt:file node in the
+ * The <code>FileObject</code> class represents an nt:file node in the
* repository and as such has no more direct content data as the
* [EMAIL PROTECTED] HierarchyNodeObject}.
*
* @ocm.mapped jcrType="nt:file" discriminator="false"
*/
-public class FileContent extends HierarchyNodeObject {
+public class FileObject extends HierarchyNodeObject {
- // --------- Content interface
---------------------------------------------
+ /** @ocm.bean jcrName="jcr:content" */
+ private Object content;
- public String getComponentId() {
- return FileComponent.ID;
+ public void setContent(Object content) {
+ this.content = content;
}
+ public Object getContent() {
+ return content;
+ }
}
Modified:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderComponent.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderComponent.java?rev=593050&r1=593049&r2=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderComponent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderComponent.java
Thu Nov 8 00:00:24 2007
@@ -18,13 +18,15 @@
import java.io.IOException;
import java.io.PrintWriter;
-import java.util.Enumeration;
+import java.util.Iterator;
-import org.apache.sling.component.ComponentException;
-import org.apache.sling.component.ComponentRequest;
-import org.apache.sling.component.ComponentResponse;
-import org.apache.sling.component.Content;
-import org.apache.sling.core.components.BaseComponent;
+import javax.servlet.ServletException;
+
+import org.apache.sling.api.SlingException;
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
/**
* The <code>FolderComponent</code> TODO
@@ -33,33 +35,25 @@
* @scr.property name="service.description"
* value="Component to handle nt:folder content"
* @scr.property name="service.vendor" value="The Apache Software Foundation"
+ * @scr.property name="sling.resourceTypes" value="nt:folder"
* @scr.service
*/
-public class FolderComponent extends BaseComponent {
-
- public static final String ID = FolderComponent.class.getName();
-
- {
- this.setContentClassName(FolderContent.class.getName());
- this.setComponentId(ID);
- }
-
- /**
- * @see
org.apache.sling.core.components.BaseComponent#createContentInstance()
- */
- public Content createContentInstance() {
- return new FolderContent();
- }
+public class FolderComponent extends SlingAllMethodsServlet {
// nothing to do
protected void doInit() {}
- /**
- * @see
org.apache.sling.core.component.Component#service(org.apache.sling.core.component.ComponentRequest,
org.apache.sling.core.component.ComponentResponse)
- */
- public void service(ComponentRequest request, ComponentResponse response)
- throws IOException {
- FolderContent content = (FolderContent) request.getContent();
+ @Override
+ protected void doGet(SlingHttpServletRequest request,
+ SlingHttpServletResponse response) throws ServletException,
+ IOException {
+
+ Resource resource = request.getResource();
+ FolderObject content = (FolderObject) resource.getObject();
+ if (content == null) {
+ throw new SlingException("Missing mapped object for folder "
+ + resource.getURI());
+ }
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
@@ -70,12 +64,12 @@
pw.println("<ul>");
try {
- Enumeration<Content> entries = request.getChildren(content);
- while (entries.hasMoreElements()) {
- Content entry = entries.nextElement();
- pw.println("<li>" + entry.getPath() + "</li>");
+ Iterator<Resource> entries =
request.getResourceResolver().listChildren(resource);
+ while (entries.hasNext()) {
+ Resource entry = entries.next();
+ pw.println("<li>" + entry.getURI() + "</li>");
}
- } catch (ComponentException ce) {
+ } catch (SlingException ce) {
// TODO: handle
}
Copied:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderObject.java
(from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderContent.java)
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderObject.java?p2=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderObject.java&p1=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderContent.java&r1=593046&r2=593050&rev=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderContent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/FolderObject.java
Thu Nov 8 00:00:24 2007
@@ -17,16 +17,10 @@
package org.apache.sling.component.servlets.standard;
/**
- * The <code>FolderContent</code> TODO
+ * The <code>FolderObject</code> TODO
*
* @ocm.mapped jcrType="nt:folder" discriminator="false"
*/
-public class FolderContent extends HierarchyNodeObject {
-
- // --------- Content interface
---------------------------------------------
-
- public String getComponentId() {
- return FolderComponent.ID;
- }
+public class FolderObject extends HierarchyNodeObject {
}
Copied:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyNodeObject.java
(from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyContent.java)
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyNodeObject.java?p2=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyNodeObject.java&p1=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyContent.java&r1=593046&r2=593050&rev=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyContent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/HierarchyNodeObject.java
Thu Nov 8 00:00:24 2007
@@ -16,27 +16,24 @@
*/
package org.apache.sling.component.servlets.standard;
+import org.apache.sling.jcr.resource.AbstractMappedObject;
+
/**
- * The <code>HierarchyNodeObject</code> class is an abstract base content class
- * for content loaded from nodes of (extensions of) node type
+ * The <code>HierarchyNodeObject</code> class is an abstract base content
+ * class for content loaded from nodes of (extensions of) node type
* <code>nt:HierarchyNode</code>.
*
* @ocm.mapped jcrType="nt:hierarchyNode" discriminator="false"
*/
-public abstract class HierarchyContent {
+public abstract class HierarchyNodeObject extends AbstractMappedObject {
/** @ocm.field jcrName="jcr:created" */
private long creationTime;
- // ---------- Mapped Content
-----------------------------------------------
-
public long getCreationTime() {
return this.creationTime;
}
- /**
- * @param creationTime the creationTime to set
- */
public void setCreationTime(long creationTime) {
this.creationTime = creationTime;
}
Modified:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceComponent.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceComponent.java?rev=593050&r1=593049&r2=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceComponent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceComponent.java
Thu Nov 8 00:00:24 2007
@@ -18,37 +18,26 @@
import java.io.IOException;
-import org.apache.sling.component.ComponentException;
-import org.apache.sling.component.ComponentRequest;
-import org.apache.sling.component.ComponentRequestDispatcher;
-import org.apache.sling.component.ComponentResponse;
-import org.apache.sling.component.Content;
-import org.apache.sling.core.components.BaseComponent;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+
+import org.apache.sling.api.SlingException;
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
/**
* The <code>ReferenceComponent</code> TODO
*
* @scr.component immediate="true" metatype="false"
* @scr.property name="service.description"
- * value="Component to handle sling:Reference content"
- * @scr.property name="service.vendor" value="The Apache Software Foundation"
+ * value="Component to handle sling:Reference content"
+ * @scr.property name="service.vendor" value="The Apache Software Foundation" *
+ * @scr.property name="sling.resourceTypes" value="sling:Reference"
* @scr.service
*/
-public class ReferenceComponent extends BaseComponent {
-
- public static final String ID = ReferenceComponent.class.getName();
-
- {
- this.setContentClassName(ReferenceContent.class.getName());
- this.setComponentId(ID);
- }
-
- /**
- * @see
org.apache.sling.core.components.BaseComponent#createContentInstance()
- */
- public Content createContentInstance() {
- return new ReferenceContent();
- }
+public class ReferenceComponent extends SlingAllMethodsServlet {
/**
* @see org.apache.sling.core.components.BaseComponent#doInit()
@@ -57,23 +46,23 @@
// nothing to do
}
- /**
- * @see
org.apache.sling.core.component.Component#service(org.apache.sling.core.component.ComponentRequest,
org.apache.sling.core.component.ComponentResponse)
- */
- public void service(ComponentRequest request, ComponentResponse response)
- throws IOException, ComponentException {
+ @Override
+ protected void doGet(SlingHttpServletRequest request,
+ SlingHttpServletResponse response) throws ServletException,
+ IOException {
- final ReferenceContent content =
(ReferenceContent)request.getContent();
+ final Resource resource = request.getResource();
+ final ReferenceObject content = (ReferenceObject) resource.getObject();
final String path = content.getReference();
// just forward to the referenced content
- Content jcrContent = request.getContent(path);
- if (jcrContent != null) {
- ComponentRequestDispatcher crd =
this.getComponentContext().getRequestDispatcher(
- jcrContent);
- crd.include(request, response);
+ Resource target = request.getResourceResolver().getResource(resource,
+ path);
+ if (target != null) {
+ RequestDispatcher rd = request.getRequestDispatcher(target);
+ rd.include(request, response);
} else {
- throw new ComponentException("No content for path " + path);
+ throw new SlingException("No content for path " + path);
}
}
}
Copied:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceObject.java
(from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceContent.java)
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceObject.java?p2=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceObject.java&p1=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceContent.java&r1=593046&r2=593050&rev=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceContent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ReferenceObject.java
Thu Nov 8 00:00:24 2007
@@ -16,13 +16,14 @@
*/
package org.apache.sling.component.servlets.standard;
+import org.apache.sling.jcr.resource.AbstractMappedObject;
/**
- * The <code>ReferenceContent</code> TODO
+ * The <code>ReferenceObject</code> TODO
*
* @ocm.mapped jcrType="sling:Reference" discriminator="false"
*/
-public class ReferenceContent extends
org.apache.sling.content.jcr.SimpleContent {
+public class ReferenceObject extends AbstractMappedObject {
/** @ocm.field jcrName="sling:path" */
private String reference;
@@ -41,10 +42,5 @@
*/
public void setReference(String value) {
this.reference = value;
- }
- // --------- Content interface
---------------------------------------------
-
- public String getComponentId() {
- return ReferenceComponent.ID;
}
}
Modified:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceComponent.java
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceComponent.java?rev=593050&r1=593049&r2=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceComponent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceComponent.java
Thu Nov 8 00:00:24 2007
@@ -16,79 +16,54 @@
*/
package org.apache.sling.component.servlets.standard;
+import static javax.servlet.http.HttpServletResponse.SC_NOT_MODIFIED;
+import static
org.apache.sling.api.servlets.HttpConstants.HEADER_IF_MODIFIED_SINCE;
+import static org.apache.sling.api.servlets.HttpConstants.HEADER_LAST_MODIFIED;
+
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.jcr.RepositoryException;
-import javax.servlet.http.HttpServletResponse;
-
import org.apache.commons.io.IOUtils;
-import org.apache.sling.component.ComponentRequest;
-import org.apache.sling.component.ComponentResponse;
-import org.apache.sling.component.Content;
-import org.apache.sling.core.RequestUtil;
-import org.apache.sling.core.components.BaseComponent;
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.servlets.SlingAllMethodsServlet;
/**
* The <code>ResourceComponent</code> TODO
*
* @scr.component immediate="true" metatype="false"
- * @scr.property name="service.description"
- * value="Component to handle nt:resource content"
+ * @scr.property name="service.description" value="Component to handle
+ * nt:resource content"
* @scr.property name="service.vendor" value="The Apache Software Foundation"
+ * @scr.property name="sling.resourceTypes" value="nt:resource"
* @scr.service
*/
-public class ResourceComponent extends BaseComponent {
-
- public static final String ID = ResourceComponent.class.getName();
-
- /**
- * The name of the header used to send the last modification date of the
- * resource (value is "Last-Modified").
- */
- private static final String LAST_MODIFIED = "Last-Modified";
-
- /**
- * The name of the header checked for a conditional modification date to
- * compare to the resource's last modification date (value is
- * "If-Modified-Since").
- */
- private static final String IF_MODIFIED_SINCE = "If-Modified-Since";
-
- {
- this.setContentClassName(ResourceContent.class.getName());
- this.setComponentId(ID);
- }
-
- /**
- * @see
org.apache.sling.core.components.BaseComponent#createContentInstance()
- */
- public Content createContentInstance() {
- return new ResourceContent();
- }
+public class ResourceComponent extends SlingAllMethodsServlet {
// nothing to do
- protected void doInit() {}
+ protected void doInit() {
+ }
- /**
- * @see
org.apache.sling.core.component.Component#service(org.apache.sling.core.component.ComponentRequest,
org.apache.sling.core.component.ComponentResponse)
- */
- public void service(ComponentRequest request, ComponentResponse response)
- throws IOException {
+ @Override
+ protected void doGet(SlingHttpServletRequest request,
+ SlingHttpServletResponse response) throws IOException {
- ResourceContent content = (ResourceContent) request.getContent();
+ Resource resource = request.getResource();
+ ResourceObject content = (ResourceObject) resource.getObject();
// check the last modification time and If-Modified-Since header
long modifTime = content.getLastModificationTime();
- if (this.unmodified(request, modifTime)) {
+ if (unmodified(request, modifTime)) {
- response.setStatus(HttpServletResponse.SC_NOT_MODIFIED);
+ response.setStatus(SC_NOT_MODIFIED);
} else {
response.setContentType(content.getMimeType());
- response.setHeader(LAST_MODIFIED,
RequestUtil.toDateString(modifTime));
+ response.setDateHeader(HEADER_LAST_MODIFIED, modifTime);
OutputStream out = response.getOutputStream();
InputStream ins = null;
@@ -117,9 +92,8 @@
* or equal to the time of the <code>If-Modified-Since</code>
* header.
*/
- private boolean unmodified(ComponentRequest request, long modifTime) {
- String par = request.getHeader(IF_MODIFIED_SINCE);
- long ims = RequestUtil.toDateValue(par);
+ private boolean unmodified(SlingHttpServletRequest request, long
modifTime) {
+ long ims = request.getDateHeader(HEADER_IF_MODIFIED_SINCE);
return modifTime <= ims;
}
}
Copied:
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceObject.java
(from r593046,
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceContent.java)
URL:
http://svn.apache.org/viewvc/incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceObject.java?p2=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceObject.java&p1=incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceContent.java&r1=593046&r2=593050&rev=593050&view=diff
==============================================================================
---
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceContent.java
(original)
+++
incubator/sling/trunk/sling/servlets-standard/src/main/java/org/apache/sling/component/servlets/standard/ResourceObject.java
Thu Nov 8 00:00:24 2007
@@ -18,14 +18,14 @@
import javax.jcr.Value;
-import org.apache.sling.core.content.SelectableSimpleContent;
+import org.apache.sling.jcr.resource.AbstractMappedObject;
/**
- * The <code>ResourceContent</code> TODO
+ * The <code>ResourceObject</code> TODO
*
* @ocm.mapped jcrType="nt:resource" discriminator="false"
*/
-public class ResourceContent extends SelectableSimpleContent {
+public class ResourceObject extends AbstractMappedObject {
/** @ocm.field jcrName="jcr:lastModified" */
private long lastModificationTime;
@@ -95,11 +95,5 @@
*/
public void setValue(Value value) {
this.value = value;
- }
-
- // --------- Content interface
---------------------------------------------
-
- public String getComponentId() {
- return ResourceComponent.ID;
}
}