You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by th...@apache.org on 2008/09/16 02:49:15 UTC
svn commit: r695704 -
/labs/droids/trunk/src/core/java/org/apache/droids/AbstractWorker.java
Author: thorsten
Date: Mon Sep 15 17:49:14 2008
New Revision: 695704
URL: http://svn.apache.org/viewvc?rev=695704&view=rev
Log:
Extracting abstract worker to reuse common methods
Added:
labs/droids/trunk/src/core/java/org/apache/droids/AbstractWorker.java (with props)
Added: labs/droids/trunk/src/core/java/org/apache/droids/AbstractWorker.java
URL: http://svn.apache.org/viewvc/labs/droids/trunk/src/core/java/org/apache/droids/AbstractWorker.java?rev=695704&view=auto
==============================================================================
--- labs/droids/trunk/src/core/java/org/apache/droids/AbstractWorker.java (added)
+++ labs/droids/trunk/src/core/java/org/apache/droids/AbstractWorker.java Mon Sep 15 17:49:14 2008
@@ -0,0 +1,101 @@
+package org.apache.droids;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.droids.api.Droid;
+import org.apache.droids.api.Queue;
+import org.apache.droids.api.Task;
+import org.apache.droids.api.Worker;
+import org.apache.droids.exception.DroidsException;
+import org.apache.droids.helper.factories.HandlerFactory;
+import org.apache.droids.helper.factories.ParserFactory;
+import org.apache.droids.helper.factories.ProtocolFactory;
+import org.apache.droids.helper.factories.URLFiltersFactory;
+
+public abstract class AbstractWorker extends Thread implements Worker {
+
+ protected final Log log = LogFactory.getLog(this.getClass().getCanonicalName());
+
+ private Queue queue;
+
+ private Droid droid;
+
+ private int depth;
+
+ public int getDepth() {
+ return depth;
+ }
+
+ public long getId() {
+ return super.getId();
+ }
+
+ public void setDepth(int x) {
+ depth = x;
+ }
+
+ private ProtocolFactory protocolFactory;
+
+ private ParserFactory parserFactory;
+
+ private URLFiltersFactory filtersFactory;
+
+ private HandlerFactory handlerFactory;
+
+ public void setDroid(Droid droid) throws DroidsException {
+ this.droid = droid;
+ protocolFactory = droid.getCore().getProtocolFactory();
+ parserFactory = droid.getCore().getParserFactory();
+ filtersFactory = droid.getCore().getFiltersFactory();
+ handlerFactory = droid.getCore().getHandlerFactory();
+ }
+
+ private Task link;
+
+ public void setQueue(Queue queue) {
+ synchronized (this) {
+ this.queue = queue;
+ setLink(getQueue().next());
+ if (link != null) {
+ setDepth(link.getDepth());
+ }
+ }
+ }
+
+ private void setLink(Task task) {
+ link=task;
+ }
+
+ public Queue getQueue() {
+ synchronized (this) {
+ return queue;
+ }
+ }
+
+ public abstract void run();
+
+ public URLFiltersFactory getFiltersFactory() {
+ return filtersFactory;
+ }
+
+ public HandlerFactory getHandlerFactory() {
+ return handlerFactory;
+ }
+
+ public Task getLink() {
+ return link;
+ }
+
+ public ParserFactory getParserFactory() {
+ return parserFactory;
+ }
+
+ public ProtocolFactory getProtocolFactory() {
+ return protocolFactory;
+ }
+
+ public Droid getDroid() {
+ return droid;
+ }
+
+}
Propchange: labs/droids/trunk/src/core/java/org/apache/droids/AbstractWorker.java
------------------------------------------------------------------------------
svn:eol-style = native
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org