Author: davsclaus
Date: Fri Jan 16 02:13:51 2009
New Revision: 734957
URL: http://svn.apache.org/viewvc?rev=734957&view=rev
Log:
CAMEL-1255: Polished
Modified:
activemq/camel/trunk/examples/camel-example-tracer/README.txt
activemq/camel/trunk/examples/camel-example-tracer/build.xml
activemq/camel/trunk/examples/camel-example-tracer/pom.xml
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/Main.java
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteAggregator.java
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteService.java
Modified: activemq/camel/trunk/examples/camel-example-tracer/README.txt
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-tracer/README.txt?rev=734957&r1=734956&r2=734957&view=diff
==============================================================================
--- activemq/camel/trunk/examples/camel-example-tracer/README.txt (original)
+++ activemq/camel/trunk/examples/camel-example-tracer/README.txt Fri Jan 16
02:13:51 2009
@@ -7,8 +7,9 @@
You will need to compile this example first:
mvn compile
-For a background in BAM see
+For a background in tracer and JPA see
http://activemq.apache.org/camel/tracer.html
+ http://activemq.apache.org/camel/jpa.html
To run the example with Maven, type
mvn camel:run
@@ -67,7 +68,7 @@
and log4j.properties is located in src/main/resources
For the latest & greatest documentation on how to use this example please see
- http://activemq.apache.org/camel/tracer-example.html
+ http://activemq.apache.org/camel/tracer.html
If you hit any problems please let us know on the Camel Forums
http://activemq.apache.org/camel/discussion-forums.html
Modified: activemq/camel/trunk/examples/camel-example-tracer/build.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-tracer/build.xml?rev=734957&r1=734956&r2=734957&view=diff
==============================================================================
--- activemq/camel/trunk/examples/camel-example-tracer/build.xml (original)
+++ activemq/camel/trunk/examples/camel-example-tracer/build.xml Fri Jan 16
02:13:51 2009
@@ -30,6 +30,7 @@
<path id="sample.build.classpath">
<fileset dir="${camel.lib}">
<include name="**/camel-jpa-*.jar"/>
+ <include name="**/camel-stream-*.jar"/>
<include name="**/commons-collections-*.jar"/>
<exclude name="**/*-tests.jar"/>
</fileset>
Modified: activemq/camel/trunk/examples/camel-example-tracer/pom.xml
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-tracer/pom.xml?rev=734957&r1=734956&r2=734957&view=diff
==============================================================================
--- activemq/camel/trunk/examples/camel-example-tracer/pom.xml (original)
+++ activemq/camel/trunk/examples/camel-example-tracer/pom.xml Fri Jan 16
02:13:51 2009
@@ -42,12 +42,6 @@
<artifactId>camel-stream</artifactId>
</dependency>
- <!-- JpaTraceEventMessage have been enhanced by openjpa so we reuse it
-->
- <!--dependency>
- <groupId>org.apache.openjpa</groupId>
- <artifactId>openjpa-persistence-jdbc</artifactId>
- </dependency-->
-
<!-- lets use log4j -->
<dependency>
<groupId>commons-logging</groupId>
@@ -84,7 +78,6 @@
<artifactId>commons-collections</artifactId>
</dependency>
-
<!-- testing -->
<dependency>
<groupId>junit</groupId>
Modified:
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/Main.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/Main.java?rev=734957&r1=734956&r2=734957&view=diff
==============================================================================
---
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/Main.java
(original)
+++
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/Main.java
Fri Jan 16 02:13:51 2009
@@ -19,11 +19,12 @@
/**
* To start the application from ANT
*/
-public class Main {
+public final class Main {
private Main() {
// do nothing here
}
+
public static void main(String[] args) {
org.apache.camel.spring.Main.main(args);
}
Modified:
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteAggregator.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteAggregator.java?rev=734957&r1=734956&r2=734957&view=diff
==============================================================================
---
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteAggregator.java
(original)
+++
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteAggregator.java
Fri Jan 16 02:13:51 2009
@@ -1,15 +1,33 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.camel.example.tracer;
-import java.util.Comparator;
-import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
-import org.apache.camel.processor.aggregate.AggregationStrategy;
import org.apache.camel.Exchange;
+import org.apache.camel.processor.aggregate.AggregationStrategy;
/**
- *
+ * Our aggregator where we aggregate all the quotes and find the
+ * the best quotes based on the one that has the most cool words
+ * from our cools words list
*/
public class QuoteAggregator implements AggregationStrategy {
@@ -17,23 +35,34 @@
public void setCoolWords(List<String> coolWords) {
for (String s : coolWords) {
+ // use lower case to be incase sensitive
this.coolWords.add(s.toLowerCase());
}
+ // reverse order so indexOf returning -1 will be the last instead
Collections.reverse(this.coolWords);
}
public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
+ // here we aggregate
+ // oldExchange is the current "winner"
+ // newExchange is the new candidate
+
+ // we get the quotes of the two exchanges
String oldQute = oldExchange.getIn().getBody(String.class);
String newQute = newExchange.getIn().getBody(String.class);
+ // now we compare the two and get a result indicate the best one
int result = new QuoteComparator().compare(oldQute, newQute);
+ // we return the winner
return result > 0 ? newExchange : oldExchange;
}
private class QuoteComparator implements Comparator<String> {
public int compare(java.lang.String o1, java.lang.String o2) {
+ // here we compare the two quotes and picks the one that
+ // is in the top of the cool words list
int index1 = coolWords.indexOf(o1.toLowerCase());
int index2 = coolWords.indexOf(o2.toLowerCase());
Modified:
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteService.java
URL:
http://svn.apache.org/viewvc/activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteService.java?rev=734957&r1=734956&r2=734957&view=diff
==============================================================================
---
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteService.java
(original)
+++
activemq/camel/trunk/examples/camel-example-tracer/src/main/java/org/apache/camel/example/tracer/QuoteService.java
Fri Jan 16 02:13:51 2009
@@ -1,11 +1,27 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
package org.apache.camel.example.tracer;
-import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.List;
/**
- *
+ * Our quote server that can split words and lookup a quote based on a word
*/
public class QuoteService {
@@ -28,5 +44,4 @@
return Arrays.asList(payload.split(" "));
}
-
}