You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@batchee.apache.org by st...@apache.org on 2014/04/27 22:11:29 UTC

[1/2] git commit: upgrade to latest apache-parent-14

Repository: incubator-batchee
Updated Branches:
  refs/heads/master 0096011dd -> 9bf9764af


upgrade to latest apache-parent-14


Project: http://git-wip-us.apache.org/repos/asf/incubator-batchee/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-batchee/commit/2999efa2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-batchee/tree/2999efa2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-batchee/diff/2999efa2

Branch: refs/heads/master
Commit: 2999efa2e904b61b0533ce8ccbb67a24a127c12d
Parents: 0096011
Author: Mark Struberg <st...@apache.org>
Authored: Sun Apr 27 22:09:12 2014 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Sun Apr 27 22:09:12 2014 +0200

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/2999efa2/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e0eeaad..58ab2cb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>13</version>
+        <version>14</version>
     </parent>
 
     <groupId>org.apache.batchee</groupId>


[2/2] git commit: BATCHEE-32 add NoStateTypedItem*

Posted by st...@apache.org.
BATCHEE-32 add NoStateTypedItem*

patch submitted by Reinhard Sandtner. txs!


Project: http://git-wip-us.apache.org/repos/asf/incubator-batchee/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-batchee/commit/9bf9764a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-batchee/tree/9bf9764a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-batchee/diff/9bf9764a

Branch: refs/heads/master
Commit: 9bf9764af13ee8c8e29ca6440c8b3590a1fbfa7f
Parents: 2999efa
Author: Mark Struberg <st...@apache.org>
Authored: Sun Apr 27 22:10:46 2014 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Sun Apr 27 22:10:46 2014 +0200

----------------------------------------------------------------------
 .../extras/buffered/BufferedItemReader.java     | 14 +---
 .../extras/typed/NoStateTypedItemReader.java    | 43 ++++++++++++
 .../extras/typed/NoStateTypedItemWriter.java    | 43 ++++++++++++
 .../batchee/extras/typed/TypedItemReader.java   |  5 +-
 .../typed/NoStateTypedItemReaderTest.java       | 73 ++++++++++++++++++++
 .../typed/NoStateTypedItemWriterTest.java       | 67 ++++++++++++++++++
 .../META-INF/batch-jobs/no-state-reader.xml     | 23 ++++++
 .../META-INF/batch-jobs/no-state-writer.xml     | 23 ++++++
 8 files changed, 275 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/9bf9764a/extensions/extras/src/main/java/org/apache/batchee/extras/buffered/BufferedItemReader.java
----------------------------------------------------------------------
diff --git a/extensions/extras/src/main/java/org/apache/batchee/extras/buffered/BufferedItemReader.java b/extensions/extras/src/main/java/org/apache/batchee/extras/buffered/BufferedItemReader.java
index e3cb0e2..f9ea4be 100644
--- a/extensions/extras/src/main/java/org/apache/batchee/extras/buffered/BufferedItemReader.java
+++ b/extensions/extras/src/main/java/org/apache/batchee/extras/buffered/BufferedItemReader.java
@@ -16,10 +16,9 @@
  */
 package org.apache.batchee.extras.buffered;
 
-import java.io.Serializable;
 import java.util.Iterator;
 
-import org.apache.batchee.extras.typed.TypedItemReader;
+import org.apache.batchee.extras.typed.NoStateTypedItemReader;
 
 
 /**
@@ -35,7 +34,7 @@ import org.apache.batchee.extras.typed.TypedItemReader;
  *
  * @param <R> the return type of the reader
  */
-public abstract class BufferedItemReader<R> extends TypedItemReader<R, Serializable> {
+public abstract class BufferedItemReader<R> extends NoStateTypedItemReader<R> {
 
     private Iterator<R> valuesIt = null;
 
@@ -58,13 +57,4 @@ public abstract class BufferedItemReader<R> extends TypedItemReader<R, Serializa
         return null;
     }
 
-    @Override
-    public void close() throws Exception {
-        // no-op
-    }
-
-    @Override
-    protected void doOpen(Serializable checkpoint) {
-        // no-op
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/9bf9764a/extensions/extras/src/main/java/org/apache/batchee/extras/typed/NoStateTypedItemReader.java
----------------------------------------------------------------------
diff --git a/extensions/extras/src/main/java/org/apache/batchee/extras/typed/NoStateTypedItemReader.java b/extensions/extras/src/main/java/org/apache/batchee/extras/typed/NoStateTypedItemReader.java
new file mode 100644
index 0000000..e9f5a48
--- /dev/null
+++ b/extensions/extras/src/main/java/org/apache/batchee/extras/typed/NoStateTypedItemReader.java
@@ -0,0 +1,43 @@
+/*
+ * 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.batchee.extras.typed;
+
+import java.io.Serializable;
+
+/**
+ * {@link TypedItemReader} which doesn't need a CheckpointInfo.
+ *
+ * @param <R> The type of the item returned in {@link #readItem()}.
+ */
+public abstract class NoStateTypedItemReader<R> extends TypedItemReader<R, Serializable> {
+
+    @Override
+    protected void doOpen(Serializable checkpoint) {
+        // no-op
+    }
+
+    @Override
+    protected Serializable doCheckpointInfo() {
+        // no-op
+        return null;
+    }
+
+    @Override
+    public void close() throws Exception {
+        // no-op
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/9bf9764a/extensions/extras/src/main/java/org/apache/batchee/extras/typed/NoStateTypedItemWriter.java
----------------------------------------------------------------------
diff --git a/extensions/extras/src/main/java/org/apache/batchee/extras/typed/NoStateTypedItemWriter.java b/extensions/extras/src/main/java/org/apache/batchee/extras/typed/NoStateTypedItemWriter.java
new file mode 100644
index 0000000..dc77118
--- /dev/null
+++ b/extensions/extras/src/main/java/org/apache/batchee/extras/typed/NoStateTypedItemWriter.java
@@ -0,0 +1,43 @@
+/*
+ * 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.batchee.extras.typed;
+
+import java.io.Serializable;
+
+/**
+ * {@link TypedItemWriter} which doesn't need a CheckpointInfo.
+ *
+ * @param <R> The type of the item returned in {@link #writeItems(java.util.List)}.
+ */
+public abstract class NoStateTypedItemWriter<R> extends TypedItemWriter<R, Serializable> {
+
+    @Override
+    protected void doOpen(Serializable checkpoint) {
+        // no-op
+    }
+
+    @Override
+    protected Serializable doCheckpointInfo() {
+        // no-op
+        return null;
+    }
+
+    @Override
+    public void close() throws Exception {
+        // no-op
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/9bf9764a/extensions/extras/src/main/java/org/apache/batchee/extras/typed/TypedItemReader.java
----------------------------------------------------------------------
diff --git a/extensions/extras/src/main/java/org/apache/batchee/extras/typed/TypedItemReader.java b/extensions/extras/src/main/java/org/apache/batchee/extras/typed/TypedItemReader.java
index 5006ded..620da59 100644
--- a/extensions/extras/src/main/java/org/apache/batchee/extras/typed/TypedItemReader.java
+++ b/extensions/extras/src/main/java/org/apache/batchee/extras/typed/TypedItemReader.java
@@ -28,10 +28,7 @@ import java.io.Serializable;
 public abstract class TypedItemReader<R, C extends Serializable> implements ItemReader {
     protected abstract void doOpen(C checkpoint);
     protected abstract R doRead();
-
-    protected C doCheckpointInfo() {
-        return null;
-    }
+    protected abstract C doCheckpointInfo();
 
     @Override
     public void open(Serializable checkpoint) throws Exception {

http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/9bf9764a/extensions/extras/src/test/java/org/apache/batchee/extras/typed/NoStateTypedItemReaderTest.java
----------------------------------------------------------------------
diff --git a/extensions/extras/src/test/java/org/apache/batchee/extras/typed/NoStateTypedItemReaderTest.java b/extensions/extras/src/test/java/org/apache/batchee/extras/typed/NoStateTypedItemReaderTest.java
new file mode 100644
index 0000000..772c5a0
--- /dev/null
+++ b/extensions/extras/src/test/java/org/apache/batchee/extras/typed/NoStateTypedItemReaderTest.java
@@ -0,0 +1,73 @@
+/*
+ * 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.batchee.extras.typed;
+
+import org.apache.batchee.util.Batches;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import javax.batch.api.chunk.AbstractItemWriter;
+import javax.batch.operations.JobOperator;
+import javax.batch.runtime.BatchRuntime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+/**
+ * Test for the abstract {@link NoStateTypedItemReader}
+ */
+public class NoStateTypedItemReaderTest {
+
+
+    @Test
+    public void testDoRead() throws Exception {
+        DummyItemWriter.items.clear();
+
+        JobOperator jobOperator = BatchRuntime.getJobOperator();
+        Batches.waitForEnd(jobOperator, jobOperator.start("no-state-reader", new Properties()));
+
+        Assert.assertFalse(DummyItemWriter.items.isEmpty(), "items must be not empty");
+        Assert.assertEquals(DummyItemWriter.items.size(), 4);
+        Assert.assertEquals(DummyItemWriter.items.get(0), "A");
+        Assert.assertEquals(DummyItemWriter.items.get(1), "B");
+        Assert.assertEquals(DummyItemWriter.items.get(2), "3");
+        Assert.assertEquals(DummyItemWriter.items.get(3), "4");
+    }
+
+
+    public static class MyNoStateTypedItemReader extends NoStateTypedItemReader<String> {
+
+        private static final String[] ITEMS_TO_READ = new String[] {"A","B", "3", "4"};
+        private int count;
+
+        @Override
+        protected String doRead() {
+            return count == ITEMS_TO_READ.length ? null : ITEMS_TO_READ[count++];
+        }
+    }
+
+    public static class DummyItemWriter extends AbstractItemWriter {
+
+        public static List<Object> items = new ArrayList<Object>();
+
+        @Override
+        public void writeItems(List<Object> items) throws Exception {
+            DummyItemWriter.items.addAll(items);
+        }
+    }
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/9bf9764a/extensions/extras/src/test/java/org/apache/batchee/extras/typed/NoStateTypedItemWriterTest.java
----------------------------------------------------------------------
diff --git a/extensions/extras/src/test/java/org/apache/batchee/extras/typed/NoStateTypedItemWriterTest.java b/extensions/extras/src/test/java/org/apache/batchee/extras/typed/NoStateTypedItemWriterTest.java
new file mode 100644
index 0000000..d2b0b82
--- /dev/null
+++ b/extensions/extras/src/test/java/org/apache/batchee/extras/typed/NoStateTypedItemWriterTest.java
@@ -0,0 +1,67 @@
+/*
+ * 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.batchee.extras.typed;
+
+import org.apache.batchee.util.Batches;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import javax.batch.api.chunk.AbstractItemReader;
+import javax.batch.operations.JobOperator;
+import javax.batch.runtime.BatchRuntime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+public class NoStateTypedItemWriterTest {
+
+    @Test
+    public void testDoWrite() throws Exception {
+        MyNoStateTypedItemWriter.items.clear();
+
+        JobOperator jobOperator = BatchRuntime.getJobOperator();
+        Batches.waitForEnd(jobOperator, jobOperator.start("no-state-writer", new Properties()));
+
+        Assert.assertFalse(MyNoStateTypedItemWriter.items.isEmpty(), "items must be not empty");
+        Assert.assertEquals(MyNoStateTypedItemWriter.items.size(), 3);
+        Assert.assertEquals(MyNoStateTypedItemWriter.items.get(0).longValue(), 12L);
+        Assert.assertEquals(MyNoStateTypedItemWriter.items.get(1).longValue(), 45L);
+        Assert.assertEquals(MyNoStateTypedItemWriter.items.get(2).longValue(), 113L);
+    }
+
+
+    public static class DummyItemReader extends AbstractItemReader {
+
+        private static final long[] DUMMY_ITEMS_TO_READ = new long[]{12L, 45L, 113L};
+        private int count;
+
+        @Override
+        public Object readItem() throws Exception {
+            return count == DUMMY_ITEMS_TO_READ.length ? null : DUMMY_ITEMS_TO_READ[count++];
+        }
+    }
+
+    public static class MyNoStateTypedItemWriter extends NoStateTypedItemWriter<Long> {
+
+        public static List<Long> items = new ArrayList<Long>();
+
+        @Override
+        protected void doWriteItems(List<Long> items) {
+            MyNoStateTypedItemWriter.items.addAll(items);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/9bf9764a/extensions/extras/src/test/resources/META-INF/batch-jobs/no-state-reader.xml
----------------------------------------------------------------------
diff --git a/extensions/extras/src/test/resources/META-INF/batch-jobs/no-state-reader.xml b/extensions/extras/src/test/resources/META-INF/batch-jobs/no-state-reader.xml
new file mode 100644
index 0000000..c3069c2
--- /dev/null
+++ b/extensions/extras/src/test/resources/META-INF/batch-jobs/no-state-reader.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  See the NOTICE file distributed with this work for additional information
+  regarding copyright ownership. Licensed 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.
+-->
+<job id="no-state-reader" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
+    <step id="step">
+        <chunk>
+            <reader ref="org.apache.batchee.extras.typed.NoStateTypedItemReaderTest$MyNoStateTypedItemReader" />
+            <writer ref="org.apache.batchee.extras.typed.NoStateTypedItemReaderTest$DummyItemWriter" />
+        </chunk>
+    </step>
+</job>

http://git-wip-us.apache.org/repos/asf/incubator-batchee/blob/9bf9764a/extensions/extras/src/test/resources/META-INF/batch-jobs/no-state-writer.xml
----------------------------------------------------------------------
diff --git a/extensions/extras/src/test/resources/META-INF/batch-jobs/no-state-writer.xml b/extensions/extras/src/test/resources/META-INF/batch-jobs/no-state-writer.xml
new file mode 100644
index 0000000..00f6b11
--- /dev/null
+++ b/extensions/extras/src/test/resources/META-INF/batch-jobs/no-state-writer.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  See the NOTICE file distributed with this work for additional information
+  regarding copyright ownership. Licensed 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.
+-->
+<job id="no-state-writer" xmlns="http://xmlns.jcp.org/xml/ns/javaee" version="1.0">
+    <step id="step">
+        <chunk>
+            <reader ref="org.apache.batchee.extras.typed.NoStateTypedItemWriterTest$DummyItemReader" />
+            <writer ref="org.apache.batchee.extras.typed.NoStateTypedItemWriterTest$MyNoStateTypedItemWriter" />
+        </chunk>
+    </step>
+</job>