File Source: ReferrerProcessingJob.java
1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. For additional information regarding
15 * copyright in this work, please see the NOTICE file in the top level
16 * directory of this distribution.
17 */
18 /*
19 * ReferrerProcessingJob.java
20 *
21 * Created on December 16, 2005, 6:26 PM
22 */
23
24 package org.apache.roller.weblogger.business.referrers;
25
26 import java.util.HashMap;
27 import java.util.Map;
28 import org.apache.commons.logging.Log;
29 import org.apache.commons.logging.LogFactory;
30 import org.apache.roller.weblogger.WebloggerException;
31 import org.apache.roller.weblogger.business.runnable.Job;
32 import org.apache.roller.weblogger.business.referrers.RefererManager;
33 import org.apache.roller.weblogger.business.WebloggerFactory;
34
35
36 /**
37 * A simple Job which processes an IncomingReferrer.
38 *
39 * @author Allen Gilliland
40 */
41 public class ReferrerProcessingJob implements Job {
42
/*
P/P * Method: org.apache.roller.weblogger.business.referrers.ReferrerProcessingJob__static_init
*
* Postconditions:
* init'ed(mLogger)
*/
43 private static Log mLogger = LogFactory.getLog(ReferrerProcessingJob.class);
44
45 Map inputs = null;
46 IncomingReferrer referrer = null;
47
/*
P/P * Method: void org.apache.roller.weblogger.business.referrers.ReferrerProcessingJob()
*
* Postconditions:
* this.inputs == null
* this.referrer == null
*/
48 public ReferrerProcessingJob() {}
49
50
51 /**
52 * Execute job.
53 *
54 * We simply pass the referrer into the RefererManager to handle the details.
55 */
56 public void execute() {
57
/*
P/P * Method: void execute()
*
* Preconditions:
* init'ed(this.referrer)
* (soft) mLogger != null
* (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider != null
* (soft) org/apache/roller/weblogger/business/WebloggerFactory.webloggerProvider.webloggerInstance != null
* (soft) org/apache/roller/weblogger/business/jpa/JPARefererManagerImpl.log != null
* (soft) org/apache/roller/weblogger/business/jpa/JPAUserManagerImpl.log != null
* (soft) org/apache/roller/weblogger/business/jpa/JPAWeblogManagerImpl.log != null
* (soft) org/apache/roller/weblogger/config/WebloggerRuntimeConfig.log != null
* (soft) init'ed(this.referrer.referrerUrl)
* (soft) init'ed(this.referrer.requestUrl)
* ...
*
* Presumptions:
* getWeblogger(...).refererManager != null
* getWeblogger(...).strategy != null
* getWeblogger(...).strategy.emf != null
* getWeblogger(...).strategy.threadLocalEntityManager != null
* refMgr.roller != null
* ...
*
* Test Vectors:
* this.referrer: Inverse{null}, Addr_Set{null}
*/
58 if(this.referrer == null)
59 return;
60
61 mLogger.debug("PROCESSING: "+referrer.getRequestUrl());
62
63 // process a referrer
64 try {
65 RefererManager refMgr = WebloggerFactory.getWeblogger().getRefererManager();
66 refMgr.processReferrer(referrer.getRequestUrl(),
67 referrer.getReferrerUrl(),
68 referrer.getWeblogHandle(),
69 referrer.getWeblogAnchor(),
70 referrer.getWeblogDateString());
71
72 WebloggerFactory.getWeblogger().flush();
73 } catch(WebloggerException re) {
74 // trouble
75 mLogger.warn("Trouble processing referrer", re);
76 }
77 }
78
79
80 /**
81 * Set input.
82 */
83 public void input(Map input) {
/*
P/P * Method: void input(Map)
*
* Preconditions:
* input != null
*
* Postconditions:
* this.inputs == input
* this.inputs != null
* possibly_updated(this.referrer)
*/
84 this.inputs = input;
85
86 // we are looking for the "referrer" key
87 Object ref = input.get("referrer");
88
89 if(ref instanceof IncomingReferrer) {
90 this.referrer = (IncomingReferrer) ref;
91 }
92 }
93
94
95 /**
96 * Get output.
97 */
98 public Map output() {
99
/*
P/P * Method: Map output()
*
* Postconditions:
* return_value == null
*/
100 return null;
101 }
102
103 }
SofCheck Inspector Build Version : 2.18479
| ReferrerProcessingJob.java |
2009-Jan-02 14:25:36 |
| ReferrerProcessingJob.class |
2009-Sep-04 03:12:31 |