You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@abdera.apache.org by jm...@apache.org on 2011/10/20 00:33:52 UTC
svn commit: r1186541 [7/8] - in /abdera/abdera2: ./ .settings/ activities/
activities/.settings/
activities/src/main/java/org/apache/abdera2/activities/client/
activities/src/main/java/org/apache/abdera2/activities/extra/
activities/src/main/java/org/a...
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/history/FeedPagingHelper.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/history/FeedPagingHelper.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/history/FeedPagingHelper.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/history/FeedPagingHelper.java Wed Oct 19 22:33:04 2011
@@ -28,10 +28,19 @@ import static org.apache.abdera2.model.L
import static org.apache.abdera2.model.Link.REL_NEXT_ARCHIVE;
import static org.apache.abdera2.model.Link.REL_PREV_ARCHIVE;
+import org.apache.abdera2.Abdera;
import org.apache.abdera2.common.iri.IRI;
+import org.apache.abdera2.model.Document;
+import org.apache.abdera2.model.Element;
import org.apache.abdera2.model.ExtensibleElement;
import org.apache.abdera2.model.Link;
import org.apache.abdera2.model.Source;
+import org.apache.abdera2.protocol.client.AbderaClient;
+import org.apache.abdera2.protocol.client.AbderaClientResponse;
+import org.apache.abdera2.protocol.client.AbderaSession;
+import org.apache.abdera2.protocol.client.RequestOptions;
+
+import com.google.common.base.Function;
/**
* Initial support for Mark Nottingham's Feed Paging and Archiving draft
@@ -255,4 +264,94 @@ public final class FeedPagingHelper {
public static IRI getCurrent(Source feed) {
return _getLink(feed,REL_CURRENT);
}
+
+ public static <E extends Element>Document<E> fetchNext(Source source) {
+ AbderaClient client = new AbderaClient();
+ AbderaSession session = client.newSession();
+ return fetchNext(source, session);
+ }
+
+ public static <E extends Element>Document<E> fetchPrevious(Source source) {
+ AbderaClient client = new AbderaClient();
+ AbderaSession session = client.newSession();
+ return fetchPrevious(source, session);
+ }
+
+ public static <E extends Element>Document<E> fetchCurrent(Source source) {
+ AbderaClient client = new AbderaClient();
+ AbderaSession session = client.newSession();
+ return fetchCurrent(source, session);
+ }
+
+ public static <E extends Element>Document<E> fetchLast(Source source) {
+ AbderaClient client = new AbderaClient();
+ AbderaSession session = client.newSession();
+ return fetchLast(source, session);
+ }
+
+ public static <E extends Element>Document<E> fetchNextArchive(Source source) {
+ AbderaClient client = new AbderaClient();
+ AbderaSession session = client.newSession();
+ return fetchNextArchive(source, session);
+ }
+
+ public static <E extends Element>Document<E> fetchPreviousArchive(Source source) {
+ AbderaClient client = new AbderaClient();
+ AbderaSession session = client.newSession();
+ return fetchPreviousArchive(source, session);
+ }
+
+ public static <E extends Element>Document<E> fetchNext(Source source, AbderaSession session) {
+ return fetch(getNext(source),session);
+ }
+
+ public static <E extends Element>Document<E> fetchPrevious(Source source, AbderaSession session) {
+ return fetch(getPrevious(source),session);
+ }
+
+ public static <E extends Element>Document<E> fetchCurrent(Source source, AbderaSession session) {
+ return fetch(getCurrent(source),session);
+ }
+
+ public static <E extends Element>Document<E> fetchLast(Source source, AbderaSession session) {
+ return fetch(getLast(source),session);
+ }
+
+ public static <E extends Element>Document<E> fetchNextArchive(Source source, AbderaSession session) {
+ return fetch(getNextArchive(source),session);
+ }
+
+ public static <E extends Element>Document<E> fetchPreviousArchive(Source source, AbderaSession session) {
+ return fetch(getPreviousArchive(source),session);
+ }
+
+ private static <E extends Element>Document<E> fetch(IRI iri, AbderaSession session) {
+ if (iri == null) return null;
+ PageFetch<E> fetch = new PageFetch<E>(iri.toString(), session);
+ return fetch.apply(session.getDefaultRequestOptions());
+ }
+
+ public static class PageFetch<E extends Element>
+ implements Function<RequestOptions,Document<E>> {
+ private final String uri;
+ private final AbderaSession session;
+ public PageFetch(String uri, AbderaSession session) {
+ this.uri = uri;
+ this.session = session;
+ }
+ public Document<E> apply(RequestOptions options) {
+ AbderaClientResponse resp = session.get(uri,options);
+ switch(resp.getType()) {
+ case SUCCESSFUL:
+ return resp.getDocument();
+ default:
+ org.apache.abdera2.protocol.error.Error.create(
+ Abdera.getInstance(),
+ resp.getStatus(),
+ resp.getStatusText())
+ .throwException();
+ return null;
+ }
+ }
+ }
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONFilter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONFilter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONFilter.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONFilter.java Wed Oct 19 22:33:04 2011
@@ -23,10 +23,10 @@ import java.io.IOException;
import java.io.OutputStream;
import org.apache.abdera2.Abdera;
+import org.apache.abdera2.common.misc.Chain;
import org.apache.abdera2.common.protocol.RequestContext;
import org.apache.abdera2.common.protocol.ResponseContext;
import org.apache.abdera2.common.protocol.Filter;
-import org.apache.abdera2.common.protocol.FilterChain;
import org.apache.abdera2.common.protocol.ProviderHelper;
import org.apache.abdera2.model.Document;
import org.apache.abdera2.model.Element;
@@ -41,11 +41,10 @@ import org.apache.abdera2.writer.Writer;
*/
public class JSONFilter implements Filter {
- @SuppressWarnings("unchecked")
- public <S extends ResponseContext>S filter(RequestContext request, FilterChain chain) {
- AtompubResponseContext resp = chain.next(request);
+ public ResponseContext apply(RequestContext request, Chain<RequestContext,ResponseContext> chain) {
+ AtompubResponseContext resp = (AtompubResponseContext) chain.next(request);
String format = request.getParameter("format");
- return (S)((resp.getContentType() != null && jsonPreferred(request, resp.getContentType().toString())) || (format != null && format
+ return ((resp.getContentType() != null && jsonPreferred(request, resp.getContentType().toString())) || (format != null && format
.equalsIgnoreCase("json")) ? new JsonResponseContext(resp, Abdera.getInstance()) : resp);
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONServlet.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONServlet.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONServlet.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONServlet.java Wed Oct 19 22:33:04 2011
@@ -85,7 +85,7 @@ public class JSONServlet extends HttpSer
if (doc.getLanguage() != null)
response.setHeader("Content-Language", doc.getLanguage());
if (doc.getLastModified() != null)
- response.setDateHeader("Last-Modified", doc.getLastModified().getTime());
+ response.setDateHeader("Last-Modified", doc.getLastModified().getMillis());
OutputStream out = response.getOutputStream();
doc.writeTo("json", out);
} catch (Exception e) {
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONStream.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONStream.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONStream.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/json/JSONStream.java Wed Oct 19 22:33:04 2011
@@ -19,14 +19,14 @@ package org.apache.abdera2.ext.json;
import java.io.IOException;
import java.io.Writer;
-import java.util.Date;
import java.util.Stack;
import javax.activation.MimeType;
import org.apache.abdera2.common.iri.IRI;
-import org.apache.abdera2.common.date.DateTime;
+import org.apache.abdera2.common.date.DateTimes;
import org.apache.abdera2.common.http.EntityTag;
+import org.joda.time.DateTime;
public class JSONStream {
@@ -124,9 +124,9 @@ public class JSONStream {
writeColon();
}
- public void writeField(String name, Date value) throws IOException {
+ public void writeField(String name, DateTime value) throws IOException {
if (value != null) {
- writeField(name, DateTime.format(value));
+ writeField(name, DateTimes.format(value));
}
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/license/LicensedEntrySelector.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/license/LicensedEntrySelector.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/license/LicensedEntrySelector.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/license/LicensedEntrySelector.java Wed Oct 19 22:33:04 2011
@@ -3,6 +3,7 @@ package org.apache.abdera2.ext.license;
import java.util.LinkedHashSet;
import java.util.Set;
+import org.apache.abdera2.common.selector.AbstractSelector;
import org.apache.abdera2.common.selector.Selector;
import org.apache.abdera2.model.Entry;
@@ -10,7 +11,9 @@ import org.apache.abdera2.model.Entry;
* Used to only select entries that have the specified licenses or, if no
* licenses are specified, select entries that specify any license
*/
-public class LicensedEntrySelector implements Selector {
+public class LicensedEntrySelector
+extends AbstractSelector<Entry>
+implements Selector<Entry> {
private Set<String> set = new LinkedHashSet<String>();
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/license/UnspecifiedLicenseEntrySelector.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/license/UnspecifiedLicenseEntrySelector.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/license/UnspecifiedLicenseEntrySelector.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/license/UnspecifiedLicenseEntrySelector.java Wed Oct 19 22:33:04 2011
@@ -1,12 +1,15 @@
package org.apache.abdera2.ext.license;
+import org.apache.abdera2.common.selector.AbstractSelector;
import org.apache.abdera2.common.selector.Selector;
import org.apache.abdera2.model.Entry;
/**
* Used to only select entries that do not specify a license
*/
-public class UnspecifiedLicenseEntrySelector implements Selector {
+public class UnspecifiedLicenseEntrySelector
+extends AbstractSelector<Entry>
+implements Selector<Entry> {
public boolean select(Object item) {
if (!(item instanceof Entry))
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssChannel.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssChannel.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssChannel.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssChannel.java Wed Oct 19 22:33:04 2011
@@ -19,7 +19,6 @@ package org.apache.abdera2.ext.rss;
import java.util.ArrayList;
import java.util.Comparator;
-import java.util.Date;
import java.util.List;
import java.util.Map;
@@ -50,6 +49,7 @@ import org.apache.abdera2.parser.axiom.F
import org.apache.abdera2.xpath.XPath;
import org.apache.abdera2.xpath.XPathException;
+@SuppressWarnings("rawtypes")
public class RssChannel extends ExtensibleElementWrapper {
public RssChannel(Element internal) {
@@ -400,9 +400,9 @@ public class RssChannel extends Extensib
return (text != null) ? text.getTextType() : null;
}
- public Date getUpdated() {
+ public org.joda.time.DateTime getUpdated() {
DateTime dt = getUpdatedElement();
- return (dt != null) ? dt.getDate() : null;
+ return (dt != null) ? dt.getValue() : null;
}
public DateTime getUpdatedElement() {
@@ -423,9 +423,9 @@ public class RssChannel extends Extensib
return (dt != null) ? dt.getString() : null;
}
- public Date getPublished() {
+ public org.joda.time.DateTime getPublished() {
DateTime dt = getPublishedElement();
- return (dt != null) ? dt.getDate() : null;
+ return (dt != null) ? dt.getValue() : null;
}
public DateTime getPublishedElement() {
@@ -554,7 +554,7 @@ public class RssChannel extends Extensib
throw new UnsupportedOperationException("Modifications are not allowed");
}
- public DateTime setUpdated(Date value) {
+ public DateTime setUpdated(org.joda.time.DateTime value) {
throw new UnsupportedOperationException("Modifications are not allowed");
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssDateTime.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssDateTime.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssDateTime.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssDateTime.java Wed Oct 19 22:33:04 2011
@@ -31,6 +31,7 @@ import org.apache.abdera2.model.Element;
public class RssDateTime extends DateTimeWrapper implements DateTime {
+ // Yes.. it really is that bad
private static String[] masks =
{"EEE, dd MMM yyyy HH:mm:ss z", "dd MMM yyyy HH:mm z", "dd MMM yyyy", "-yy-MM-dd", "-yy-MM", "-yymm",
"yyyy-MM-dd HH:mm:ss.SSS", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd'T'HH:mm:ss.SSSz", "yyyy-MM-dd't'HH:mm:ss.SSSz", // invalid
@@ -55,7 +56,7 @@ public class RssDateTime extends DateTim
}
@Override
- public org.apache.abdera2.common.date.DateTime getValue() {
+ public org.joda.time.DateTime getValue() {
return parse(getText());
}
@@ -80,17 +81,17 @@ public class RssDateTime extends DateTim
}
@Override
- public DateTime setValue(org.apache.abdera2.common.date.DateTime dateTime) {
+ public DateTime setValue(org.joda.time.DateTime dateTime) {
throw new UnsupportedOperationException("Modifications are not allowed");
}
- private org.apache.abdera2.common.date.DateTime parse(String value) {
+ private org.joda.time.DateTime parse(String value) {
for (String mask : masks) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(mask);
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
Date d = sdf.parse(value);
- return new org.apache.abdera2.common.date.DateTime(d);
+ return new org.joda.time.DateTime(d);
} catch (Exception e) {
}
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssFeed.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssFeed.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssFeed.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssFeed.java Wed Oct 19 22:33:04 2011
@@ -18,7 +18,6 @@
package org.apache.abdera2.ext.rss;
import java.util.Comparator;
-import java.util.Date;
import java.util.List;
import javax.xml.namespace.QName;
@@ -43,7 +42,7 @@ import org.apache.abdera2.model.Source;
import org.apache.abdera2.model.Text;
import org.apache.abdera2.model.Text.Type;
-@SuppressWarnings("unchecked")
+@SuppressWarnings({"unchecked","rawtypes"})
public class RssFeed extends ExtensibleElementWrapper implements Feed {
public RssFeed(Element internal) {
@@ -294,7 +293,7 @@ public class RssFeed extends ExtensibleE
return getChannel().getTitleType();
}
- public Date getUpdated() {
+ public org.joda.time.DateTime getUpdated() {
return getChannel().getUpdated();
}
@@ -306,7 +305,7 @@ public class RssFeed extends ExtensibleE
return getChannel().getUpdatedString();
}
- public Date getPublished() {
+ public org.joda.time.DateTime getPublished() {
return getChannel().getPublished();
}
@@ -441,7 +440,7 @@ public class RssFeed extends ExtensibleE
return (T)this;
}
- public DateTime setUpdated(Date value) {
+ public DateTime setUpdated(org.joda.time.DateTime value) {
return getChannel().setUpdated(value);
}
@@ -581,4 +580,8 @@ public class RssFeed extends ExtensibleE
return getChannel().getEntries(selector);
}
+ public DateTime setUpdatedNow() {
+ throw new UnsupportedOperationException("Modifications are not allowed");
+ }
+
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssItem.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssItem.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssItem.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssItem.java Wed Oct 19 22:33:04 2011
@@ -19,7 +19,6 @@ package org.apache.abdera2.ext.rss;
import java.io.IOException;
import java.io.InputStream;
-import java.util.Date;
import java.util.List;
import javax.activation.DataHandler;
@@ -48,6 +47,7 @@ import org.apache.abdera2.model.Text;
import org.apache.abdera2.model.Content.Type;
import org.apache.abdera2.parser.axiom.FOMElement;
+@SuppressWarnings("rawtypes")
public class RssItem extends ExtensibleElementWrapper implements Entry, IRIElement {
public RssItem(Element internal) {
@@ -245,7 +245,7 @@ public class RssItem extends ExtensibleE
return null;
}
- public Date getEdited() {
+ public org.joda.time.DateTime getEdited() {
return null;
}
@@ -305,9 +305,9 @@ public class RssItem extends ExtensibleE
return FOMElement.getLinks(getInternal(), rel);
}
- public Date getPublished() {
+ public org.joda.time.DateTime getPublished() {
DateTime dt = getPublishedElement();
- return (dt != null) ? dt.getDate() : null;
+ return (dt != null) ? dt.getValue() : null;
}
public DateTime getPublishedElement() {
@@ -393,7 +393,7 @@ public class RssItem extends ExtensibleE
return (text != null) ? text.getTextType() : null;
}
- public Date getUpdated() {
+ public org.joda.time.DateTime getUpdated() {
return getPublished();
}
@@ -469,7 +469,7 @@ public class RssItem extends ExtensibleE
throw new UnsupportedOperationException("Modifications are not allowed");
}
- public DateTime setEdited(Date value) {
+ public DateTime setEdited(org.joda.time.DateTime value) {
throw new UnsupportedOperationException("Modifications are not allowed");
}
@@ -493,7 +493,7 @@ public class RssItem extends ExtensibleE
throw new UnsupportedOperationException("Modifications are not allowed");
}
- public DateTime setPublished(Date value) {
+ public DateTime setPublished(org.joda.time.DateTime value) {
throw new UnsupportedOperationException("Modifications are not allowed");
}
@@ -581,7 +581,7 @@ public class RssItem extends ExtensibleE
throw new UnsupportedOperationException("Modifications are not allowed");
}
- public DateTime setUpdated(Date value) {
+ public DateTime setUpdated(org.joda.time.DateTime value) {
throw new UnsupportedOperationException("Modifications are not allowed");
}
@@ -692,4 +692,16 @@ public class RssItem extends ExtensibleE
}
return list;
}
+
+ public DateTime setPublishedNow() {
+ throw new UnsupportedOperationException("Modifications are not allowed");
+ }
+
+ public DateTime setUpdatedNow() {
+ throw new UnsupportedOperationException("Modifications are not allowed");
+ }
+
+ public DateTime setEditedNow() {
+ throw new UnsupportedOperationException("Modifications are not allowed");
+ }
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssSource.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssSource.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssSource.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/rss/RssSource.java Wed Oct 19 22:33:04 2011
@@ -18,7 +18,6 @@
package org.apache.abdera2.ext.rss;
import java.util.Collections;
-import java.util.Date;
import java.util.List;
import javax.xml.namespace.QName;
@@ -41,7 +40,7 @@ import org.apache.abdera2.model.Source;
import org.apache.abdera2.model.Text;
import org.apache.abdera2.model.Text.Type;
-@SuppressWarnings("unchecked")
+@SuppressWarnings({"unchecked","rawtypes"})
public class RssSource extends ExtensibleElementWrapper implements Source {
private Link self = null;
@@ -239,7 +238,7 @@ public class RssSource extends Extensibl
return Type.HTML;
}
- public Date getUpdated() {
+ public org.joda.time.DateTime getUpdated() {
return null;
}
@@ -363,7 +362,7 @@ public class RssSource extends Extensibl
throw new UnsupportedOperationException("Modifications are not allowed");
}
- public DateTime setUpdated(Date value) {
+ public DateTime setUpdated(org.joda.time.DateTime value) {
throw new UnsupportedOperationException("Modifications are not allowed");
}
@@ -403,4 +402,8 @@ public class RssSource extends Extensibl
return Collections.EMPTY_LIST;
}
+ public DateTime setUpdatedNow() {
+ throw new UnsupportedOperationException("Modifications are not allowed");
+ }
+
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/ObjectResponseContext.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/ObjectResponseContext.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/ObjectResponseContext.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/ObjectResponseContext.java Wed Oct 19 22:33:04 2011
@@ -23,7 +23,7 @@ import java.util.Calendar;
import java.util.Date;
import org.apache.abdera2.Abdera;
-import org.apache.abdera2.common.date.DateTime;
+import org.apache.abdera2.common.date.DateTimes;
import org.apache.abdera2.ext.serializer.annotation.EntityTag;
import org.apache.abdera2.ext.serializer.annotation.LastModified;
import org.apache.abdera2.ext.serializer.annotation.MediaType;
@@ -105,9 +105,9 @@ public class ObjectResponseContext exten
} else if (value instanceof Long) {
date = new Date(((Long)value).longValue());
} else if (value instanceof String) {
- date = DateTime.parse((String)value);
+ date = DateTimes.parse((String)value);
} else {
- date = DateTime.parse(value.toString());
+ date = DateTimes.parse(value.toString());
}
return date;
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/impl/DateTimeSerializer.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/impl/DateTimeSerializer.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/impl/DateTimeSerializer.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/impl/DateTimeSerializer.java Wed Oct 19 22:33:04 2011
@@ -27,8 +27,8 @@ import org.apache.abdera2.ext.serializer
import org.apache.abdera2.ext.serializer.ObjectContext;
import org.apache.abdera2.ext.serializer.SerializationContext;
import org.apache.abdera2.ext.serializer.annotation.Value;
-import org.apache.abdera2.common.date.DateTime;
import org.apache.abdera2.writer.StreamWriter;
+import org.joda.time.DateTime;
public class DateTimeSerializer extends ElementSerializer {
@@ -67,19 +67,19 @@ public class DateTimeSerializer extends
private void writeValue(Object value, SerializationContext context) {
StreamWriter sw = context.getStreamWriter();
- Date date = null;
+ DateTime date = null;
if (value == null)
return;
if (value instanceof Date) {
- date = (Date)value;
+ date = new DateTime(value);
} else if (value instanceof Calendar) {
- date = ((Calendar)value).getTime();
+ date = new DateTime(value);
} else if (value instanceof Long) {
- date = new Date(((Long)value).longValue());
- } else if (value instanceof String) {
- date = DateTime.parse((String)value);
+ date = new DateTime((Long)value);
+ } else if (value instanceof DateTime) {
+ date = (DateTime)value;
} else {
- date = DateTime.parse(value.toString());
+ date = new DateTime(value.toString());
}
sw.writeElementText(date);
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/History.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/History.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/History.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/History.java Wed Oct 19 22:33:04 2011
@@ -21,7 +21,7 @@ import java.util.Date;
import org.apache.abdera2.factory.Factory;
import org.apache.abdera2.common.anno.QName;
-import org.apache.abdera2.common.date.DateTime;
+import org.apache.abdera2.common.date.DateTimes;
import org.apache.abdera2.model.Element;
import org.apache.abdera2.model.ElementWrapper;
@@ -51,12 +51,12 @@ public class History extends ElementWrap
public Date getWhen() {
String when = getAttributeValue("when");
- return when != null ? DateTime.parse(when) : null;
+ return when != null ? DateTimes.parse(when) : null;
}
public void setWhen(Date when) {
if (when != null) {
- setAttributeValue("when", DateTime.format(when));
+ setAttributeValue("when", DateTimes.format(when));
} else {
removeAttribute("when");
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/Sharing.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/Sharing.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/Sharing.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/Sharing.java Wed Oct 19 22:33:04 2011
@@ -22,7 +22,7 @@ import java.util.List;
import org.apache.abdera2.factory.Factory;
import org.apache.abdera2.common.anno.QName;
-import org.apache.abdera2.common.date.DateTime;
+import org.apache.abdera2.common.date.DateTimes;
import org.apache.abdera2.model.Element;
import org.apache.abdera2.model.ExtensibleElementWrapper;
@@ -39,12 +39,12 @@ public class Sharing extends ExtensibleE
public Date getSince() {
String since = getAttributeValue("since");
- return since != null ? DateTime.parse(since) : null;
+ return since != null ? DateTimes.parse(since) : null;
}
public void setSince(Date since) {
if (since != null) {
- setAttributeValue("since", DateTime.format(since));
+ setAttributeValue("since", DateTimes.format(since));
} else {
removeAttribute("since");
}
@@ -52,12 +52,12 @@ public class Sharing extends ExtensibleE
public Date getUntil() {
String until = getAttributeValue("until");
- return until != null ? DateTime.parse(until) : null;
+ return until != null ? DateTimes.parse(until) : null;
}
public void setUntil(Date until) {
if (until != null) {
- setAttributeValue("until", DateTime.format(until));
+ setAttributeValue("until", DateTimes.format(until));
} else {
removeAttribute("until");
}
@@ -65,12 +65,12 @@ public class Sharing extends ExtensibleE
public Date getExpires() {
String expires = getAttributeValue("expires");
- return expires != null ? DateTime.parse(expires) : null;
+ return expires != null ? DateTimes.parse(expires) : null;
}
public void setExpires(Date expires) {
if (expires != null) {
- setAttributeValue("expires", DateTime.format(expires));
+ setAttributeValue("expires", DateTimes.format(expires));
} else {
removeAttribute("expires");
}
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/SharingHelper.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/SharingHelper.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/SharingHelper.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/sharing/SharingHelper.java Wed Oct 19 22:33:04 2011
@@ -377,7 +377,7 @@ public class SharingHelper {
private static Date getMax(Feed feed) {
Date d = null;
for (Entry entry : feed.getEntries()) {
- Date updated = entry.getUpdated();
+ Date updated = entry.getUpdated().toDate();
if (d == null)
d = updated;
if (updated.after(d))
@@ -389,7 +389,7 @@ public class SharingHelper {
private static Date getMin(Feed feed) {
Date d = null;
for (Entry entry : feed.getEntries()) {
- Date updated = entry.getUpdated();
+ Date updated = entry.getUpdated().toDate();
if (d == null)
d = updated;
if (updated.before(d))
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/thread/ThreadHelper.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/thread/ThreadHelper.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/thread/ThreadHelper.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/thread/ThreadHelper.java Wed Oct 19 22:33:04 2011
@@ -22,11 +22,12 @@ import java.util.Date;
import javax.activation.MimeType;
+import org.joda.time.DateTime;
import org.apache.abdera2.factory.Factory;
-import org.apache.abdera2.common.date.DateTime;
import org.apache.abdera2.model.Entry;
import org.apache.abdera2.model.Link;
import org.apache.abdera2.model.Source;
+import org.apache.abdera2.common.date.DateTimes;
import org.apache.abdera2.common.iri.IRI;
public final class ThreadHelper {
@@ -44,7 +45,7 @@ public final class ThreadHelper {
String val = link.getAttributeValue(ThreadConstants.THRUPDATED);
if (val == null) // thr:when was updated to thr:updated, some old impls may still be using thr:when
val = link.getAttributeValue(ThreadConstants.THRWHEN);
- return (val != null) ? DateTime.valueOf(val) : null;
+ return (val != null) ? DateTime.parse(val) : null;
}
public static void setCount(Link link, int count) {
@@ -52,19 +53,19 @@ public final class ThreadHelper {
}
public static void setUpdated(Link link, Date when) {
- link.setAttributeValue(ThreadConstants.THRUPDATED, DateTime.valueOf(when).getValue());
+ link.setAttributeValue(ThreadConstants.THRUPDATED, DateTimes.format(when));
}
public static void setUpdated(Link link, Calendar when) {
- link.setAttributeValue(ThreadConstants.THRUPDATED, DateTime.valueOf(when).getValue());
+ link.setAttributeValue(ThreadConstants.THRUPDATED, DateTimes.format(when));
}
public static void setUpdated(Link link, long when) {
- link.setAttributeValue(ThreadConstants.THRUPDATED, DateTime.valueOf(when).getValue());
+ link.setAttributeValue(ThreadConstants.THRUPDATED, DateTimes.format(when));
}
public static void setUpdated(Link link, String when) {
- link.setAttributeValue(ThreadConstants.THRUPDATED, DateTime.valueOf(when).getValue());
+ link.setAttributeValue(ThreadConstants.THRUPDATED, DateTimes.format(when));
}
public static Total addTotal(Entry entry, int total) {
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/tombstones/Tombstone.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/tombstones/Tombstone.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/tombstones/Tombstone.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/tombstones/Tombstone.java Wed Oct 19 22:33:04 2011
@@ -20,10 +20,11 @@ package org.apache.abdera2.ext.tombstone
import java.util.Calendar;
import java.util.Date;
+import org.joda.time.DateTime;
import org.apache.abdera2.factory.Factory;
import org.apache.abdera2.common.iri.IRI;
import org.apache.abdera2.common.anno.QName;
-import org.apache.abdera2.common.date.DateTime;
+import org.apache.abdera2.common.date.DateTimes;
import org.apache.abdera2.model.Element;
import org.apache.abdera2.model.ExtensibleElementWrapper;
import org.apache.abdera2.model.Person;
@@ -59,11 +60,11 @@ public class Tombstone extends Extensibl
public Date getWhen() {
String v = getAttributeValue("when");
- return v != null ? DateTime.parse(v) : null;
+ return v != null ? DateTimes.parse(v) : null;
}
public Tombstone setWhen(Date date) {
- return setWhen(DateTime.format(date));
+ return setWhen(DateTimes.format(date));
}
public Tombstone setWhen(String date) {
@@ -76,15 +77,15 @@ public class Tombstone extends Extensibl
}
public Tombstone setWhen(long date) {
- return setWhen(DateTime.valueOf(date));
+ return setWhen(new DateTime(date));
}
public Tombstone setWhen(Calendar date) {
- return setWhen(DateTime.valueOf(date));
+ return setWhen(new DateTime(date));
}
public Tombstone setWhen(DateTime date) {
- return setWhen(date.toString());
+ return setWhen(DateTimes.format(date));
}
public Person getBy() {
Modified: abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/tombstones/TombstonesHelper.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/tombstones/TombstonesHelper.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/tombstones/TombstonesHelper.java (original)
+++ abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/tombstones/TombstonesHelper.java Wed Oct 19 22:33:04 2011
@@ -22,7 +22,7 @@ import java.util.Date;
import javax.xml.namespace.QName;
-import org.apache.abdera2.common.date.DateTime;
+import org.joda.time.DateTime;
import org.apache.abdera2.model.Base;
import org.apache.abdera2.model.Entry;
import org.apache.abdera2.model.Feed;
Modified: abdera/abdera2/ext/src/main/resources/META-INF/services/org.apache.abdera2.parser.Parser
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/resources/META-INF/services/org.apache.abdera2.parser.Parser?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/resources/META-INF/services/org.apache.abdera2.parser.Parser (original)
+++ abdera/abdera2/ext/src/main/resources/META-INF/services/org.apache.abdera2.parser.Parser Wed Oct 19 22:33:04 2011
@@ -1 +1,2 @@
-org.apache.abdera2.ext.html.HtmlParser
\ No newline at end of file
+org.apache.abdera2.ext.html.HtmlParser
+org.apache.abdera2.ext.activities.ActivityToFeedParser
\ No newline at end of file
Modified: abdera/abdera2/ext/src/main/resources/META-INF/services/org.apache.abdera2.writer.Writer
URL: http://svn.apache.org/viewvc/abdera/abdera2/ext/src/main/resources/META-INF/services/org.apache.abdera2.writer.Writer?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/ext/src/main/resources/META-INF/services/org.apache.abdera2.writer.Writer (original)
+++ abdera/abdera2/ext/src/main/resources/META-INF/services/org.apache.abdera2.writer.Writer Wed Oct 19 22:33:04 2011
@@ -1 +1,2 @@
-org.apache.abdera2.ext.json.JSONWriter
\ No newline at end of file
+org.apache.abdera2.ext.json.JSONWriter
+org.apache.abdera2.ext.activities.FeedToActivityWriter
\ No newline at end of file
Modified: abdera/abdera2/pom.xml
URL: http://svn.apache.org/viewvc/abdera/abdera2/pom.xml?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/pom.xml (original)
+++ abdera/abdera2/pom.xml Wed Oct 19 22:33:04 2011
@@ -406,7 +406,7 @@
<dependency>
<groupId>org.apache.ws.commons.axiom</groupId>
- <artifactId>axiom</artifactId>
+ <artifactId>axiom-api</artifactId>
<version>1.2.12</version>
</dependency>
@@ -532,9 +532,160 @@
<version>3.0</version>
</dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>10.0.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>nu.validator.htmlparser</groupId>
+ <artifactId>htmlparser</artifactId>
+ <version>1.2.1</version>
+ </dependency>
+
+ <dependency>
+ <groupId>joda-time</groupId>
+ <artifactId>joda-time</artifactId>
+ <version>2.0</version>
+ </dependency>
+
</dependencies>
</dependencyManagement>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpmime</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient-cache</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.ws.commons.axiom</groupId>
+ <artifactId>axiom-api</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.ws.commons.axiom</groupId>
+ <artifactId>axiom-impl</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.geronimo.specs</groupId>
+ <artifactId>geronimo-activation_1.1_spec</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-web-api</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>com.ibm.icu</groupId>
+ <artifactId>icu4j</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test, compile, package</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>wstx-asl</artifactId>
+ <scope>runtime</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>jaxen</groupId>
+ <artifactId>jaxen</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.santuario</groupId>
+ <artifactId>xmlsec</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>xerces</groupId>
+ <artifactId>xercesImpl</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>xml-apis</groupId>
+ <artifactId>xml-apis</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.jetty</groupId>
+ <artifactId>jetty-servlet</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>nu.validator.htmlparser</groupId>
+ <artifactId>htmlparser</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>joda-time</groupId>
+ <artifactId>joda-time</artifactId>
+ </dependency>
+
+ </dependencies>
+
+
<modules>
<module>common</module>
<module>core</module>
Added: abdera/abdera2/security/.classpath
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/.classpath?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/security/.classpath (added)
+++ abdera/abdera2/security/.classpath Wed Oct 19 22:33:04 2011
@@ -0,0 +1,21 @@
+<classpath>
+ <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="src" path="target/maven-shared-archive-resources" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="src" path="/abdera2-common"/>
+ <classpathentry kind="src" path="/abdera2-core"/>
+ <classpathentry kind="src" path="/abdera2-server"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-api/1.2.12/axiom-api-1.2.12.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-impl/1.2.12/axiom-impl-1.2.12.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.5/commons-codec-1.5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-activation_1.1_spec/1.1/geronimo-activation_1.1_spec-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-javamail_1.4_spec/1.6/geronimo-javamail_1.4_spec-1.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-stax-api_1.0_spec/1.0.1/geronimo-stax-api_1.0_spec-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/ibm/icu/icu4j/4.8.1.1/icu4j-4.8.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/wstx-asl/3.2.6/wstx-asl-3.2.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/santuario/xmlsec/1.4.5/xmlsec-1.4.5.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+</classpath>
\ No newline at end of file
Propchange: abdera/abdera2/security/.classpath
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: abdera/abdera2/security/.project
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/.project?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/security/.project (added)
+++ abdera/abdera2/security/.project Wed Oct 19 22:33:04 2011
@@ -0,0 +1,17 @@
+<projectDescription>
+ <name>abdera2-security</name>
+ <comment>Atom Publishing Protocol Security Implementation. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+ <projects>
+ <project>abdera2-common</project>
+ <project>abdera2-core</project>
+ <project>abdera2-server</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Propchange: abdera/abdera2/security/.project
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: abdera/abdera2/security/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/.settings/org.eclipse.jdt.core.prefs?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/security/.settings/org.eclipse.jdt.core.prefs (added)
+++ abdera/abdera2/security/.settings/org.eclipse.jdt.core.prefs Wed Oct 19 22:33:04 2011
@@ -0,0 +1,5 @@
+#Thu Sep 29 16:38:20 PDT 2011
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
Propchange: abdera/abdera2/security/.settings/org.eclipse.jdt.core.prefs
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/AbstractEncryptedRequestFilter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/AbstractEncryptedRequestFilter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/AbstractEncryptedRequestFilter.java (original)
+++ abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/AbstractEncryptedRequestFilter.java Wed Oct 19 22:33:04 2011
@@ -24,10 +24,10 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.abdera2.Abdera;
+import org.apache.abdera2.common.misc.Chain;
import org.apache.abdera2.common.protocol.RequestContext;
import org.apache.abdera2.common.protocol.ResponseContext;
import org.apache.abdera2.common.protocol.Filter;
-import org.apache.abdera2.common.protocol.FilterChain;
import org.apache.abdera2.model.Document;
import org.apache.abdera2.model.Element;
import org.apache.abdera2.parser.ParseException;
@@ -61,13 +61,13 @@ public abstract class AbstractEncryptedR
Security.addProvider(provider);
}
- public <S extends ResponseContext>S filter(RequestContext request, FilterChain chain) {
+ public ResponseContext apply(RequestContext request, Chain<RequestContext,ResponseContext> chain) {
bootstrap(request);
String method = request.getMethod();
if (methods.contains(method.toUpperCase())) {
- return (S)chain.next(new DecryptingRequestContextWrapper(request));
+ return chain.next(new DecryptingRequestContextWrapper(request));
} else
- return (S)chain.next(request);
+ return chain.next(request);
}
protected abstract void bootstrap(RequestContext request);
Modified: abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/AbstractEncryptedResponseFilter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/AbstractEncryptedResponseFilter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/AbstractEncryptedResponseFilter.java (original)
+++ abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/AbstractEncryptedResponseFilter.java Wed Oct 19 22:33:04 2011
@@ -25,10 +25,10 @@ import java.security.Provider;
import java.security.Security;
import org.apache.abdera2.Abdera;
+import org.apache.abdera2.common.misc.Chain;
import org.apache.abdera2.common.protocol.RequestContext;
import org.apache.abdera2.common.protocol.ResponseContext;
import org.apache.abdera2.common.protocol.Filter;
-import org.apache.abdera2.common.protocol.FilterChain;
import org.apache.abdera2.model.Document;
import org.apache.abdera2.model.Element;
import org.apache.abdera2.protocol.server.AtompubResponseContext;
@@ -52,13 +52,12 @@ public abstract class AbstractEncryptedR
Security.addProvider(provider);
}
- @SuppressWarnings("unchecked")
- public <S extends ResponseContext>S filter(RequestContext request, FilterChain chain) {
+ public ResponseContext apply(RequestContext request, Chain<RequestContext,ResponseContext> chain) {
Object arg = initArg(request);
if (doEncryption(request, arg)) {
- return (S)new EncryptingResponseContext(AbstractAtompubProvider.getAbdera(request), request, chain.next(request), arg);
+ return new EncryptingResponseContext(AbstractAtompubProvider.getAbdera(request), request, chain.next(request), arg);
} else {
- return (S)chain.next(request);
+ return chain.next(request);
}
}
Modified: abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/DHEncryptedRequestFilter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/DHEncryptedRequestFilter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/DHEncryptedRequestFilter.java (original)
+++ abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/DHEncryptedRequestFilter.java Wed Oct 19 22:33:04 2011
@@ -17,10 +17,10 @@
*/
package org.apache.abdera2.security.util.filters;
+import org.apache.abdera2.common.misc.Chain;
import org.apache.abdera2.common.protocol.RequestContext.Scope;
import org.apache.abdera2.common.protocol.RequestContext;
import org.apache.abdera2.common.protocol.ResponseContext;
-import org.apache.abdera2.common.protocol.FilterChain;
import org.apache.abdera2.security.Encryption;
import org.apache.abdera2.security.EncryptionOptions;
import org.apache.abdera2.security.util.Constants;
@@ -44,9 +44,8 @@ public class DHEncryptedRequestFilter ex
public void bootstrap(RequestContext request) {
}
- @SuppressWarnings("unchecked")
- public <S extends ResponseContext>S filter(RequestContext request, FilterChain chain) {
- ResponseContext response = super.filter(request, chain);
+ public ResponseContext apply(RequestContext request, Chain<RequestContext,ResponseContext> chain) {
+ ResponseContext response = super.apply(request, chain);
String method = request.getMethod();
// include a Accept-Encryption header in the response to GET, HEAD and OPTIONS requests
// the header will specify all the information the client needs to construct
@@ -59,7 +58,7 @@ public class DHEncryptedRequestFilter ex
}
response.setHeader(Constants.ACCEPT_ENCRYPTION, context.getRequestString());
}
- return (S)response;
+ return response;
}
protected Object initArg(RequestContext request) {
Modified: abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/DHEncryptedResponseFilter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/DHEncryptedResponseFilter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/DHEncryptedResponseFilter.java (original)
+++ abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/DHEncryptedResponseFilter.java Wed Oct 19 22:33:04 2011
@@ -17,9 +17,9 @@
*/
package org.apache.abdera2.security.util.filters;
+import org.apache.abdera2.common.misc.Chain;
import org.apache.abdera2.common.protocol.RequestContext;
import org.apache.abdera2.common.protocol.ResponseContext;
-import org.apache.abdera2.common.protocol.FilterChain;
import org.apache.abdera2.security.Encryption;
import org.apache.abdera2.security.EncryptionOptions;
import org.apache.abdera2.security.util.Constants;
@@ -90,12 +90,11 @@ public class DHEncryptedResponseFilter e
}
- @SuppressWarnings("unchecked")
- public <S extends ResponseContext>S filter(RequestContext request, FilterChain chain) {
- ResponseContext response = super.filter(request, chain);
+ public ResponseContext apply(RequestContext request, Chain<RequestContext,ResponseContext> chain) {
+ ResponseContext response = super.apply(request, chain);
DHContext context = getDHContext(request);
response.setHeader(Constants.CONTENT_ENCRYPTED, context.getResponseString());
- return (S)response;
+ return response;
}
private void returnPublicKey(ResponseContext response, DHContext context) {
Modified: abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/SignedRequestFilter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/SignedRequestFilter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/SignedRequestFilter.java (original)
+++ abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/SignedRequestFilter.java Wed Oct 19 22:33:04 2011
@@ -18,10 +18,10 @@
package org.apache.abdera2.security.util.filters;
import org.apache.abdera2.common.Localizer;
+import org.apache.abdera2.common.misc.Chain;
import org.apache.abdera2.common.protocol.RequestContext;
import org.apache.abdera2.common.protocol.ResponseContext;
import org.apache.abdera2.common.protocol.Filter;
-import org.apache.abdera2.common.protocol.FilterChain;
import org.apache.abdera2.common.protocol.ProviderHelper;
import org.apache.abdera2.model.Document;
import org.apache.abdera2.model.Element;
@@ -38,8 +38,7 @@ public class SignedRequestFilter impleme
public static final String VALID = "org.apache.abdera.security.util.servlet.SignedRequestFilter.valid";
public static final String CERTS = "org.apache.abdera.security.util.servlet.SignedRequestFilter.certs";
- @SuppressWarnings("unchecked")
- public <S extends ResponseContext>S filter(RequestContext request, FilterChain chain) {
+ public ResponseContext apply(RequestContext request, Chain<RequestContext,ResponseContext> chain) {
AtompubRequestContext context =
request instanceof AtompubRequestContext ?
(AtompubRequestContext)request :
@@ -52,13 +51,13 @@ public class SignedRequestFilter impleme
Document<Element> doc = context.getDocument();
boolean valid = sig.verify(doc.getRoot(), null);
if (!valid)
- return (S)ProviderHelper.badrequest(request, Localizer.get("VALID.SIGNATURE.REQUIRED"));
+ return ProviderHelper.badrequest(request, Localizer.get("VALID.SIGNATURE.REQUIRED"));
request.setAttribute(VALID, valid);
request.setAttribute(CERTS, sig.getValidSignatureCertificates(doc.getRoot(), null));
} catch (Exception e) {
}
}
- return (S)chain.next(context);
+ return chain.next(context);
}
}
Modified: abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/SignedResponseFilter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/SignedResponseFilter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/SignedResponseFilter.java (original)
+++ abdera/abdera2/security/src/main/java/org/apache/abdera2/security/util/filters/SignedResponseFilter.java Wed Oct 19 22:33:04 2011
@@ -27,10 +27,10 @@ import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import org.apache.abdera2.Abdera;
+import org.apache.abdera2.common.misc.Chain;
import org.apache.abdera2.common.protocol.RequestContext;
import org.apache.abdera2.common.protocol.ResponseContext;
import org.apache.abdera2.common.protocol.Filter;
-import org.apache.abdera2.common.protocol.FilterChain;
import org.apache.abdera2.model.Document;
import org.apache.abdera2.model.Element;
import org.apache.abdera2.protocol.server.AtompubResponseContext;
@@ -118,9 +118,8 @@ public class SignedResponseFilter implem
}
}
- @SuppressWarnings("unchecked")
- public <S extends ResponseContext>S filter(RequestContext request, FilterChain chain) {
- return (S)new SigningResponseContextWrapper(AbstractAtompubProvider.getAbdera(request), chain.next(request));
+ public ResponseContext apply(RequestContext request, Chain<RequestContext,ResponseContext> chain) {
+ return new SigningResponseContextWrapper(AbstractAtompubProvider.getAbdera(request), chain.next(request));
}
private Document<Element> signDocument(Abdera abdera, Document<Element> doc) throws SecurityException {
Added: abdera/abdera2/server/.classpath
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/.classpath?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/server/.classpath (added)
+++ abdera/abdera2/server/.classpath Wed Oct 19 22:33:04 2011
@@ -0,0 +1,19 @@
+<classpath>
+ <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="src" path="target/maven-shared-archive-resources" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="src" path="/abdera2-common"/>
+ <classpathentry kind="src" path="/abdera2-core"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-api/1.2.12/axiom-api-1.2.12.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-impl/1.2.12/axiom-impl-1.2.12.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.5/commons-codec-1.5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-activation_1.1_spec/1.1/geronimo-activation_1.1_spec-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-javamail_1.4_spec/1.6/geronimo-javamail_1.4_spec-1.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-stax-api_1.0_spec/1.0.1/geronimo-stax-api_1.0_spec-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/ibm/icu/icu4j/4.8.1.1/icu4j-4.8.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/wstx-asl/3.2.6/wstx-asl-3.2.6.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+</classpath>
\ No newline at end of file
Propchange: abdera/abdera2/server/.classpath
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: abdera/abdera2/server/.project
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/.project?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/server/.project (added)
+++ abdera/abdera2/server/.project Wed Oct 19 22:33:04 2011
@@ -0,0 +1,16 @@
+<projectDescription>
+ <name>abdera2-server</name>
+ <comment>Atom Publishing Protocol Server Implementation. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+ <projects>
+ <project>abdera2-common</project>
+ <project>abdera2-core</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Propchange: abdera/abdera2/server/.project
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: abdera/abdera2/server/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/.settings/org.eclipse.jdt.core.prefs?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/server/.settings/org.eclipse.jdt.core.prefs (added)
+++ abdera/abdera2/server/.settings/org.eclipse.jdt.core.prefs Wed Oct 19 22:33:04 2011
@@ -0,0 +1,5 @@
+#Thu Sep 29 16:38:18 PDT 2011
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
Propchange: abdera/abdera2/server/.settings/org.eclipse.jdt.core.prefs
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractAtompubCollectionAdapter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractAtompubCollectionAdapter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractAtompubCollectionAdapter.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractAtompubCollectionAdapter.java Wed Oct 19 22:33:04 2011
@@ -18,7 +18,6 @@
package org.apache.abdera2.protocol.server.impl;
import java.io.IOException;
-import java.util.Date;
import org.apache.abdera2.Abdera;
import org.apache.abdera2.factory.Factory;
import org.apache.abdera2.common.protocol.AbstractCollectionAdapter;
@@ -37,6 +36,7 @@ import org.apache.abdera2.protocol.serve
import org.apache.abdera2.protocol.server.context.FOMResponseContext;
import org.apache.abdera2.protocol.server.model.AtompubCategoriesInfo;
import org.apache.abdera2.protocol.server.model.AtompubCollectionInfo;
+import org.joda.time.DateTime;
/**
* Base CollectionAdapter implementation that provides a number of helper utility methods for adapter implementations.
@@ -117,7 +117,7 @@ public abstract class AbstractAtompubCol
feed.addLink("");
feed.addLink("", "self");
feed.addAuthor(getAuthor(request));
- feed.setUpdated(new Date());
+ feed.setUpdated(DateTime.now());
return feed;
}
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractAtompubProvider.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractAtompubProvider.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractAtompubProvider.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractAtompubProvider.java Wed Oct 19 22:33:04 2011
@@ -18,7 +18,6 @@
package org.apache.abdera2.protocol.server.impl;
import java.io.IOException;
-import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.xml.namespace.QName;
@@ -26,7 +25,7 @@ import javax.xml.namespace.QName;
import org.apache.abdera2.Abdera;
import org.apache.abdera2.common.Constants;
import org.apache.abdera2.common.Localizer;
-import org.apache.abdera2.common.date.DateTime;
+import org.apache.abdera2.common.date.DateTimes;
import org.apache.abdera2.common.http.EntityTag;
import org.apache.abdera2.common.http.QualityHelper;
import org.apache.abdera2.common.http.QualityHelper.QToken;
@@ -66,6 +65,7 @@ import org.apache.abdera2.writer.Writer;
import org.apache.abdera2.writer.WriterFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.joda.time.DateTime;
/**
* Base Provider implementation that provides the core implementation details for all Providers. This class provides the
@@ -231,11 +231,11 @@ public abstract class AbstractAtompubPro
if (base instanceof Entry) {
Entry entry = (Entry)base;
id = entry.getId().toString();
- modified = DateTime.format(entry.getEdited() != null ? entry.getEdited() : entry.getUpdated());
+ modified = DateTimes.format(entry.getEdited() != null ? entry.getEdited() : entry.getUpdated());
} else if (base instanceof Feed) {
Feed feed = (Feed)base;
id = feed.getId().toString();
- modified = DateTime.format(feed.getUpdated());
+ modified = DateTimes.format(feed.getUpdated());
} else if (base instanceof Document) {
return calculateEntityTag(((Document<?>)base).getRoot());
}
@@ -268,24 +268,24 @@ public abstract class AbstractAtompubPro
/**
* Return a document
*/
- public static AtompubResponseContext returnBase(Base base, int status, Date lastModified) {
+ public static AtompubResponseContext returnBase(Base base, int status, DateTime lastModified) {
log.debug(Localizer.get("RETURNING.DOCUMENT"));
FOMResponseContext<Base> response = new FOMResponseContext<Base>(base);
response.setStatus(status);
if (lastModified != null)
- response.setLastModified(lastModified);
+ response.setLastModified(lastModified.toDate());
// response.setContentType(MimeTypeHelper.getMimeType(base));
Document<?> doc = base instanceof Document ? (Document<?>)base : ((Element)base).getDocument();
if (doc.getEntityTag() != null) {
response.setEntityTag(doc.getEntityTag());
} else if (doc.getLastModified() != null) {
- response.setLastModified(doc.getLastModified());
+ response.setLastModified(doc.getLastModified().toDate());
}
return response;
}
@Override
public <S extends ResponseContext> S process(RequestContext request) {
- return (S)super.process(request instanceof AtompubRequestContext?request:new AtompubRequestContext(request));
+ return super.<S>process(request instanceof AtompubRequestContext?request:new AtompubRequestContext(request));
}
}
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractEntityCollectionAdapter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractEntityCollectionAdapter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractEntityCollectionAdapter.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/impl/AbstractEntityCollectionAdapter.java Wed Oct 19 22:33:04 2011
@@ -19,7 +19,6 @@ package org.apache.abdera2.protocol.serv
import java.io.IOException;
import java.io.InputStream;
-import java.util.Date;
import java.util.List;
import javax.activation.MimeType;
@@ -29,7 +28,7 @@ import org.apache.abdera2.factory.Factor
import org.apache.abdera2.common.iri.IRI;
import org.apache.abdera2.common.text.UrlEncoding;
import org.apache.abdera2.common.text.CharUtils.Profile;
-import org.apache.abdera2.common.date.DateTime;
+import org.apache.abdera2.common.date.DateTimes;
import org.apache.abdera2.model.Content;
import org.apache.abdera2.model.Entry;
import org.apache.abdera2.model.Feed;
@@ -46,6 +45,7 @@ import org.apache.abdera2.common.protoco
import org.apache.abdera2.common.protocol.ResponseContextException;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.joda.time.DateTime;
/**
* By extending this class it becomes easy to build Collections which are backed by a set of entities - such as a
@@ -73,7 +73,7 @@ public abstract class AbstractEntityColl
public abstract T postEntry(String title,
IRI id,
String summary,
- Date updated,
+ DateTime updated,
List<Person> authors,
Content content,
RequestContext request) throws ResponseContextException;
@@ -312,7 +312,7 @@ public abstract class AbstractEntityColl
* current date and time
*/
protected void addFeedDetails(Feed feed, RequestContext request) throws ResponseContextException {
- feed.setUpdated(new Date());
+ feed.setUpdated(DateTime.now());
Iterable<T> entries = getEntries(request);
if (entries != null) {
@@ -371,10 +371,10 @@ public abstract class AbstractEntityColl
* media resource. The last-modified header will be set.
*/
protected <S extends ResponseContext>S buildGetMediaResponse(String id, T entryObj) throws ResponseContextException {
- Date updated = getUpdated(entryObj);
- MediaResponseContext ctx = new MediaResponseContext(getMediaStream(entryObj), updated, 200);
+ DateTime updated = getUpdated(entryObj);
+ MediaResponseContext ctx = new MediaResponseContext(getMediaStream(entryObj), updated.toDate(), 200);
ctx.setContentType(getContentType(entryObj));
- ctx.setEntityTag(EntityTag.generate(id, DateTime.format(updated)));
+ ctx.setEntityTag(EntityTag.generate(id, DateTimes.format(updated)));
return (S)ctx;
}
@@ -405,7 +405,7 @@ public abstract class AbstractEntityColl
/**
* Get the value to use in the atom:updated element
*/
- public abstract Date getUpdated(T entry) throws ResponseContextException;
+ public abstract DateTime getUpdated(T entry) throws ResponseContextException;
/**
* True if this entry is a media-link entry. By default this always returns false. Implementations must override to
@@ -440,7 +440,7 @@ public abstract class AbstractEntityColl
if (!AbstractAtompubProvider.isValidEntry(entry))
return (S)new EmptyResponseContext(400);
- putEntry(entryObj, entry.getTitle(), new Date(), entry.getAuthors(), entry.getSummary(), entry
+ putEntry(entryObj, entry.getTitle(), DateTime.now(), entry.getAuthors(), entry.getSummary(), entry
.getContentElement(), request);
return (S)new EmptyResponseContext(204);
} else {
@@ -482,7 +482,7 @@ public abstract class AbstractEntityColl
*/
public abstract void putEntry(T entry,
String title,
- Date updated,
+ DateTime updated,
List<Person> authors,
String summary,
Content content,
@@ -595,7 +595,7 @@ public abstract class AbstractEntityColl
if (!AbstractAtompubProvider.isValidEntry(entry))
return (S)new EmptyResponseContext(400);
- entry.setUpdated(new Date());
+ entry.setUpdated(DateTime.now());
T entryObj =
postEntry(entry.getTitle(), entry.getId(), entry.getSummary(), entry.getUpdated(), entry
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/processors/ServiceRequestProcessor.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/processors/ServiceRequestProcessor.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/processors/ServiceRequestProcessor.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/processors/ServiceRequestProcessor.java Wed Oct 19 22:33:04 2011
@@ -62,7 +62,6 @@ public class ServiceRequestProcessor
}
}
- @SuppressWarnings("unchecked")
protected <S extends ResponseContext>S getServiceDocument(
final RequestContext request,
final WorkspaceManager workspaceManager) {
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/provider/basic/BasicAdapter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/provider/basic/BasicAdapter.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/provider/basic/BasicAdapter.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/provider/basic/BasicAdapter.java Wed Oct 19 22:33:04 2011
@@ -17,7 +17,6 @@
*/
package org.apache.abdera2.protocol.server.provider.basic;
-import java.util.Date;
import java.util.logging.Logger;
import javax.activation.MimeType;
@@ -36,6 +35,7 @@ import org.apache.abdera2.common.protoco
import org.apache.abdera2.common.protocol.ResponseContext;
import org.apache.abdera2.common.protocol.ProviderHelper;
import org.apache.abdera2.common.protocol.Target;
+import org.joda.time.DateTime;
/**
* The BasicAdapter provides a simplistic interface for working with Atompub collections with a restricted set of
@@ -65,7 +65,7 @@ public abstract class BasicAdapter exten
Feed feed = abdera.newFeed();
feed.setId(config.getFeedUri());
feed.setTitle(config.getFeedTitle());
- feed.setUpdated(new Date());
+ feed.setUpdated(DateTime.now());
feed.addAuthor(config.getFeedAuthor());
return feed;
}
Added: abdera/abdera2/test/.classpath
URL: http://svn.apache.org/viewvc/abdera/abdera2/test/.classpath?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/test/.classpath (added)
+++ abdera/abdera2/test/.classpath Wed Oct 19 22:33:04 2011
@@ -0,0 +1,47 @@
+<classpath>
+ <classpathentry kind="src" path="src/main/java" including="**/*.java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/>
+ <classpathentry kind="src" path="target/maven-shared-archive-resources" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="src" path="/abdera2-activities"/>
+ <classpathentry kind="src" path="/abdera2-client"/>
+ <classpathentry kind="src" path="/abdera2-common"/>
+ <classpathentry kind="src" path="/abdera2-core"/>
+ <classpathentry kind="src" path="/abdera2-ext"/>
+ <classpathentry kind="src" path="/abdera2-security"/>
+ <classpathentry kind="src" path="/abdera2-server"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-api/1.2.12/axiom-api-1.2.12.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/ws/commons/axiom/axiom-impl/1.2.12/axiom-impl-1.2.12.jar"/>
+ <classpathentry kind="var" path="M2_REPO/cglib/cglib-nodep/2.2/cglib-nodep-2.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.5/commons-codec-1.5.jar"/>
+ <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/easymock/easymock/3.0/easymock-3.0.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-activation_1.1_spec/1.1/geronimo-activation_1.1_spec-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-javamail_1.4_spec/1.6/geronimo-javamail_1.4_spec-1.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/geronimo/specs/geronimo-stax-api_1.0_spec/1.0.1/geronimo-stax-api_1.0_spec-1.0.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/google/code/gson/gson/1.7.1/gson-1.7.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/nu/validator/htmlparser/htmlparser/1.2.1/htmlparser-1.2.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient-cache/4.1.2/httpclient-cache-4.1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.1.2/httpcore-4.1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpmime/4.1.2/httpmime-4.1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/com/ibm/icu/icu4j/4.8.1.1/icu4j-4.8.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/jaxen/jaxen/1.1.1/jaxen-1.1.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-continuation/8.0.0.v20110901/jetty-continuation-8.0.0.v20110901.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-http/8.0.0.v20110901/jetty-http-8.0.0.v20110901.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-io/8.0.0.v20110901/jetty-io-8.0.0.v20110901.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-security/8.0.0.v20110901/jetty-security-8.0.0.v20110901.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-server/8.0.0.v20110901/jetty-server-8.0.0.v20110901.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-servlet/8.0.0.v20110901/jetty-servlet-8.0.0.v20110901.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/eclipse/jetty/jetty-util/8.0.0.v20110901/jetty-util-8.0.0.v20110901.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.9/junit-4.9.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/1.2/objenesis-1.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xalan/serializer/2.7.1/serializer-2.7.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/mortbay/jetty/servlet-api/3.0.20100224/servlet-api-3.0.20100224.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/codehaus/woodstox/wstx-asl/3.2.6/wstx-asl-3.2.6.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xalan/xalan/2.7.1/xalan-2.7.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xml-apis/xml-apis/2.0.2/xml-apis-2.0.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/apache/santuario/xmlsec/1.4.5/xmlsec-1.4.5.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+</classpath>
\ No newline at end of file
Propchange: abdera/abdera2/test/.classpath
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: abdera/abdera2/test/.project
URL: http://svn.apache.org/viewvc/abdera/abdera2/test/.project?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/test/.project (added)
+++ abdera/abdera2/test/.project Wed Oct 19 22:33:04 2011
@@ -0,0 +1,21 @@
+<projectDescription>
+ <name>abdera2-test</name>
+ <comment>Abdera Tests. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
+ <projects>
+ <project>abdera2-activities</project>
+ <project>abdera2-client</project>
+ <project>abdera2-common</project>
+ <project>abdera2-core</project>
+ <project>abdera2-ext</project>
+ <project>abdera2-security</project>
+ <project>abdera2-server</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
\ No newline at end of file
Propchange: abdera/abdera2/test/.project
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: abdera/abdera2/test/.settings/org.eclipse.jdt.core.prefs
URL: http://svn.apache.org/viewvc/abdera/abdera2/test/.settings/org.eclipse.jdt.core.prefs?rev=1186541&view=auto
==============================================================================
--- abdera/abdera2/test/.settings/org.eclipse.jdt.core.prefs (added)
+++ abdera/abdera2/test/.settings/org.eclipse.jdt.core.prefs Wed Oct 19 22:33:04 2011
@@ -0,0 +1,5 @@
+#Thu Sep 29 16:38:23 PDT 2011
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
Propchange: abdera/abdera2/test/.settings/org.eclipse.jdt.core.prefs
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: abdera/abdera2/test/src/main/java/org/apache/abdera2/test/activities/server/AsyncBasicTest.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/test/src/main/java/org/apache/abdera2/test/activities/server/AsyncBasicTest.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/test/src/main/java/org/apache/abdera2/test/activities/server/AsyncBasicTest.java (original)
+++ abdera/abdera2/test/src/main/java/org/apache/abdera2/test/activities/server/AsyncBasicTest.java Wed Oct 19 22:33:04 2011
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertTrue;
import java.io.IOException;
-import java.util.Date;
import org.apache.abdera2.activities.client.ActivityEntity;
import org.apache.abdera2.activities.model.ASObject;
@@ -95,7 +94,7 @@ public class AsyncBasicTest {
activity.setId("http://localhost:9002/sample/foo");
activity.setTitle("test entry");
activity.setVerb(Verb.POST);
- activity.setPublished(new Date());
+ activity.setPublishedNow();
PersonObject person = new PersonObject();
person.setDisplayName("James");
activity.setActor(person);
Modified: abdera/abdera2/test/src/main/java/org/apache/abdera2/test/activities/server/BasicTest.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/test/src/main/java/org/apache/abdera2/test/activities/server/BasicTest.java?rev=1186541&r1=1186540&r2=1186541&view=diff
==============================================================================
--- abdera/abdera2/test/src/main/java/org/apache/abdera2/test/activities/server/BasicTest.java (original)
+++ abdera/abdera2/test/src/main/java/org/apache/abdera2/test/activities/server/BasicTest.java Wed Oct 19 22:33:04 2011
@@ -23,7 +23,6 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertTrue;
import java.io.IOException;
-import java.util.Date;
import org.apache.abdera2.activities.client.ActivityEntity;
import org.apache.abdera2.activities.model.ASObject;
@@ -86,7 +85,7 @@ public class BasicTest {
activity.setId("http://localhost:9002/sample/foo");
activity.setTitle("test entry");
activity.setVerb(Verb.POST);
- activity.setPublished(new Date());
+ activity.setPublishedNow();
PersonObject person = new PersonObject();
person.setDisplayName("James");
activity.setActor(person);
@@ -172,7 +171,7 @@ public class BasicTest {
activity.setId("http://localhost:9002/sample/foo" + n);
activity.setTitle("test entry " + n);
activity.setVerb(Verb.POST);
- activity.setPublished(new Date());
+ activity.setPublishedNow();
PersonObject person = new PersonObject();
person.setDisplayName("James");
activity.setActor(person);