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/31 18:42:22 UTC
svn commit: r1195583 [1/2] - in /abdera/abdera2:
activities/src/main/java/org/apache/abdera2/activities/model/
activities/src/main/java/org/apache/abdera2/activities/protocol/managed/
common/src/main/java/org/apache/abdera2/common/ common/src/main/java...
Author: jmsnell
Date: Mon Oct 31 17:42:21 2011
New Revision: 1195583
URL: http://svn.apache.org/viewvc?rev=1195583&view=rev
Log: (empty)
Added:
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/pusher/SimpleListener.java (with props)
abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/PusherExample.java (with props)
Modified:
abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Generator.java
abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/protocol/managed/CollectionAdapterManager.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Discover.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Localizer.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/AnnoUtil.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Context.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Name.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Version.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/date/DateTimes.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/Authentication.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/CacheControlUtil.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/EntityTag.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/WebLink.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/Chain.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/ExceptionHelper.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/MoreFunctions.java
abdera/abdera2/common/src/main/java/org/apache/abdera2/common/protocol/RequestProcessor.java
abdera/abdera2/core/src/main/java/org/apache/abdera2/model/ElementList.java
abdera/abdera2/core/src/main/java/org/apache/abdera2/parser/filter/AbstractParseFilter.java
abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/Activities.java
abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/BinaryDataObjectExample.java
abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/GeneratorStreamingExample.java
abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/ReadingListExample.java
abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/VersionControlExample.java
abdera/abdera2/ext/src/main/java/org/apache/abdera2/ext/serializer/ObjectResponseContext.java
abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubProvider.java
abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubResponseContext.java
abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubServiceManager.java
abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/context/EntityProviderResponseContext.java
abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/context/FOMResponseContext.java
abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/context/ResponseContextWrapper.java
abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/provider/managed/CollectionAdapterManager.java
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Generator.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Generator.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Generator.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/model/Generator.java Mon Oct 31 17:42:21 2011
@@ -26,7 +26,7 @@ public class Generator<T extends ASBase>
this.template = template;
}
- public Generator<T> startNew() {
+ public <X extends Generator<T>>X startNew() {
if (item != null)
throw new IllegalStateException();
try {
@@ -44,14 +44,14 @@ public class Generator<T extends ASBase>
} catch (Throwable t) {
throw new RuntimeException(t);
}
- return this;
+ return (X)this;
}
- public Generator<T> set(String name, Object value) {
+ public <X extends Generator<T>>X set(String name, Object value) {
if (item == null)
throw new IllegalStateException();
item.setProperty(name,value);
- return this;
+ return (X)this;
}
public T complete() {
Modified: abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/protocol/managed/CollectionAdapterManager.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/protocol/managed/CollectionAdapterManager.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/protocol/managed/CollectionAdapterManager.java (original)
+++ abdera/abdera2/activities/src/main/java/org/apache/abdera2/activities/protocol/managed/CollectionAdapterManager.java Mon Oct 31 17:42:21 2011
@@ -92,9 +92,8 @@ public class CollectionAdapterManager {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
Class<?> adapterClass = cl.loadClass(config.getAdapterClassName());
Constructor<?>[] ctors = adapterClass.getConstructors();
- for (Constructor<?> element : ctors) {
- logger.finest("Public constructor found: " + element.toString());
- }
+ for (Constructor<?> element : ctors)
+ logger.finest("Public constructor found: " + element.toString());
Constructor<?> c = adapterClass.getConstructor(new Class[] {FeedConfiguration.class});
c.setAccessible(true);
CollectionAdapter adapterInstance = (CollectionAdapter)c.newInstance(config);
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Discover.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Discover.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Discover.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Discover.java Mon Oct 31 17:42:21 2011
@@ -28,7 +28,11 @@ import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.Set;
+import javax.annotation.Nullable;
+
import org.apache.abdera2.common.anno.AnnoUtil;
+import org.apache.abdera2.common.misc.ExceptionHelper;
+import org.apache.abdera2.common.misc.MoreFunctions;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -40,15 +44,33 @@ public final class Discover {
private final static Log log = LogFactory.getLog(Discover.class);
private Discover() {}
- public static <T> T locate(Class<T> _class, String defaultImpl, Object... args) {
- return (T)locate(_class, defaultImpl, getLoader(), args);
+ public static <T> T locate(
+ Class<T> _class,
+ @Nullable String defaultImpl,
+ Object... args) {
+ return (T)locate(
+ _class,
+ defaultImpl,
+ getLoader(),
+ args);
}
- public static <T> T locate(String id, String defaultImpl, Object... args) {
- return (T)locate(id, defaultImpl, getLoader(), args);
- }
-
- public static <T> T locate(Class<T> _class, String defaultImpl, ClassLoader loader, Object... args) {
+ public static <T> T locate(
+ String id,
+ @Nullable String defaultImpl,
+ Object... args) {
+ return (T)locate(
+ id,
+ defaultImpl,
+ getLoader(),
+ args);
+ }
+
+ public static <T> T locate(
+ Class<T> _class,
+ @Nullable String defaultImpl,
+ ClassLoader loader,
+ Object... args) {
try {
T instance = null, first = null;
Iterable<T> items =
@@ -73,7 +95,11 @@ public final class Discover {
}
}
- public static <T> T locate(String id, String defaultImpl, ClassLoader loader, Object... args) {
+ public static <T> T locate(
+ String id,
+ @Nullable String defaultImpl,
+ ClassLoader loader,
+ Object... args) {
try {
T instance = null;
Iterable<T> items =
@@ -94,247 +120,346 @@ public final class Discover {
return Thread.currentThread().getContextClassLoader();
}
- public static <T> Iterable<T> locate(Class<T> _class, ClassLoader cl, Object... args) {
+ public static <T> Iterable<T> locate(
+ Class<T> _class,
+ @Nullable ClassLoader cl,
+ Object... args) {
return locate(_class, false, cl, args);
}
- public static <T> Iterable<T> locate(String id, ClassLoader cl, Object... args) {
+ public static <T> Iterable<T> locate(
+ String id,
+ @Nullable ClassLoader cl,
+ Object... args) {
return locate(id, false, cl, args);
}
- public static <T> Iterable<T> locate(Class<T> _class, boolean classesonly, ClassLoader cl, Object... args) {
- return locate(_class, classesonly, new DefaultLoader<T>(_class, classesonly, args, cl));
+ public static <T> Iterable<T> locate(
+ Class<T> _class,
+ boolean classesonly,
+ @Nullable ClassLoader cl,
+ Object... args) {
+ return locate(
+ _class,
+ classesonly,
+ new DefaultLoader<T>(
+ _class,
+ classesonly,
+ args,
+ cl));
}
- public static <T> Iterable<T> locate(String id, boolean classesonly, ClassLoader cl, Object... args) {
- return locate(id, classesonly, new DefaultLoader<T>(id, classesonly, args, cl));
- }
-
- public static <T> Iterable<T> locate(Class<T> _class, Object...args) {
- return locate(_class, false, args);
+ public static <T> Iterable<T> locate(
+ String id,
+ boolean classesonly,
+ @Nullable ClassLoader cl,
+ Object... args) {
+ return locate(
+ id,
+ classesonly,
+ new DefaultLoader<T>(
+ id,
+ classesonly,
+ args,
+ cl));
+ }
+
+ public static <T> Iterable<T> locate(
+ Class<T> _class,
+ Object...args) {
+ return locate(
+ _class,
+ false,
+ args);
}
- public static <T> Iterable<T> locate(String id, Object... args) {
+ public static <T> Iterable<T> locate(
+ String id,
+ Object... args) {
return locate(id, false, args);
}
- public static <T> Iterable<T> locate(Class<T> _class, boolean classesonly, Object... args) {
- return locate(new DefaultLoader<T>(_class, classesonly, args));
+ public static <T> Iterable<T> locate(
+ Class<T> _class,
+ boolean classesonly,
+ Object... args) {
+ return locate(
+ new DefaultLoader<T>(
+ _class,
+ classesonly,
+ args));
}
- public static <T> Iterable<T> locate(String id, boolean classesonly, Object... args) {
- return locate(new DefaultLoader<T>(id, classesonly, args));
+ public static <T> Iterable<T> locate(
+ String id,
+ boolean classesonly,
+ Object... args) {
+ return locate(
+ new DefaultLoader<T>(
+ id,
+ classesonly,
+ args));
}
- public static <T> Iterable<T> locate(Iterable<T> loader) {
+ public static <T> Iterable<T> locate(
+ Iterable<T> loader) {
Set<T> impls = new LinkedHashSet<T>();
try {
- for (T instance : loader) {
- if (instance != null)
- impls.add(instance);
- }
+ for (T instance : loader)
+ if (instance != null)
+ impls.add(instance);
} catch (Throwable t) {
- log.error(t);
+ log.error(t);
}
return impls;
}
- public static class DefaultLoader<T> implements Iterable<T> {
+ public static class DefaultLoader<T>
+ implements Iterable<T> {
protected final ClassLoader loader;
protected final String id;
protected final Iterator<T> iterator;
protected final Object[] args;
- public DefaultLoader(String id, boolean classesonly, Object[] args) {
- this(id, classesonly, args, getLoader());
- }
-
- public DefaultLoader(String id, boolean classesonly, Object[] args, ClassLoader loader) {
- this.loader = loader != null ? loader : getLoader();
+ public DefaultLoader(
+ String id,
+ boolean classesonly,
+ Object[] args) {
+ this(
+ id,
+ classesonly,
+ args,
+ getLoader());
+ }
+
+ public DefaultLoader(
+ String id,
+ boolean classesonly,
+ Object[] args,
+ @Nullable ClassLoader loader) {
+ this.loader =
+ loader != null ?
+ loader : getLoader();
this.id = id;
this.args = args;
this.iterator = init(classesonly);
}
- public DefaultLoader(Class<T> _class, boolean classesonly, Object[] args, ClassLoader loader) {
- this(_class.getName(), classesonly, args, loader);
+ public DefaultLoader(
+ Class<T> _class,
+ boolean classesonly,
+ Object[] args,
+ @Nullable ClassLoader loader) {
+ this(
+ _class.getName(),
+ classesonly,
+ args,
+ loader);
}
- public DefaultLoader(Class<T> _class, boolean classesonly, Object[] args) {
- this(_class.getName(), classesonly, args);
+ public DefaultLoader(
+ Class<T> _class,
+ boolean classesonly,
+ Object[] args) {
+ this(
+ _class.getName(),
+ classesonly,
+ args);
}
private Iterator<T> init(boolean classesonly) {
- try {
- Set<Iterator<T>> list = new HashSet<Iterator<T>>();
- Enumeration<URL> e = locateResources("META-INF/services/" + id, //$NON-NLS-1$
- loader,
- Discover.class);
- while (e.hasMoreElements()) {
- Iterator<T> i =
- new DefaultLoaderIterator<T>(loader, e.nextElement().openStream(), classesonly, args);
- list.add(i);
- }
- return Iterators.concat(list.iterator());
- } catch (Throwable t) {
- throw new RuntimeException(t);
- }
+ try {
+ Set<Iterator<T>> list = new HashSet<Iterator<T>>();
+ Enumeration<URL> e = locateResources(
+ "META-INF/services/" + id, //$NON-NLS-1$
+ loader,
+ Discover.class);
+ while (e.hasMoreElements()) {
+ Iterator<T> i =
+ new DefaultLoaderIterator<T>(
+ loader,
+ e.nextElement().openStream(),
+ classesonly,
+ args);
+ list.add(i);
+ }
+ return Iterators.concat(list.iterator());
+ } catch (Throwable t) {
+ throw ExceptionHelper.propogate(t);
+ }
}
-
public Iterator<T> iterator() {
- return iterator;
+ return iterator;
}
}
- public static class DefaultLoaderIterator<T> extends LineReaderLoaderIterator<T> {
- public DefaultLoaderIterator(ClassLoader cl, InputStream in, boolean classesonly, Object[] args) {
- super(cl, in, classesonly, args);
- }
+ public static class DefaultLoaderIterator<T>
+ extends LineReaderLoaderIterator<T> {
+ public DefaultLoaderIterator(
+ ClassLoader cl,
+ InputStream in,
+ boolean classesonly,
+ Object[] args) {
+ super(cl, in, classesonly, args);
+ }
- public T next() {
- try {
- if (!hasNext())
- return null;
- return create(read(), args);
- } catch (Throwable t) {
- return null;
- }
- }
-
- protected T create(String spec, Object[] args) {
- try {
- return (T)load(cl, spec, classesonly, args);
- } catch (RuntimeException e) {
- throw e;
- } catch (Throwable t) {
- throw new RuntimeException(t);
- }
+ public T next() {
+ try {
+ if (!hasNext())
+ return null;
+ return create(read(), args);
+ } catch (Throwable t) {
+ return null;
}
- }
+ }
- private static <T> T load(ClassLoader loader, String spec, boolean classesonly, Object[] args) throws Exception {
- if (classesonly) {
- return (T)getClass(loader, spec);
- } else {
- Class<T> _class = getClass(loader, spec);
- Class<?>[] types = new Class<?>[args != null ? args.length : 0];
- if (args != null) {
- for (int n = 0; n < args.length; n++) {
- types[n] = args[n].getClass();
- }
- return _class.getConstructor(types).newInstance(args);
- } else {
- return _class.newInstance();
- }
+ protected T create(
+ String spec,
+ Object[] args) {
+ try {
+ return Discover.<T>load(cl, spec, classesonly, args);
+ } catch (Throwable t) {
+ throw ExceptionHelper.propogate(t);
+ }
+ }
+ }
+
+ private static <T> T load(
+ ClassLoader loader,
+ String spec,
+ boolean classesonly,
+ Object[] args)
+ throws Exception {
+ if (classesonly)
+ return (T)getClass(loader, spec);
+ else {
+ Class<T> _class =
+ getClass(loader, spec);
+ return MoreFunctions
+ .<T>createInstance(_class)
+ .apply(args);
}
}
- private static <T> Class<T> getClass(ClassLoader loader, String spec) {
+ private static <T> Class<T> getClass(
+ ClassLoader loader,
+ String spec) {
Class<T> c = null;
try {
- c = (Class<T>)loader.loadClass(spec);
+ c = (Class<T>)loader.loadClass(spec);
} catch (ClassNotFoundException e) {
- try {
- // try loading the class from the Discover class loader
- // if the loader failed.
- c = (Class<T>)Discover.class.getClassLoader().loadClass(spec);
- } catch (ClassNotFoundException e1) {
- // throw the original exception
- throw new RuntimeException(e);
- }
+ try {
+ // try loading the class from the Discover class loader
+ // if the loader failed.
+ c = (Class<T>)Discover.class.getClassLoader().loadClass(spec);
+ } catch (ClassNotFoundException e1) {
+ // throw the original exception
+ throw new RuntimeException(e);
+ }
}
return c;
}
- public static abstract class LineReaderLoaderIterator<T> extends LoaderIterator<T> {
+ public static abstract class LineReaderLoaderIterator<T>
+ extends LoaderIterator<T> {
private BufferedReader buf = null;
private String line = null;
protected final Object[] args;
protected final boolean classesonly;
- protected LineReaderLoaderIterator(ClassLoader cl, InputStream in, boolean classesonly, Object[] args) {
+ protected LineReaderLoaderIterator(
+ ClassLoader cl,
+ InputStream in,
+ boolean classesonly,
+ Object[] args) {
super(cl);
this.args = args;
this.classesonly = classesonly;
try {
- InputStreamReader reader = new InputStreamReader(in, "UTF-8");
- buf = new BufferedReader(reader);
- line = readNext();
+ InputStreamReader reader =
+ new InputStreamReader(in, "UTF-8");
+ buf = new BufferedReader(reader);
+ line = readNext();
} catch (Throwable t) {
- throw new RuntimeException(t);
+ throw ExceptionHelper.propogate(t);
}
}
public boolean hasNext() {
- return line != null;
+ return line != null;
}
protected String readNext() {
- try {
- String line = null;
- while ((line = buf.readLine()) != null) {
- line = line.trim();
- if (!line.startsWith("#"))break; //$NON-NLS-1$
- }
- return line;
- } catch (Throwable t) {
- throw new RuntimeException(t);
+ try {
+ String line = null;
+ while ((line = buf.readLine()) != null) {
+ line = line.trim();
+ if (!line.startsWith("#"))break; //$NON-NLS-1$
}
+ return line;
+ } catch (Throwable t) {
+ throw new RuntimeException(t);
+ }
}
protected String read() {
- String val = line;
- line = readNext();
- return val;
+ String val = line;
+ line = readNext();
+ return val;
}
}
- public static abstract class LoaderIterator<T> implements Iterator<T> {
+ public static abstract class LoaderIterator<T>
+ implements Iterator<T> {
protected final ClassLoader cl;
-
protected LoaderIterator(ClassLoader cl) {
- this.cl = cl;
- }
-
- public void remove() {
+ this.cl = cl;
}
+ public void remove() {}
}
- public static URL locateResource(String id, ClassLoader loader, Class<?> callingClass) {
+ public static URL locateResource(
+ String id,
+ ClassLoader loader,
+ Class<?> callingClass) {
URL url = loader.getResource(id);
if (url == null && id.startsWith("/"))
- url = loader.getResource(id.substring(1));
+ url = loader.getResource(id.substring(1));
if (url == null)
- url = locateResource(id, Discover.class.getClassLoader(), callingClass);
+ url = locateResource(id, Discover.class.getClassLoader(), callingClass);
if (url == null && callingClass != null)
- url = locateResource(id, callingClass.getClassLoader(), null);
- if (url == null) {
- url = callingClass.getResource(id);
- }
- if ((url == null) && id.startsWith("/")) {
- url = callingClass.getResource(id.substring(1));
- }
+ url = locateResource(id, callingClass.getClassLoader(), null);
+ if (url == null)
+ url = callingClass.getResource(id);
+ if ((url == null) && id.startsWith("/"))
+ url = callingClass.getResource(id.substring(1));
return url;
}
- public static Enumeration<URL> locateResources(String id, ClassLoader loader, Class<?> callingClass)
+ public static Enumeration<URL> locateResources(
+ String id,
+ ClassLoader loader,
+ Class<?> callingClass)
throws IOException {
- Enumeration<URL> urls = loader.getResources(id);
- if (urls == null && id.startsWith("/"))
- urls = loader.getResources(id.substring(1));
- if (urls == null)
- urls = locateResources(id, Discover.class.getClassLoader(), callingClass);
- if (urls == null)
- urls = locateResources(id, callingClass.getClassLoader(), callingClass);
- return urls;
+ Enumeration<URL> urls = loader.getResources(id);
+ if (urls == null && id.startsWith("/"))
+ urls = loader.getResources(id.substring(1));
+ if (urls == null)
+ urls = locateResources(id, Discover.class.getClassLoader(), callingClass);
+ if (urls == null)
+ urls = locateResources(id, callingClass.getClassLoader(), callingClass);
+ return urls;
}
- public static InputStream locateResourceAsStream(String resourceName, ClassLoader loader, Class<?> callingClass) {
+ public static InputStream locateResourceAsStream(
+ String resourceName,
+ ClassLoader loader,
+ Class<?> callingClass) {
URL url = locateResource(resourceName, loader, callingClass);
try {
- return (url != null) ? url.openStream() : null;
+ return (url != null) ? url.openStream() : null;
} catch (IOException e) {
- return null;
+ return null;
}
}
}
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Localizer.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Localizer.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Localizer.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/Localizer.java Mon Oct 31 17:42:21 2011
@@ -20,17 +20,19 @@ package org.apache.abdera2.common;
import java.util.Locale;
import java.util.ResourceBundle;
+import javax.annotation.Nullable;
+
/**
* Wraps ResourceBundle with a couple of additional, useful methods. Used for l10n
*/
public final class Localizer {
- private static Localizer instance = null;
+ private static Localizer instance;
public static synchronized Localizer getInstance() {
- if (instance == null)
- instance = new Localizer();
- return instance;
+ if (instance == null)
+ instance = new Localizer();
+ return instance;
}
public static synchronized void setInstance(Localizer localizer) {
@@ -41,7 +43,7 @@ public final class Localizer {
return getInstance().getValue(key);
}
- public static String get(String key, String defaultValue) {
+ public static String get(String key, @Nullable String defaultValue) {
return getInstance().getValue(key, defaultValue);
}
@@ -55,32 +57,58 @@ public final class Localizer {
private final ResourceBundle bundle;
public Localizer() {
- this(Locale.getDefault(), Thread.currentThread().getContextClassLoader());
+ this(
+ Locale.getDefault(),
+ Thread.currentThread().getContextClassLoader());
}
- public Localizer(Locale locale, ClassLoader loader) {
- this(initResourceBundle(DEFAULT_BUNDLE, locale, loader), locale);
+ public Localizer(
+ @Nullable Locale locale,
+ @Nullable ClassLoader loader) {
+ this(initResourceBundle(
+ DEFAULT_BUNDLE,
+ locale,
+ loader),
+ locale);
}
public Localizer(String bundle) {
- this(initResourceBundle(bundle, Locale.getDefault(), Thread.currentThread().getContextClassLoader()));
- }
-
- public Localizer(String bundle, Locale locale) {
- this(initResourceBundle(bundle, locale, Thread.currentThread().getContextClassLoader()));
- }
-
- public Localizer(ResourceBundle bundle) {
- this(bundle, bundle.getLocale());
- }
-
- public Localizer(ResourceBundle bundle, Locale locale) {
+ this(initResourceBundle(
+ bundle,
+ Locale.getDefault(),
+ Thread.currentThread().getContextClassLoader()));
+ }
+
+ public Localizer(
+ String bundle,
+ @Nullable Locale locale) {
+ this(initResourceBundle(
+ bundle,
+ locale,
+ Thread.currentThread().getContextClassLoader()));
+ }
+
+ public Localizer(
+ ResourceBundle bundle) {
+ this(
+ bundle,
+ bundle.getLocale());
+ }
+
+ public Localizer(
+ ResourceBundle bundle,
+ Locale locale) {
this.bundle = bundle;
this.locale = locale;
}
- private static ResourceBundle initResourceBundle(String bundle, Locale locale, ClassLoader loader) {
+ private static ResourceBundle initResourceBundle(
+ String bundle,
+ @Nullable Locale locale,
+ @Nullable ClassLoader loader) {
try {
+ if (locale == null) locale = Locale.getDefault();
+ if (loader == null) loader = Thread.currentThread().getContextClassLoader();
return ResourceBundle.getBundle(bundle, locale, loader);
} catch (Exception e) {
return null;
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/AnnoUtil.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/AnnoUtil.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/AnnoUtil.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/AnnoUtil.java Mon Oct 31 17:42:21 2011
@@ -30,7 +30,7 @@ public final class AnnoUtil {
/**
* Retrieves the value of the Name attribute from the specified
* item. If the item is an instance object, the name is pulled from it's
- * Class.
+ * Class. If item is null, returns null.
*/
public static String getName(Object item) {
if (item == null) return null;
@@ -46,6 +46,7 @@ public final class AnnoUtil {
* Retrieve the default implementation for the specified Class.
*/
public static String getDefaultImplementation(Class<?> _class) {
+ if (_class == null) return null;
String _default = null;
if (_class.isAnnotationPresent(DefaultImplementation.class)) {
DefaultImplementation di =
@@ -74,17 +75,15 @@ public final class AnnoUtil {
* @return A List of Namespace URIs Supported by this Extension
*/
public static Set<String> getNamespaces(Object obj) {
- if (obj == null) return Collections.emptySet();
+ if (obj == null) return Collections.<String>emptySet();
Class<?> _class =
obj instanceof Class ? (Class<?>)obj :
obj.getClass();
Set<String> ns = new HashSet<String>();
- if (_class.isAnnotationPresent(Namespace.class)) {
- Namespace nsa = _class.getAnnotation(Namespace.class);
- for (String n : nsa.value())
+ if (_class.isAnnotationPresent(Namespace.class))
+ for (String n : _class.getAnnotation(Namespace.class).value())
ns.add(n);
- }
- return ns;
+ return Collections.unmodifiableSet(ns);
}
/**
@@ -100,17 +99,17 @@ public final class AnnoUtil {
* Retrieve a javax.xml.namespace.QName from a class using the QName annotation.
*/
public static QName qNameFromAnno(org.apache.abdera2.common.anno.QName impl) {
+ if (impl == null) return null;
QName result = null;
String name = impl.value();
String ns = impl.ns();
String pfx = impl.pfx();
- if (pfx != null && pfx.length() > 0) {
+ if (pfx != null && pfx.length() > 0)
result = new QName(ns,name,pfx);
- } else if (ns != null && ns.length() > 0) {
+ else if (ns != null && ns.length() > 0)
result = new QName(ns,name);
- } else if (name != null && name.length() > 0) {
+ else if (name != null && name.length() > 0)
result = new QName(name);
- };
return result;
}
@@ -120,10 +119,11 @@ public final class AnnoUtil {
*/
public static QName getQName(Object obj) {
if (obj == null) return null;
- Class<?> _class = obj instanceof Class ? (Class<?>)obj : obj.getClass();
- if (_class.isAnnotationPresent(org.apache.abdera2.common.anno.QName.class)) {
+ Class<?> _class =
+ obj instanceof Class ?
+ (Class<?>)obj : obj.getClass();
+ if (_class.isAnnotationPresent(org.apache.abdera2.common.anno.QName.class))
return qNameFromAnno(_class.getAnnotation(org.apache.abdera2.common.anno.QName.class));
- }
return null;
}
}
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Context.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Context.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Context.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Context.java Mon Oct 31 17:42:21 2011
@@ -6,6 +6,12 @@ import static java.lang.annotation.Reten
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
+/**
+ * The Context Annotation is intended for use with classes
+ * with the URITemplate annotation to establish a static
+ * default context. Each Context Annotation contains a
+ * list of static Param annotations
+ */
@Retention(RUNTIME)
@Target( {TYPE})
public @interface Context {
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Name.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Name.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Name.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Name.java Mon Oct 31 17:42:21 2011
@@ -30,7 +30,5 @@ import java.lang.annotation.Target;
@Target( {TYPE,FIELD,METHOD})
@Inherited
public @interface Name {
-
String value();
-
}
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Version.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Version.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Version.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/anno/Version.java Mon Oct 31 17:42:21 2011
@@ -28,9 +28,7 @@ import java.lang.annotation.Target;
@Target( {TYPE})
@Inherited
public @interface Version {
-
String value(); // Version Number
String name(); // App Name
String uri(); // App URI
-
}
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/date/DateTimes.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/date/DateTimes.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/date/DateTimes.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/date/DateTimes.java Mon Oct 31 17:42:21 2011
@@ -15,6 +15,7 @@ import org.joda.time.Interval;
import static org.apache.abdera2.common.misc.Comparisons.*;
import com.google.common.base.Equivalence;
+import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.base.Supplier;
import com.google.common.collect.Range;
@@ -24,29 +25,72 @@ public final class DateTimes {
private DateTimes() {}
+ /**
+ * Simple Function that creates a DateTime from an object..
+ * the input can be a string, a long, a java.util.Date,
+ * a java.util.Calendar or another DateTime. This is
+ * mainly a convenience wrapper for the default constructor
+ */
+ public static final Function<Object,DateTime> parser =
+ new Function<Object,DateTime>() {
+ public DateTime apply(Object input) {
+ return new DateTime(input);
+ }
+ };
+
+ /**
+ * Simple Function that formats a DateTime object to
+ * ISO8601-compliant string. This is mainly just a
+ * convenience wrapper.
+ */
+ public static final Function<DateTime,String> formatter =
+ new Function<DateTime,String>() {
+ public String apply(DateTime input) {
+ return format(input);
+ }
+ };
+
private static final DateTimeFormatter DTF =
ISODateTimeFormat.dateTime();
+ /**
+ * Formats the current date/time to string using the default timezone
+ */
public static String formatNow() {
return DateTime.now().toString(DTF);
}
+ /**
+ * Formats the given date/time to string
+ */
public static String format(String dateTime) {
return DTF.print(new DateTime(dateTime));
}
+ /**
+ * Formats the given date/time to string
+ */
public static String format(DateTime dateTime) {
return DTF.print(dateTime);
}
+ /**
+ * Formats the given date/time to string
+ */
public static String format(Date date) {
return DTF.print(new DateTime(date));
}
+ /**
+ * Formats the given date/time to string
+ */
public static String format(Calendar cal) {
return DTF.print(new DateTime(cal));
}
+ /**
+ * Formats the given date/time to string
+ */
public static String format(long ms) {
return DTF.print(ms);
}
@@ -55,18 +99,30 @@ public final class DateTimes {
return DateTime.parse(t).toDate();
}
+ /**
+ * Converts the given DateTime to the UTC TimeZone
+ */
public static DateTime toUTC(DateTime dt) {
return dt.toDateTime(DateTimeZone.UTC);
}
+ /**
+ * Converts the given DateTime to the given TimeZone
+ */
public static DateTime toTimeZone(DateTime dt, TimeZone tz) {
return dt.toDateTime(DateTimeZone.forTimeZone(tz));
}
+ /**
+ * Converts the given DateTime to the given TimeZone
+ */
public static DateTime toTimeZone(DateTime dt, String id) {
return dt.toDateTime(DateTimeZone.forID(id));
}
+ /**
+ * Use the DateTimeBuilder to generate a DateTime object
+ */
public static DateTimeBuilder makeDateTime() {
return new DateTimeBuilder();
}
@@ -230,6 +286,9 @@ public final class DateTimes {
}
}
+ /**
+ * Convenience Utility for Comparing DateTime instances
+ */
public static abstract class DateTimeComparator<X> implements Comparator<X> {
public int innerCompare(DateTime d1, DateTime d2) {
if (onlySecondIsNull(d1,d2)) return 1;
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/Authentication.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/Authentication.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/Authentication.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/Authentication.java Mon Oct 31 17:42:21 2011
@@ -21,9 +21,9 @@ import java.io.ByteArrayOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -125,7 +125,7 @@ public class Authentication implements I
private String scheme;
private String b64token;
private Map<String,String> params =
- new HashMap<String,String>();
+ new LinkedHashMap<String,String>();
private Set<String> quoted =
new HashSet<String>();
@@ -145,7 +145,7 @@ public class Authentication implements I
return this;
}
- public Builder isQuoted(String name) {
+ public Builder quoted(String name) {
quoted.add(name);
return this;
}
@@ -170,7 +170,7 @@ public class Authentication implements I
private final String scheme;
private final String b64token;
private final Map<String,String> params =
- new HashMap<String,String>();
+ new LinkedHashMap<String,String>();
private final Set<String> quoted =
new HashSet<String>();
@@ -234,14 +234,13 @@ public class Authentication implements I
String val = getParam(param);
buf.append(param);
boolean always = is_always_quoted(param) || isquoted(param);
- if (Profile.TOKEN.check(val) && !always) {
+ if (Profile.TOKEN.check(val) && !always)
buf.append('*')
.append('=')
.append(Codec.encode(val,Codec.STAR));
- } else {
+ else
buf.append('=')
.append(always?quoted(val,true):quotedIfNotToken(val));
- }
}
}
return buf.toString();
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/CacheControlUtil.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/CacheControlUtil.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/CacheControlUtil.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/CacheControlUtil.java Mon Oct 31 17:42:21 2011
@@ -105,7 +105,7 @@ public final class CacheControlUtil {
.append('"')
.append(val)
.append('"');
- }
+ }
}
return buf.toString();
}
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/EntityTag.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/EntityTag.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/EntityTag.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/EntityTag.java Mon Oct 31 17:42:21 2011
@@ -30,6 +30,7 @@ import org.apache.abdera2.common.text.Ur
import com.google.common.base.Function;
import com.google.common.base.Predicate;
+import static com.google.common.base.Preconditions.*;
/**
* Implements an EntityTag.
@@ -39,25 +40,22 @@ public class EntityTag
private static final long serialVersionUID = 1559972888659121461L;
- private static final String INVALID_ENTITY_TAG = "Invalid entity tag";
-
public static final EntityTag WILD = new EntityTag("*");
public static EntityTag parse(String entity_tag) {
- if (entity_tag == null || entity_tag.length() == 0)
- throw new IllegalArgumentException("Invalid");
+ checkNotNull(entity_tag);
+ checkArgument(entity_tag.length() > 0, "Invalid");
int l = entity_tag.length()-1;
- boolean wild = entity_tag.charAt(0) == '*' &&
- l == 0;
+ boolean wild =
+ entity_tag.charAt(0) == '*' && l == 0;
if (wild) return EntityTag.WILD;
boolean weak = (entity_tag.charAt(0) == 'W' ||
entity_tag.charAt(0) == 'w');
- if (weak && entity_tag.charAt(1) != '/')
- throw new IllegalArgumentException("Invalid");
+ checkArgument(!(weak && entity_tag.charAt(1) !='/'),"Invalid");
int pos = weak?2:0;
- if (entity_tag.charAt(pos) != '"' ||
- entity_tag.charAt(l) != '"')
- throw new IllegalArgumentException("Invalid");
+ checkArgument(
+ entity_tag.charAt(pos) == '"' &&
+ entity_tag.charAt(l) == '"',"Invalid");
String tag = entity_tag.substring(pos+1,l);
return new EntityTag(tag, weak, false);
}
@@ -65,14 +63,13 @@ public class EntityTag
public static Iterable<EntityTag> parseTags(String entity_tags) {
if (entity_tags == null ||
entity_tags.length() == 0)
- return Collections.emptyList();
+ return Collections.emptyList();
String[] tags =
entity_tags.split("((?<=\")\\s*,\\s*(?=([wW]/)?\"|\\*))");
List<EntityTag> etags =
new ArrayList<EntityTag>();
- for (String tag : tags) {
+ for (String tag : tags)
etags.add(EntityTag.parse(tag.trim()));
- }
return etags;
}
@@ -155,10 +152,9 @@ public class EntityTag
return (tag1 == null) ? true : false;
if (tag1.isWild() && !empty(tags))
return true;
- for (EntityTag tag : tags) {
- if (tag1.equals(tag,weak) || tag.isWild())
- return true;
- }
+ for (EntityTag tag : tags)
+ if (tag1.equals(tag,weak) || tag.isWild())
+ return true;
return false;
}
@@ -229,7 +225,7 @@ public class EntityTag
EntityTag tag,
String label,
String... labels) {
- if (label == null || tag == null | tag.isWild())
+ if (label == null || tag == null || tag.isWild())
throw new IllegalArgumentException();
StringBuilder buf =
new StringBuilder(tag.getTag());
@@ -253,8 +249,7 @@ public class EntityTag
public EntityTag(String tag, boolean weak) {
EntityTag etag = attemptParse(tag);
if (etag == null) {
- if (tag.indexOf('"') > -1)
- throw new IllegalArgumentException(INVALID_ENTITY_TAG);
+ checkArgument(tag.indexOf('"') == -1, "Invalid");
this.tag = tag;
this.weak = weak;
this.wild = tag.equals("*");
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/WebLink.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/WebLink.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/WebLink.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/http/WebLink.java Mon Oct 31 17:42:21 2011
@@ -15,6 +15,7 @@ import javax.activation.MimeType;
import org.apache.abdera2.common.iri.IRI;
import org.apache.abdera2.common.lang.Lang;
+import org.apache.abdera2.common.mediatype.MimeTypeHelper;
import org.apache.abdera2.common.text.CharUtils;
import org.apache.abdera2.common.text.Codec;
@@ -155,11 +156,7 @@ public class WebLink implements Serializ
}
public Builder mediaType(String type) {
- try {
- this.mediaType = new MimeType(type);
- } catch (javax.activation.MimeTypeParseException e) {
- throw new org.apache.abdera2.common.mediatype.MimeTypeParseException(e);
- }
+ this.mediaType = MimeTypeHelper.create(type);
return this;
}
@@ -206,7 +203,7 @@ public class WebLink implements Serializ
public WebLink(IRI iri, String rel) {
checkNotNull(iri);
this.iri = iri.normalize();
- if (rel != null) this.rel.add(rel); // verify
+ if (rel != null) this.rel.add(rel);
this.anchor = null;
this.lang = null;
this.title = null;
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/Chain.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/Chain.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/Chain.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/Chain.java Mon Oct 31 17:42:21 2011
@@ -45,9 +45,9 @@ public final class Chain<T,R>
}
public R next(T input) {
- return tasks.hasNext() ?
- tasks.next().apply(input, this) :
- to.apply(input);
+ return tasks.hasNext() ?
+ tasks.next().apply(input, this) :
+ to.apply(input);
}
public R apply(T input) {
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/ExceptionHelper.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/ExceptionHelper.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/ExceptionHelper.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/ExceptionHelper.java Mon Oct 31 17:42:21 2011
@@ -26,18 +26,18 @@ public class ExceptionHelper {
new StringBuilder(message);
if (args.length > 0)
buf.append(" ");
- for (Object arg : args) {
+ for (Object arg : args)
buf.append('[')
.append(arg)
.append(']');
- }
- t = _class
- .getConstructor(String.class)
- .newInstance(buf.toString());
+ t = MoreFunctions
+ .<T>createInstance(
+ _class,
+ buf.toString());
} else
- t = _class
- .getConstructor()
- .newInstance();
+ t = MoreFunctions
+ .<T>createInstance(_class)
+ .apply(null);
} catch (Throwable e) {
throw propogate(e);
}
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/MoreFunctions.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/MoreFunctions.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/MoreFunctions.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/misc/MoreFunctions.java Mon Oct 31 17:42:21 2011
@@ -16,7 +16,53 @@ import com.google.common.base.Suppliers;
import com.google.common.collect.Iterables;
public class MoreFunctions {
-
+
+ public static <T>T createInstance(Class<T> _class, Object... args) {
+ return MoreFunctions.<T>createInstance(_class).apply(args);
+ }
+
+ public static <T>T createInstance(Class<T> _class, Class<?>[] types, Object... args) {
+ return MoreFunctions.<T>createInstance(_class,types).apply(args);
+ }
+
+ public static <T>Function<Object[],T> createInstance(
+ final Class<T> _class,
+ final Class<?>... args) {
+ return new Function<Object[],T>() {
+ public T apply(Object[] input) {
+ try {
+ if (input != null) {
+ return _class.getConstructor(args).newInstance(input);
+ } else {
+ return _class.newInstance();
+ }
+ } catch (Throwable t) {
+ throw ExceptionHelper.propogate(t);
+ }
+ }
+ };
+ }
+
+ public static <T>Function<Object[],T> createInstance(
+ final Class<T> _class) {
+ return new Function<Object[],T>() {
+ public T apply(Object[] input) {
+ try {
+ if (input != null) {
+ Class<?>[] _types = new Class[input.length];
+ for (int n = 0; n < input.length; n++)
+ _types[n] = input[n].getClass();
+ return _class.getConstructor(_types).newInstance(input);
+ } else {
+ return _class.newInstance();
+ }
+ } catch (Throwable t) {
+ throw ExceptionHelper.propogate(t);
+ }
+ }
+ };
+ }
+
public static <R extends Initializable>Function<Map<String,Object>,R> discoverInitializable(
final Class<R> _class) {
return discoverInitializable(_class,null);
Modified: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/protocol/RequestProcessor.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/protocol/RequestProcessor.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/protocol/RequestProcessor.java (original)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/protocol/RequestProcessor.java Mon Oct 31 17:42:21 2011
@@ -20,6 +20,7 @@ package org.apache.abdera2.common.protoc
import java.lang.reflect.Constructor;
import org.apache.abdera2.common.misc.ExceptionHelper;
+import org.apache.abdera2.common.misc.MoreFunctions;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
@@ -88,15 +89,20 @@ public abstract class RequestProcessor
final WorkspaceManager workspaceManager,
final Predicate<RequestContext> predicate) {
try {
- final Constructor<T> c =
- _class.getConstructor(
- WorkspaceManager.class,
- CollectionAdapter.class,
+ final Function<Object[],T> c =
+ MoreFunctions.<T>createInstance(
+ _class,
+ WorkspaceManager.class,
+ CollectionAdapter.class,
Predicate.class);
return new RequestProcessorSupplier<T>(workspaceManager) {
public T apply(CollectionAdapter adapter) {
try {
- return c.newInstance(workspaceManager,adapter,predicate);
+ return c.apply(
+ MoreFunctions.array(
+ workspaceManager,
+ adapter,
+ predicate));
} catch (Throwable t) {
throw ExceptionHelper.propogate(t);
}
@@ -111,14 +117,18 @@ public abstract class RequestProcessor
final Class<T> _class,
final WorkspaceManager workspaceManager) {
try {
- final Constructor<T> c =
- _class.getConstructor(
- WorkspaceManager.class,
+ final Function<Object[],T> c =
+ MoreFunctions.<T>createInstance(
+ _class,
+ WorkspaceManager.class,
CollectionAdapter.class);
return new RequestProcessorSupplier<T>(workspaceManager) {
public T apply(CollectionAdapter adapter) {
try {
- return c.newInstance(workspaceManager,adapter);
+ return c.apply(
+ MoreFunctions.array(
+ workspaceManager,
+ adapter));
} catch (Throwable t) {
throw ExceptionHelper.propogate(t);
}
Added: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/pusher/SimpleListener.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/common/src/main/java/org/apache/abdera2/common/pusher/SimpleListener.java?rev=1195583&view=auto
==============================================================================
--- abdera/abdera2/common/src/main/java/org/apache/abdera2/common/pusher/SimpleListener.java (added)
+++ abdera/abdera2/common/src/main/java/org/apache/abdera2/common/pusher/SimpleListener.java Mon Oct 31 17:42:21 2011
@@ -0,0 +1,10 @@
+package org.apache.abdera2.common.pusher;
+
+public abstract class SimpleListener<T>
+ implements Listener<T> {
+
+ public void beforeItems() {}
+
+ public void afterItems() {}
+
+}
Propchange: abdera/abdera2/common/src/main/java/org/apache/abdera2/common/pusher/SimpleListener.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: abdera/abdera2/core/src/main/java/org/apache/abdera2/model/ElementList.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/core/src/main/java/org/apache/abdera2/model/ElementList.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/core/src/main/java/org/apache/abdera2/model/ElementList.java (original)
+++ abdera/abdera2/core/src/main/java/org/apache/abdera2/model/ElementList.java Mon Oct 31 17:42:21 2011
@@ -36,10 +36,13 @@ import java.util.ListIterator;
* is consumed as the list is used. The List itself is unmodifiable.
*/
@SuppressWarnings("unchecked")
-public class ElementList<T extends Element> extends AbstractCollection<T> implements List<T> {
+public class ElementList<T extends Element>
+ extends AbstractCollection<T>
+ implements List<T> {
private final Iterator<T> i;
- private final List<T> buffer = new ArrayList<T>();
+ private final List<T> buffer =
+ new ArrayList<T>();
public ElementList(Iterator<T> i) {
this.i = i;
Modified: abdera/abdera2/core/src/main/java/org/apache/abdera2/parser/filter/AbstractParseFilter.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/core/src/main/java/org/apache/abdera2/parser/filter/AbstractParseFilter.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/core/src/main/java/org/apache/abdera2/parser/filter/AbstractParseFilter.java (original)
+++ abdera/abdera2/core/src/main/java/org/apache/abdera2/parser/filter/AbstractParseFilter.java Mon Oct 31 17:42:21 2011
@@ -20,6 +20,8 @@ package org.apache.abdera2.parser.filter
import javax.xml.namespace.QName;
import org.apache.abdera2.common.misc.ExceptionHelper;
+import org.apache.abdera2.common.misc.MoreFunctions;
+
import com.google.common.base.Supplier;
@SuppressWarnings("unchecked")
@@ -101,13 +103,10 @@ public abstract class AbstractParseFilte
QName attribute) {
if (!answer && _throw != null) {
try {
- throw _throw
- .getConstructor(
- QName.class,
- QName.class)
- .newInstance(
- element,
- attribute);
+ throw MoreFunctions
+ .createInstance(_throw)
+ .apply(MoreFunctions
+ .array(element,attribute));
} catch (Throwable e) {
throw ExceptionHelper.propogate(e);
}
Modified: abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/Activities.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/Activities.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/Activities.java (original)
+++ abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/Activities.java Mon Oct 31 17:42:21 2011
@@ -7,7 +7,8 @@ import org.apache.abdera2.activities.mod
import org.apache.abdera2.activities.model.Collection;
import org.apache.abdera2.activities.model.IO;
import org.apache.abdera2.activities.model.Verb;
-import org.apache.abdera2.activities.model.objects.PersonObject;
+import static org.apache.abdera2.activities.model.Activity.makeActivity;
+import static org.apache.abdera2.activities.model.objects.PersonObject.makePerson;
public class Activities {
@@ -15,28 +16,32 @@ public class Activities {
// Simple Activities Example
- Activity activity = new Activity();
-
- activity.setActor("James"); // Subject
- activity.setVerb(Verb.FOLLOW); // Verb
-
- // Object
- PersonObject person = new PersonObject();
- person.setDisplayName("John Doe");
- person.setProperty("email", "john.doe@example.org");
- activity.setObject(person);
+ Activity activity =
+ makeActivity()
+ .actor(
+ makePerson()
+ .displayName("James")
+ .get())
+ .verb(Verb.FOLLOW)
+ .object(
+ makePerson()
+ .email("john.doe@example.org")
+ .displayName("John Doe")
+ .get())
+ .get();
activity.writeTo(System.out);
System.out.println("\n\n\n");
// Activity Stream
- Collection<Activity> collection = new Collection<Activity>();
- collection.addItem(activity);
+ Collection<Activity> collection =
+ Collection.<Activity>makeCollection()
+ .item(activity)
+ .get();
collection.writeTo(System.out);
-
System.out.println("\n\n\n");
// Parsing example
@@ -48,7 +53,8 @@ public class Activities {
collection = IO.get().readCollection(in, "UTF-8");
for (Activity a : collection.getItems()) {
- System.out.println(String.format("%s [%s] %s",
+ System.out.println(
+ String.format("%s [%s] %s",
a.getActor().getDisplayName(),
a.getVerb(),
a.getObject().getDisplayName()));
Modified: abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/BinaryDataObjectExample.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/BinaryDataObjectExample.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/BinaryDataObjectExample.java (original)
+++ abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/BinaryDataObjectExample.java Mon Oct 31 17:42:21 2011
@@ -13,6 +13,10 @@ import org.apache.abdera2.activities.mod
import org.apache.abdera2.common.io.Compression.CompressionCodec;
import org.apache.abdera2.common.security.HashHelper;
+
+import static org.apache.abdera2.activities.extra.BinaryObject.makeBinary;
+import static org.apache.abdera2.activities.model.objects.BadgeObject.makeBadge;
+
/**
* Illustrates the extension "binary" objectType... this can be useful,
* for instance, when attaching arbitrary base64 encoded data to an
@@ -28,22 +32,23 @@ public class BinaryDataObjectExample {
URL url = BinaryDataObjectExample.class.getResource("/info.png");
DataHandler dataHandler = new DataHandler(url);
- BinaryObject dataObject = new BinaryObject();
- // set the content.. md5 hash will be calculated and deflate compression used
- dataObject.setData(
- dataHandler,
- new HashHelper.Md5(),
- CompressionCodec.DEFLATE);
-
- BadgeObject badge = new BadgeObject();
- badge.addAttachment(dataObject);
+ BadgeObject badge =
+ makeBadge()
+ .attachment(
+ makeBinary()
+ .data(
+ dataHandler,
+ new HashHelper.Md5(),
+ CompressionCodec.DEFLATE)
+ .get())
+ .get();
// check the round trip //
StringReader sr = new StringReader(io.write(badge));
badge = io.readObject(sr);
-
- dataObject = (BinaryObject) badge.getAttachments().iterator().next();
+
+ BinaryObject dataObject = (BinaryObject) badge.getAttachments().iterator().next();
String md5 = dataObject.getProperty("md5");
HashHelper.Md5 check = new HashHelper.Md5();
Modified: abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/GeneratorStreamingExample.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/GeneratorStreamingExample.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/GeneratorStreamingExample.java (original)
+++ abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/GeneratorStreamingExample.java Mon Oct 31 17:42:21 2011
@@ -10,8 +10,10 @@ import org.apache.abdera2.activities.mod
import org.apache.abdera2.activities.model.Generator;
import org.apache.abdera2.activities.model.IO;
import org.apache.abdera2.activities.model.Verb;
-import org.apache.abdera2.activities.model.objects.PersonObject;
-import org.apache.abdera2.activities.model.objects.ServiceObject;
+
+import static org.apache.abdera2.activities.model.Activity.makeActivity;
+import static org.apache.abdera2.activities.model.objects.PersonObject.makePerson;
+import static org.apache.abdera2.activities.model.objects.ServiceObject.makeService;
/**
* Demonstrates the use of the Generator and CollectionWriter
@@ -37,18 +39,17 @@ public class GeneratorStreamingExample {
writer.writeHeader(header);
// Prepare the Activity template
- PersonObject person =
- new PersonObject();
- Activity template =
- Activity.makeActivity()
- .actor(person)
- .verb(Verb.POST)
- .provider(
- new ServiceObject("My Application"))
- .displayName("joe")
- .get();
Generator<Activity> gen =
- template.newGenerator();
+ makeActivity()
+ .actor(makePerson().get())
+ .verb(Verb.POST)
+ .provider(
+ makeService()
+ .displayName("My Application")
+ .get())
+ .displayName("joe")
+ .get()
+ .newGenerator();
// we can now use the Generator to produce
// new Activities using the one we just
@@ -61,12 +62,11 @@ public class GeneratorStreamingExample {
// same list object, so if the list if modified,
// all copies generated will reference the
// modified list
- for (int n = 0; n < 10; n++) {
+ for (int n = 0; n < 10; n++)
writer.writeObject( // write out each object as we create it
gen.startNew()
.set("title", "A" + n)
.complete());
- }
// complete the writer.. very important.. always do this
// or the json generated by the writer will be malformed
Added: abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/PusherExample.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/PusherExample.java?rev=1195583&view=auto
==============================================================================
--- abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/PusherExample.java (added)
+++ abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/PusherExample.java Mon Oct 31 17:42:21 2011
@@ -0,0 +1,68 @@
+package org.apache.abdera2.examples.activities;
+
+import static java.lang.String.format;
+import static org.apache.abdera2.activities.model.Activity.makeActivity;
+import static org.apache.abdera2.activities.model.objects.NoteObject.makeNote;
+import static org.apache.abdera2.activities.model.objects.PersonObject.makePerson;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadPoolExecutor;
+
+import org.apache.abdera2.activities.model.Activity;
+import org.apache.abdera2.activities.model.Generator;
+import org.apache.abdera2.activities.model.Verb;
+import org.apache.abdera2.common.pusher.ChannelManager;
+import org.apache.abdera2.common.pusher.Pusher;
+import org.apache.abdera2.common.pusher.Receiver;
+import org.apache.abdera2.common.pusher.SimpleChannelManager;
+import org.apache.abdera2.common.pusher.SimpleListener;
+
+public class PusherExample {
+
+ private static final Generator<Activity> gen =
+ makeActivity()
+ .actor(makePerson().displayName("joe").get())
+ .verb(Verb.POST)
+ .get()
+ .newGenerator();
+
+ public static void main(String... args) throws Exception {
+
+ final ChannelManager cm = new SimpleChannelManager();
+ ThreadPoolExecutor exec = (ThreadPoolExecutor) Executors.newCachedThreadPool();
+ final CountDownLatch latch = new CountDownLatch(3);
+ exec.execute(
+ new Runnable() {
+ public void run() {
+ Receiver<Activity> r = cm.getReceiver("foo");
+ r.startListening(
+ new SimpleListener<Activity>() {
+ public void onItem(Activity t) {
+ System.out.println(t.getObject().getDisplayName());
+ latch.countDown();
+ }
+ }
+ );
+ }
+ }
+ );
+
+ Pusher<Activity> pusher = cm.getPusher("foo");
+ for (int n = 0; n < 3; n++)
+ pusher.push(
+ gen.startNew()
+ .set("object",
+ makeNote()
+ .displayName(format("My note #%d",n+1))
+ .get())
+ .complete()
+ );
+
+ latch.await();
+ cm.shutdown();
+ exec.shutdown();
+
+ }
+
+}
Propchange: abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/PusherExample.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/ReadingListExample.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/ReadingListExample.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/ReadingListExample.java (original)
+++ abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/ReadingListExample.java Mon Oct 31 17:42:21 2011
@@ -1,13 +1,16 @@
package org.apache.abdera2.examples.activities;
-import org.apache.abdera2.activities.extra.BookObject;
import org.apache.abdera2.activities.extra.Extra;
import org.apache.abdera2.activities.model.Activity;
import org.apache.abdera2.activities.model.Collection;
import org.apache.abdera2.activities.model.Generator;
import org.apache.abdera2.activities.model.IO;
import org.apache.abdera2.activities.model.Verb;
-import org.apache.abdera2.activities.model.objects.PersonObject;
+
+import static org.apache.abdera2.activities.model.Activity.makeActivity;
+import static org.apache.abdera2.activities.model.objects.PersonObject.makePerson;
+import static org.apache.abdera2.activities.extra.BookObject.makeBook;
+import static org.apache.abdera2.activities.model.Collection.makeCollection;
/**
* Example that shows a simple practical use of an activity stream
@@ -24,39 +27,44 @@ public class ReadingListExample {
IO io = IO.get();
Extra.initExtras(io);
- Collection<Activity> stream =
- new Collection<Activity>();
-
- Activity template =
- new Activity();
- PersonObject actor =
- new PersonObject("James");
- template.setActor(actor);
Generator<Activity> gen =
- template.newGenerator();
+ makeActivity()
+ .actor(
+ makePerson()
+ .displayName("James")
+ .get())
+ .get().newGenerator();
+
+ Collection.CollectionGenerator<Activity> builder =
+ makeCollection();
// Add a book we want to read
- BookObject book1 =
- new BookObject("The Cat in the Hat");
- stream.addItem(
+ builder.item(
gen.startNew()
.set("verb", Verb.SAVE)
- .set("object", book1)
+ .set("object",
+ makeBook()
+ .displayName("The Cat in the Hat")
+ .get())
.set("format", Extra.EBOOK())
.complete());
// Add a book we just finished
- BookObject book2 =
- new BookObject("Meditations on the Method");
- book2.setAuthor(new PersonObject("Rene Descartes"));
- stream.addItem(
+ builder.item(
gen.startNew()
.set("verb", Extra.READ)
- .set("object", book2)
+ .set("object",
+ makeBook()
+ .displayName("Meditations on the Method")
+ .author(
+ makePerson()
+ .displayName("Rene Descartes")
+ .get())
+ .get())
.set("format", Extra.HARDCOVER())
.complete());
- stream.writeTo(io,System.out);
+ builder.get().writeTo(io,System.out);
}
Modified: abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/VersionControlExample.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/VersionControlExample.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/VersionControlExample.java (original)
+++ abdera/abdera2/examples/src/main/java/org/apache/abdera2/examples/activities/VersionControlExample.java Mon Oct 31 17:42:21 2011
@@ -7,81 +7,87 @@ import org.apache.abdera2.activities.mod
import org.apache.abdera2.activities.model.Generator;
import org.apache.abdera2.activities.model.Verb;
import org.apache.abdera2.activities.model.objects.FileObject;
-import org.apache.abdera2.activities.model.objects.PersonObject;
+
+import static org.apache.abdera2.activities.model.Collection.makeCollection;
+import static org.apache.abdera2.activities.model.Activity.makeActivity;
+import static org.apache.abdera2.activities.model.objects.PersonObject.makePerson;
+import static org.apache.abdera2.activities.model.objects.FileObject.makeFile;
+import static org.apache.abdera2.activities.extra.VersionObject.makeVersion;
public class VersionControlExample {
public static void main(String... args) throws Exception {
-
- Collection<Activity> stream =
- new Collection<Activity>();
-
- Activity template =
- new Activity();
- PersonObject actor =
- new PersonObject();
- actor.setDisplayName("James");
- template.setActor(actor);
-
+
Generator<Activity> gen =
- template.newGenerator();
+ makeActivity()
+ .actor(
+ makePerson()
+ .displayName("James")
+ .get())
+ .get()
+ .newGenerator();
+ Collection.CollectionGenerator<Activity> builder =
+ makeCollection();
// first, indicate that we created a document
+ FileObject file =
+ makeFile()
+ .id("http://example.org/presentation.ppt")
+ .displayName("presentation.ppt")
+ .get();
- FileObject file = new FileObject();
- file.setDisplayName("presentation.ppt");
- file.setId("http://example.org/presentation.ppt");
-
- stream.addItem(
+ builder.item(
gen.startNew()
- .set("object", file)
- .set("verb", Verb.POST)
- .complete());
+ .set("object", file)
+ .set("verb", Verb.POST)
+ .complete());
// second, indicate that a new version was created
- VersionObject version = new VersionObject();
- version.setOf(file);
- version.setMajor("2");
+ VersionObject version =
+ makeVersion()
+ .of(file)
+ .major("2")
+ .get();
- stream.addItem(
+ builder.item(
gen.startNew()
.set("object", version)
.set("verb", Verb.POST)
.complete());
// whoops, the boss rejected the new version
- stream.addItem(
+ builder.item(
gen.startNew()
.set("object", version)
.set("verb", Extra.REJECT)
- .set("actor", new PersonObject("The Boss"))
+ .set("actor", makePerson().displayName("The Boss").get())
.set("summary", "This version is missing something")
.complete());
// create a new version to deal with the bosses concerns
VersionObject old = version;
- version = new VersionObject();
- version.setOf(file);
- version.setMajor("3");
- version.setPreviousVersion(old);
+ version = makeVersion()
+ .of(file)
+ .major("3")
+ .previous(old)
+ .get();
- stream.addItem(
+ builder.item(
gen.startNew()
.set("object", version)
.set("verb", Verb.POST)
.complete());
// the boss approves the new version
- stream.addItem(
+ builder.item(
gen.startNew()
.set("object", version)
.set("verb", Extra.APPROVE)
- .set("actor", new PersonObject("The Boss"))
+ .set("actor", makePerson().displayName("The Boss").get())
.complete());
-
- stream.writeTo(System.out);
+ builder.get().writeTo(System.out);
}
}
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=1195583&r1=1195582&r2=1195583&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 Mon Oct 31 17:42:21 2011
@@ -20,6 +20,8 @@ package org.apache.abdera2.ext.serialize
import java.io.IOException;
import java.lang.reflect.AccessibleObject;
import org.apache.abdera2.Abdera;
+import org.apache.abdera2.common.misc.ExceptionHelper;
+import org.apache.abdera2.common.misc.MoreFunctions;
import org.apache.abdera2.ext.serializer.annotation.EntityTag;
import org.apache.abdera2.ext.serializer.annotation.LastModified;
import org.apache.abdera2.ext.serializer.annotation.MediaType;
@@ -123,19 +125,28 @@ public class ObjectResponseContext exten
@Override
protected void writeTo(StreamWriter sw) throws IOException {
- SerializationContext context = newSerializationContext(getAbdera(), conventions, sw);
+ SerializationContext context =
+ newSerializationContext(getAbdera(), conventions, sw);
sw.startDocument();
context.serialize(object, objectContext);
sw.endDocument();
}
- private SerializationContext newSerializationContext(Abdera abdera, Conventions conventions, StreamWriter sw) {
+ private SerializationContext newSerializationContext(
+ Abdera abdera,
+ Conventions conventions,
+ StreamWriter sw) {
try {
- return context.getConstructor(Abdera.class, Conventions.class, StreamWriter.class).newInstance(abdera,
- conventions,
- sw);
+ return MoreFunctions
+ .createInstance(
+ context,
+ Abdera.class,
+ Conventions.class,
+ StreamWriter.class)
+ .apply(MoreFunctions
+ .array(abdera,conventions,sw));
} catch (Exception e) {
- throw new RuntimeException(e);
+ throw ExceptionHelper.propogate(e);
}
}
}
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubProvider.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubProvider.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubProvider.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubProvider.java Mon Oct 31 17:42:21 2011
@@ -22,9 +22,9 @@ import org.apache.abdera2.common.protoco
import org.apache.abdera2.common.protocol.TargetType;
/**
- * Providers are responsible for processing all requests to the Atompub server.<br>
- * Actual request processing is delegated to {@link AtompubRequestProcessor} implementations, depending on the request
- * {@link TargetType}.
+ * Providers are responsible for processing all requests to the Atompub
+ * server. Actual request processing is delegated to {@link RequestProcessor}
+ * implementations, depending on the request {@link TargetType}.
*/
public interface AtompubProvider extends Provider {
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubResponseContext.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubResponseContext.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubResponseContext.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubResponseContext.java Mon Oct 31 17:42:21 2011
@@ -24,7 +24,8 @@ import org.apache.abdera2.common.protoco
import org.apache.abdera2.writer.Writer;
/**
- * The ResponseContext encapsulates a server response
+ * Extends the core ResponseContext object with methods used to
+ * output Atom data using a specific Abdera Writer instance.
*/
public interface AtompubResponseContext extends ResponseContext {
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubServiceManager.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubServiceManager.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubServiceManager.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/AtompubServiceManager.java Mon Oct 31 17:42:21 2011
@@ -26,9 +26,7 @@ import org.apache.abdera2.common.protoco
import org.apache.abdera2.protocol.server.impl.DefaultAtompubProvider;
/**
- * The ServiceManager is used by the AbderaServlet to bootstrap the server
- * instance. There should be little to no reason why an end user would need
- * to use this class directly.
+ * The ServiceManager is used by the AbderaServlet to bootstrap the server instance.
*/
public class AtompubServiceManager
extends AbstractServiceManager {
Modified: abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/context/EntityProviderResponseContext.java
URL: http://svn.apache.org/viewvc/abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/context/EntityProviderResponseContext.java?rev=1195583&r1=1195582&r2=1195583&view=diff
==============================================================================
--- abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/context/EntityProviderResponseContext.java (original)
+++ abdera/abdera2/server/src/main/java/org/apache/abdera2/protocol/server/context/EntityProviderResponseContext.java Mon Oct 31 17:42:21 2011
@@ -26,23 +26,33 @@ import org.apache.abdera2.writer.StreamW
/**
* StreamWriterResponseContext implementation based on the EntityProvider interface
*/
-public class EntityProviderResponseContext extends StreamWriterResponseContext {
+public class EntityProviderResponseContext
+ extends StreamWriterResponseContext {
private final EntityProvider provider;
- public EntityProviderResponseContext(EntityProvider provider, Abdera abdera, String encoding, String sw) {
+ public EntityProviderResponseContext(
+ EntityProvider provider,
+ Abdera abdera,
+ String encoding,
+ String sw) {
super(abdera, encoding, sw);
this.provider = provider;
init();
}
- public EntityProviderResponseContext(EntityProvider provider, Abdera abdera, String encoding) {
+ public EntityProviderResponseContext(
+ EntityProvider provider,
+ Abdera abdera,
+ String encoding) {
super(abdera, encoding);
this.provider = provider;
init();
}
- public EntityProviderResponseContext(EntityProvider provider, Abdera abdera) {
+ public EntityProviderResponseContext(
+ EntityProvider provider,
+ Abdera abdera) {
super(abdera);
this.provider = provider;
init();