You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2014/10/14 20:35:15 UTC
[28/39] line ending issue again
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderDeltaTest.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderDeltaTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderDeltaTest.java
index f16cbc6..947ed54 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderDeltaTest.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderDeltaTest.java
@@ -1,357 +1,357 @@
-/*******************************************************************************
- * 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.olingo.odata2.jpa.processor.core.access.data;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.olingo.odata2.jpa.processor.core.access.data.JPAPage.JPAPageBuilder;
-import org.junit.Test;
-
-public class JPAPageBuilderDeltaTest {
-
- private static final int PAGE_SIZE = 10;
-
- @Test
- public void testBuildDefaultDelta() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
-
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .build();
-
- assertEquals(20, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
- assertEquals(10, page.getPagedEntities().size());
-
- List<Object> pagedEntities = page.getPagedEntities();
-
- assertEquals("9", pagedEntities.get(0));
- assertEquals("18", pagedEntities.get(9));
- }
-
- @Test
- public void testBuildWithNoSkipTokenDelta() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
-
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("0")
- .build();
-
- assertEquals(10, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- List<Object> pagedEntities = page.getPagedEntities();
- assertEquals(10, pagedEntities.size());
- assertEquals("0", pagedEntities.get(0));
- assertEquals("9", pagedEntities.get(9));
- }
-
- @Test
- public void testBuildDefaultZeroPageDelta() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
-
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(0)
- .skipToken("10")
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(0, page.getPageSize());
- assertNotNull(page.getPagedEntities());
- assertEquals(0, page.getPagedEntities().size());
-
- }
-
- @Test
- public void testBuildWithNullSkipToken() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
-
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken(null)
- .build();
-
- assertEquals(10, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
-
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
- assertEquals("0", pagedEntities.get(0));
- assertEquals("9", pagedEntities.get(9));
- }
-
- @Test
- public void testBuildWithInvalidSkipToken() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- try {
- pageBuilder.entities(mockEntities())
- .skipToken("AB");
- } catch (NumberFormatException e) {
- return;
- }
- fail("Exception Expected");
- }
-
- @Test
- public void testBuildWithTop() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
-
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("20")
- .top(5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(20, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
-
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
- assertEquals(5, pagedEntities.size());
- assertEquals("19", pagedEntities.get(0));
- assertEquals("23", pagedEntities.get(4));
- }
-
- @Test
- public void testBuildWithTopZeroPage() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(0)
- .skipToken("10")
- .top(5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(0, page.getPageSize());
- assertNotNull(page.getPagedEntities());
- assertEquals(5, page.getPagedEntities().size());
- }
-
- @Test
- public void testBuildWithSkipZeroPage() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(0)
- .skipToken("10")
- .skip(5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(0, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(0, page.getPagedEntities().size());
- }
-
- @Test
- public void testBuildWithTopSkipZeroPage() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(0)
- .skipToken("10")
- .skip(5)
- .top(5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(0, page.getPageSize());
- assertNotNull(page.getPagedEntities());
- assertEquals(5, page.getPagedEntities().size());
- }
-
- @Test
- public void testBuildWithTopExceeds() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(15)
- .build();
-
- assertEquals(20, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
- assertEquals(10, pagedEntities.size());
- assertEquals("9", pagedEntities.get(0));
- assertEquals("18", pagedEntities.get(9));
- }
-
- @Test
- public void testBuildWithTopSkipExceeds() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(5)
- .skip(10)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- List<Object> pagedEntities = page.getPagedEntities();
- assertEquals(0, pagedEntities.size());
-
- }
-
- @Test
- public void testBuildWithTopSkipMore() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(5)
- .skip(9)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
-
- assertEquals("18", pagedEntities.get(0));
- assertEquals(1, pagedEntities.size());
- }
-
- @Test
- public void testBuildWithTopMoreSkip() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(15)
- .skip(9)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
-
- assertEquals("18", pagedEntities.get(0));
- assertEquals(1, pagedEntities.size());
- }
-
- @Test
- public void testBuildWithTopXSkipX() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(15)
- .skip(15)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
-
- assertEquals(0, pagedEntities.size());
- }
-
- @Test
- public void testBuildWithNegativeTop() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(-5)
- .build();
-
- assertEquals(20, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
-
- assertEquals("9", pagedEntities.get(0));
- assertEquals(10, pagedEntities.size());
- }
-
- @Test
- public void testBuildWithNegativeTopSkipToken() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("-10")
- .top(-5)
- .skip(-1)
- .build();
-
- assertEquals(10, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
-
- assertEquals(10, pagedEntities.size());
-
- }
-
- @Test
- public void testBuildWithNoRecords() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- JPAPage page = pageBuilder.entities(mockEntities())
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(1)
- .skip(1)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- List<Object> pagedEntities = page.getPagedEntities();
- assertNotNull(pagedEntities);
-
- assertEquals(1, pagedEntities.size());
- assertEquals("10", pagedEntities.get(0));
- }
-
- private List<Object> mockEntities() {
- List<Object> entities = new ArrayList<Object>();
- for (int i = 0; i < 30; i++) {
- entities.add(String.valueOf(i));
- }
- return entities;
- }
-}
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.core.access.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.olingo.odata2.jpa.processor.core.access.data.JPAPage.JPAPageBuilder;
+import org.junit.Test;
+
+public class JPAPageBuilderDeltaTest {
+
+ private static final int PAGE_SIZE = 10;
+
+ @Test
+ public void testBuildDefaultDelta() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .build();
+
+ assertEquals(20, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+ assertEquals(10, page.getPagedEntities().size());
+
+ List<Object> pagedEntities = page.getPagedEntities();
+
+ assertEquals("9", pagedEntities.get(0));
+ assertEquals("18", pagedEntities.get(9));
+ }
+
+ @Test
+ public void testBuildWithNoSkipTokenDelta() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("0")
+ .build();
+
+ assertEquals(10, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertEquals(10, pagedEntities.size());
+ assertEquals("0", pagedEntities.get(0));
+ assertEquals("9", pagedEntities.get(9));
+ }
+
+ @Test
+ public void testBuildDefaultZeroPageDelta() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(0)
+ .skipToken("10")
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(0, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+ assertEquals(0, page.getPagedEntities().size());
+
+ }
+
+ @Test
+ public void testBuildWithNullSkipToken() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken(null)
+ .build();
+
+ assertEquals(10, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+ assertEquals("0", pagedEntities.get(0));
+ assertEquals("9", pagedEntities.get(9));
+ }
+
+ @Test
+ public void testBuildWithInvalidSkipToken() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ try {
+ pageBuilder.entities(mockEntities())
+ .skipToken("AB");
+ } catch (NumberFormatException e) {
+ return;
+ }
+ fail("Exception Expected");
+ }
+
+ @Test
+ public void testBuildWithTop() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("20")
+ .top(5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(20, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+ assertEquals(5, pagedEntities.size());
+ assertEquals("19", pagedEntities.get(0));
+ assertEquals("23", pagedEntities.get(4));
+ }
+
+ @Test
+ public void testBuildWithTopZeroPage() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(0)
+ .skipToken("10")
+ .top(5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(0, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+ assertEquals(5, page.getPagedEntities().size());
+ }
+
+ @Test
+ public void testBuildWithSkipZeroPage() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(0)
+ .skipToken("10")
+ .skip(5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(0, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(0, page.getPagedEntities().size());
+ }
+
+ @Test
+ public void testBuildWithTopSkipZeroPage() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(0)
+ .skipToken("10")
+ .skip(5)
+ .top(5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(0, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+ assertEquals(5, page.getPagedEntities().size());
+ }
+
+ @Test
+ public void testBuildWithTopExceeds() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(15)
+ .build();
+
+ assertEquals(20, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+ assertEquals(10, pagedEntities.size());
+ assertEquals("9", pagedEntities.get(0));
+ assertEquals("18", pagedEntities.get(9));
+ }
+
+ @Test
+ public void testBuildWithTopSkipExceeds() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(5)
+ .skip(10)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertEquals(0, pagedEntities.size());
+
+ }
+
+ @Test
+ public void testBuildWithTopSkipMore() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(5)
+ .skip(9)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+
+ assertEquals("18", pagedEntities.get(0));
+ assertEquals(1, pagedEntities.size());
+ }
+
+ @Test
+ public void testBuildWithTopMoreSkip() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(15)
+ .skip(9)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+
+ assertEquals("18", pagedEntities.get(0));
+ assertEquals(1, pagedEntities.size());
+ }
+
+ @Test
+ public void testBuildWithTopXSkipX() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(15)
+ .skip(15)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+
+ assertEquals(0, pagedEntities.size());
+ }
+
+ @Test
+ public void testBuildWithNegativeTop() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(-5)
+ .build();
+
+ assertEquals(20, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+
+ assertEquals("9", pagedEntities.get(0));
+ assertEquals(10, pagedEntities.size());
+ }
+
+ @Test
+ public void testBuildWithNegativeTopSkipToken() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("-10")
+ .top(-5)
+ .skip(-1)
+ .build();
+
+ assertEquals(10, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+
+ assertEquals(10, pagedEntities.size());
+
+ }
+
+ @Test
+ public void testBuildWithNoRecords() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ JPAPage page = pageBuilder.entities(mockEntities())
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(1)
+ .skip(1)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ List<Object> pagedEntities = page.getPagedEntities();
+ assertNotNull(pagedEntities);
+
+ assertEquals(1, pagedEntities.size());
+ assertEquals("10", pagedEntities.get(0));
+ }
+
+ private List<Object> mockEntities() {
+ List<Object> entities = new ArrayList<Object>();
+ for (int i = 0; i < 30; i++) {
+ entities.add(String.valueOf(i));
+ }
+ return entities;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderTest.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderTest.java
index 0232163..326c39f 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderTest.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAPageBuilderTest.java
@@ -1,560 +1,560 @@
-/*******************************************************************************
- * 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.olingo.odata2.jpa.processor.core.access.data;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.fail;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.persistence.FlushModeType;
-import javax.persistence.LockModeType;
-import javax.persistence.Parameter;
-import javax.persistence.Query;
-import javax.persistence.TemporalType;
-
-import org.apache.olingo.odata2.jpa.processor.core.access.data.JPAPage.JPAPageBuilder;
-import org.junit.Test;
-
-public class JPAPageBuilderTest {
-
- private static final int PAGE_SIZE = 10;
-
- @Test
- public void testBuildDefault() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
- assertEquals(1, page.getPagedEntities().size());
-
- assertEquals(10, query.getFirstResult());
- assertEquals(10, query.getMaxResults());
- }
-
- @Test
- public void testBuildDefaultZeroPage() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(0)
- .skipToken("10")
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(0, page.getPageSize());
- assertNotNull(page.getPagedEntities());
- assertEquals(0, page.getPagedEntities().size());
-
- assertEquals(0, query.getFirstResult());
- assertEquals(0, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithNoSkipToken() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("0")
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
- assertEquals(1, page.getPagedEntities().size());
-
- assertEquals(0, query.getFirstResult());
- assertEquals(10, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithNullSkipToken() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken(null)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(0, query.getFirstResult());
- assertEquals(10, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithInvalidSkipToken() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- try {
- pageBuilder.query(query)
- .skipToken("AB");
- } catch (NumberFormatException e) {
- return;
- }
- fail("Exception Expected");
- }
-
- @Test
- public void testBuildWithTop() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(10, query.getFirstResult());
- assertEquals(5, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithTopZeroPage() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(0)
- .skipToken("10")
- .top(5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(0, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(0, query.getFirstResult());
- assertEquals(5, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithSkipZeroPage() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(0)
- .skipToken("10")
- .skip(5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(0, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(5, query.getFirstResult());
- assertEquals(0, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithTopSkipZeroPage() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(0)
- .skipToken("10")
- .skip(5)
- .top(5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(0, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(5, query.getFirstResult());
- assertEquals(5, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithTopExceeds() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(15)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(10, query.getFirstResult());
- assertEquals(10, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithTopSkipExceeds() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(5)
- .skip(10)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertEquals(0, page.getPagedEntities().size());
-
- assertEquals(0, query.getFirstResult());
- assertEquals(0, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithTopSkipMore() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(5)
- .skip(9)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(19, query.getFirstResult());
- assertEquals(1, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithTopMoreSkip() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(15)
- .skip(9)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(19, query.getFirstResult());
- assertEquals(1, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithTopXSkipX() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(15)
- .skip(15)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(0, query.getFirstResult());
- assertEquals(0, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithNegativeTop() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(-5)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(10, query.getFirstResult());
- assertEquals(10, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithNegativeTopSkipToken() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(false);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("-10")
- .top(-5)
- .skip(-1)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(0, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(0, query.getFirstResult());
- assertEquals(10, query.getMaxResults());
- }
-
- @Test
- public void testBuildWithNoRecords() {
- JPAPageBuilder pageBuilder = new JPAPageBuilder();
- Query query = mockQuery(true);
-
- JPAPage page = pageBuilder.query(query)
- .pageSize(PAGE_SIZE)
- .skipToken("10")
- .top(1)
- .skip(1)
- .build();
-
- assertEquals(0, page.getNextPage());
- assertEquals(10, page.getStartPage());
- assertEquals(PAGE_SIZE, page.getPageSize());
- assertNotNull(page.getPagedEntities());
-
- assertEquals(11, query.getFirstResult());
- assertEquals(1, query.getMaxResults());
- }
-
- private Query mockQuery(final boolean setNoRecords) {
-
- return new Query() {
-
- private int maxResults;
- private int firstResult;
-
- @Override
- public Query setFirstResult(final int arg0) {
- firstResult = arg0;
- return this;
- }
-
- @Override
- public Query setMaxResults(final int arg0) {
- maxResults = arg0;
- return this;
- }
-
- @Override
- public int getMaxResults() {
- return maxResults;
- }
-
- @Override
- public int getFirstResult() {
- return firstResult;
- }
-
- @Override
- public List<Object> getResultList() {
- List<Object> list = new ArrayList<Object>();
- if (maxResults > 0 && setNoRecords == false) {
- list.add(new Integer(1));
- }
- return list;
- }
-
- @Override
- public <T> T unwrap(final Class<T> arg0) {
- return null;
- }
-
- @Override
- public Query setParameter(final int arg0, final Date arg1, final TemporalType arg2) {
- return null;
- }
-
- @Override
- public Query setParameter(final int arg0, final Calendar arg1, final TemporalType arg2) {
- return null;
- }
-
- @Override
- public Query setParameter(final String arg0, final Date arg1, final TemporalType arg2) {
- return null;
- }
-
- @Override
- public Query setParameter(final String arg0, final Calendar arg1, final TemporalType arg2) {
- return null;
- }
-
- @Override
- public Query setParameter(final Parameter<Date> arg0, final Date arg1, final TemporalType arg2) {
- return null;
- }
-
- @Override
- public Query setParameter(final Parameter<Calendar> arg0, final Calendar arg1, final TemporalType arg2) {
- return null;
- }
-
- @Override
- public Query setParameter(final int arg0, final Object arg1) {
- return null;
- }
-
- @Override
- public Query setParameter(final String arg0, final Object arg1) {
- return null;
- }
-
- @Override
- public <T> Query setParameter(final Parameter<T> arg0, final T arg1) {
- return null;
- }
-
- @Override
- public Query setLockMode(final LockModeType arg0) {
- return null;
- }
-
- @Override
- public Query setHint(final String arg0, final Object arg1) {
- return null;
- }
-
- @Override
- public Query setFlushMode(final FlushModeType arg0) {
- return null;
- }
-
- @Override
- public boolean isBound(final Parameter<?> arg0) {
- return false;
- }
-
- @Override
- public Object getSingleResult() {
- return null;
- }
-
- @Override
- public Set<Parameter<?>> getParameters() {
- return null;
- }
-
- @Override
- public Object getParameterValue(final int arg0) {
- return null;
- }
-
- @Override
- public Object getParameterValue(final String arg0) {
- return null;
- }
-
- @Override
- public <T> T getParameterValue(final Parameter<T> arg0) {
- return null;
- }
-
- @Override
- public <T> Parameter<T> getParameter(final int arg0, final Class<T> arg1) {
- return null;
- }
-
- @Override
- public <T> Parameter<T> getParameter(final String arg0, final Class<T> arg1) {
- return null;
- }
-
- @Override
- public Parameter<?> getParameter(final int arg0) {
- return null;
- }
-
- @Override
- public Parameter<?> getParameter(final String arg0) {
- return null;
- }
-
- @Override
- public LockModeType getLockMode() {
- return null;
- }
-
- @Override
- public Map<String, Object> getHints() {
- return null;
- }
-
- @Override
- public FlushModeType getFlushMode() {
- return null;
- }
-
- @Override
- public int executeUpdate() {
- return 0;
- }
- };
- }
-
-}
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.core.access.data;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.persistence.FlushModeType;
+import javax.persistence.LockModeType;
+import javax.persistence.Parameter;
+import javax.persistence.Query;
+import javax.persistence.TemporalType;
+
+import org.apache.olingo.odata2.jpa.processor.core.access.data.JPAPage.JPAPageBuilder;
+import org.junit.Test;
+
+public class JPAPageBuilderTest {
+
+ private static final int PAGE_SIZE = 10;
+
+ @Test
+ public void testBuildDefault() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+ assertEquals(1, page.getPagedEntities().size());
+
+ assertEquals(10, query.getFirstResult());
+ assertEquals(10, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildDefaultZeroPage() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(0)
+ .skipToken("10")
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(0, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+ assertEquals(0, page.getPagedEntities().size());
+
+ assertEquals(0, query.getFirstResult());
+ assertEquals(0, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithNoSkipToken() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("0")
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+ assertEquals(1, page.getPagedEntities().size());
+
+ assertEquals(0, query.getFirstResult());
+ assertEquals(10, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithNullSkipToken() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken(null)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(0, query.getFirstResult());
+ assertEquals(10, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithInvalidSkipToken() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ try {
+ pageBuilder.query(query)
+ .skipToken("AB");
+ } catch (NumberFormatException e) {
+ return;
+ }
+ fail("Exception Expected");
+ }
+
+ @Test
+ public void testBuildWithTop() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(10, query.getFirstResult());
+ assertEquals(5, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithTopZeroPage() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(0)
+ .skipToken("10")
+ .top(5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(0, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(0, query.getFirstResult());
+ assertEquals(5, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithSkipZeroPage() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(0)
+ .skipToken("10")
+ .skip(5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(0, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(5, query.getFirstResult());
+ assertEquals(0, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithTopSkipZeroPage() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(0)
+ .skipToken("10")
+ .skip(5)
+ .top(5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(0, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(5, query.getFirstResult());
+ assertEquals(5, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithTopExceeds() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(15)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(10, query.getFirstResult());
+ assertEquals(10, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithTopSkipExceeds() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(5)
+ .skip(10)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertEquals(0, page.getPagedEntities().size());
+
+ assertEquals(0, query.getFirstResult());
+ assertEquals(0, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithTopSkipMore() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(5)
+ .skip(9)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(19, query.getFirstResult());
+ assertEquals(1, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithTopMoreSkip() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(15)
+ .skip(9)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(19, query.getFirstResult());
+ assertEquals(1, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithTopXSkipX() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(15)
+ .skip(15)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(0, query.getFirstResult());
+ assertEquals(0, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithNegativeTop() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(-5)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(10, query.getFirstResult());
+ assertEquals(10, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithNegativeTopSkipToken() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(false);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("-10")
+ .top(-5)
+ .skip(-1)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(0, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(0, query.getFirstResult());
+ assertEquals(10, query.getMaxResults());
+ }
+
+ @Test
+ public void testBuildWithNoRecords() {
+ JPAPageBuilder pageBuilder = new JPAPageBuilder();
+ Query query = mockQuery(true);
+
+ JPAPage page = pageBuilder.query(query)
+ .pageSize(PAGE_SIZE)
+ .skipToken("10")
+ .top(1)
+ .skip(1)
+ .build();
+
+ assertEquals(0, page.getNextPage());
+ assertEquals(10, page.getStartPage());
+ assertEquals(PAGE_SIZE, page.getPageSize());
+ assertNotNull(page.getPagedEntities());
+
+ assertEquals(11, query.getFirstResult());
+ assertEquals(1, query.getMaxResults());
+ }
+
+ private Query mockQuery(final boolean setNoRecords) {
+
+ return new Query() {
+
+ private int maxResults;
+ private int firstResult;
+
+ @Override
+ public Query setFirstResult(final int arg0) {
+ firstResult = arg0;
+ return this;
+ }
+
+ @Override
+ public Query setMaxResults(final int arg0) {
+ maxResults = arg0;
+ return this;
+ }
+
+ @Override
+ public int getMaxResults() {
+ return maxResults;
+ }
+
+ @Override
+ public int getFirstResult() {
+ return firstResult;
+ }
+
+ @Override
+ public List<Object> getResultList() {
+ List<Object> list = new ArrayList<Object>();
+ if (maxResults > 0 && setNoRecords == false) {
+ list.add(new Integer(1));
+ }
+ return list;
+ }
+
+ @Override
+ public <T> T unwrap(final Class<T> arg0) {
+ return null;
+ }
+
+ @Override
+ public Query setParameter(final int arg0, final Date arg1, final TemporalType arg2) {
+ return null;
+ }
+
+ @Override
+ public Query setParameter(final int arg0, final Calendar arg1, final TemporalType arg2) {
+ return null;
+ }
+
+ @Override
+ public Query setParameter(final String arg0, final Date arg1, final TemporalType arg2) {
+ return null;
+ }
+
+ @Override
+ public Query setParameter(final String arg0, final Calendar arg1, final TemporalType arg2) {
+ return null;
+ }
+
+ @Override
+ public Query setParameter(final Parameter<Date> arg0, final Date arg1, final TemporalType arg2) {
+ return null;
+ }
+
+ @Override
+ public Query setParameter(final Parameter<Calendar> arg0, final Calendar arg1, final TemporalType arg2) {
+ return null;
+ }
+
+ @Override
+ public Query setParameter(final int arg0, final Object arg1) {
+ return null;
+ }
+
+ @Override
+ public Query setParameter(final String arg0, final Object arg1) {
+ return null;
+ }
+
+ @Override
+ public <T> Query setParameter(final Parameter<T> arg0, final T arg1) {
+ return null;
+ }
+
+ @Override
+ public Query setLockMode(final LockModeType arg0) {
+ return null;
+ }
+
+ @Override
+ public Query setHint(final String arg0, final Object arg1) {
+ return null;
+ }
+
+ @Override
+ public Query setFlushMode(final FlushModeType arg0) {
+ return null;
+ }
+
+ @Override
+ public boolean isBound(final Parameter<?> arg0) {
+ return false;
+ }
+
+ @Override
+ public Object getSingleResult() {
+ return null;
+ }
+
+ @Override
+ public Set<Parameter<?>> getParameters() {
+ return null;
+ }
+
+ @Override
+ public Object getParameterValue(final int arg0) {
+ return null;
+ }
+
+ @Override
+ public Object getParameterValue(final String arg0) {
+ return null;
+ }
+
+ @Override
+ public <T> T getParameterValue(final Parameter<T> arg0) {
+ return null;
+ }
+
+ @Override
+ public <T> Parameter<T> getParameter(final int arg0, final Class<T> arg1) {
+ return null;
+ }
+
+ @Override
+ public <T> Parameter<T> getParameter(final String arg0, final Class<T> arg1) {
+ return null;
+ }
+
+ @Override
+ public Parameter<?> getParameter(final int arg0) {
+ return null;
+ }
+
+ @Override
+ public Parameter<?> getParameter(final String arg0) {
+ return null;
+ }
+
+ @Override
+ public LockModeType getLockMode() {
+ return null;
+ }
+
+ @Override
+ public Map<String, Object> getHints() {
+ return null;
+ }
+
+ @Override
+ public FlushModeType getFlushMode() {
+ return null;
+ }
+
+ @Override
+ public int executeUpdate() {
+ return 0;
+ }
+ };
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java
index 3bc3f14..e39d3af 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataContextMock.java
@@ -1,62 +1,62 @@
-/*******************************************************************************
- * 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.olingo.odata2.jpa.processor.core.mock;
-
-import org.apache.olingo.odata2.api.ODataService;
-import org.apache.olingo.odata2.api.exception.ODataException;
-import org.apache.olingo.odata2.api.processor.ODataContext;
-import org.apache.olingo.odata2.api.uri.PathInfo;
-import org.easymock.EasyMock;
-
-public class ODataContextMock {
-
- private ODataService odataService;
- private PathInfo pathInfo;
-
- public void setODataService(final ODataService service) {
- odataService = service;
- }
-
- public void setPathInfo(final PathInfo pathInfo) {
- this.pathInfo = pathInfo;
- }
-
- public ODataContext mock() throws ODataException {
- ODataContext context = EasyMock.createMock(ODataContext.class);
- EasyMock.expect(context.getService()).andReturn(odataService).anyTimes();
- EasyMock.expect(context.getPathInfo()).andReturn(pathInfo).anyTimes();
- ODataJPAServiceFactoryMock mockServiceFactory = new ODataJPAServiceFactoryMock(context);
- mockServiceFactory.initializeODataJPAContext();
- EasyMock.expect(context.getServiceFactory()).andReturn(mockServiceFactory).anyTimes();
- EasyMock.replay(context);
- return context;
- }
-
- public ODataContext mockWithoutOnJPAWriteContent() throws ODataException {
- ODataContext context = EasyMock.createMock(ODataContext.class);
- EasyMock.expect(context.getService()).andReturn(odataService).anyTimes();
- EasyMock.expect(context.getPathInfo()).andReturn(pathInfo).anyTimes();
- ODataJPAServiceFactoryMock mockServiceFactory = new ODataJPAServiceFactoryMock(context);
- mockServiceFactory.initializeODataJPAContextX();
- EasyMock.expect(context.getServiceFactory()).andReturn(mockServiceFactory).anyTimes();
- EasyMock.replay(context);
- return context;
- }
-
-}
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.core.mock;
+
+import org.apache.olingo.odata2.api.ODataService;
+import org.apache.olingo.odata2.api.exception.ODataException;
+import org.apache.olingo.odata2.api.processor.ODataContext;
+import org.apache.olingo.odata2.api.uri.PathInfo;
+import org.easymock.EasyMock;
+
+public class ODataContextMock {
+
+ private ODataService odataService;
+ private PathInfo pathInfo;
+
+ public void setODataService(final ODataService service) {
+ odataService = service;
+ }
+
+ public void setPathInfo(final PathInfo pathInfo) {
+ this.pathInfo = pathInfo;
+ }
+
+ public ODataContext mock() throws ODataException {
+ ODataContext context = EasyMock.createMock(ODataContext.class);
+ EasyMock.expect(context.getService()).andReturn(odataService).anyTimes();
+ EasyMock.expect(context.getPathInfo()).andReturn(pathInfo).anyTimes();
+ ODataJPAServiceFactoryMock mockServiceFactory = new ODataJPAServiceFactoryMock(context);
+ mockServiceFactory.initializeODataJPAContext();
+ EasyMock.expect(context.getServiceFactory()).andReturn(mockServiceFactory).anyTimes();
+ EasyMock.replay(context);
+ return context;
+ }
+
+ public ODataContext mockWithoutOnJPAWriteContent() throws ODataException {
+ ODataContext context = EasyMock.createMock(ODataContext.class);
+ EasyMock.expect(context.getService()).andReturn(odataService).anyTimes();
+ EasyMock.expect(context.getPathInfo()).andReturn(pathInfo).anyTimes();
+ ODataJPAServiceFactoryMock mockServiceFactory = new ODataJPAServiceFactoryMock(context);
+ mockServiceFactory.initializeODataJPAContextX();
+ EasyMock.expect(context.getServiceFactory()).andReturn(mockServiceFactory).anyTimes();
+ EasyMock.replay(context);
+ return context;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAServiceFactoryMock.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAServiceFactoryMock.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAServiceFactoryMock.java
index 5fdeece..d7dfc2d 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAServiceFactoryMock.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataJPAServiceFactoryMock.java
@@ -1,47 +1,47 @@
-/*******************************************************************************
- * 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.olingo.odata2.jpa.processor.core.mock;
-
-import org.apache.olingo.odata2.api.processor.ODataContext;
-import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
-import org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory;
-import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
-
-public class ODataJPAServiceFactoryMock extends ODataJPAServiceFactory {
- private ODataContext context = null;
-
- public ODataJPAServiceFactoryMock(final ODataContext context) {
- this.context = context;
- }
-
- @Override
- public ODataJPAContext initializeODataJPAContext() throws ODataJPARuntimeException {
- ODataJPAContext oDataJPAContext = null;
- oDataJPAContext = ODataJPAContextMock.mockODataJPAContext(context);
- setOnWriteJPAContent(new OnJPAWriteContentMock());
- return oDataJPAContext;
- }
-
- public ODataJPAContext initializeODataJPAContextX() throws ODataJPARuntimeException {
- ODataJPAContext oDataJPAContext = null;
- oDataJPAContext = ODataJPAContextMock.mockODataJPAContext(context);
- setOnWriteJPAContent(null);
- return oDataJPAContext;
- }
-}
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.core.mock;
+
+import org.apache.olingo.odata2.api.processor.ODataContext;
+import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext;
+import org.apache.olingo.odata2.jpa.processor.api.ODataJPAServiceFactory;
+import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
+
+public class ODataJPAServiceFactoryMock extends ODataJPAServiceFactory {
+ private ODataContext context = null;
+
+ public ODataJPAServiceFactoryMock(final ODataContext context) {
+ this.context = context;
+ }
+
+ @Override
+ public ODataJPAContext initializeODataJPAContext() throws ODataJPARuntimeException {
+ ODataJPAContext oDataJPAContext = null;
+ oDataJPAContext = ODataJPAContextMock.mockODataJPAContext(context);
+ setOnWriteJPAContent(new OnJPAWriteContentMock());
+ return oDataJPAContext;
+ }
+
+ public ODataJPAContext initializeODataJPAContextX() throws ODataJPARuntimeException {
+ ODataJPAContext oDataJPAContext = null;
+ oDataJPAContext = ODataJPAContextMock.mockODataJPAContext(context);
+ setOnWriteJPAContent(null);
+ return oDataJPAContext;
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataServiceMock.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataServiceMock.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataServiceMock.java
index c5478db..dfaa329 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataServiceMock.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/ODataServiceMock.java
@@ -1,106 +1,106 @@
-/*******************************************************************************
- * 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.olingo.odata2.jpa.processor.core.mock;
-
-import java.util.List;
-
-import org.apache.olingo.odata2.api.ODataService;
-import org.apache.olingo.odata2.api.edm.Edm;
-import org.apache.olingo.odata2.api.edm.EdmAssociation;
-import org.apache.olingo.odata2.api.edm.EdmComplexType;
-import org.apache.olingo.odata2.api.edm.EdmEntityContainer;
-import org.apache.olingo.odata2.api.edm.EdmEntitySet;
-import org.apache.olingo.odata2.api.edm.EdmEntityType;
-import org.apache.olingo.odata2.api.edm.EdmException;
-import org.apache.olingo.odata2.api.edm.EdmFunctionImport;
-import org.apache.olingo.odata2.api.edm.EdmServiceMetadata;
-import org.apache.olingo.odata2.api.exception.ODataException;
-import org.apache.olingo.odata2.jpa.processor.core.mock.data.EdmMockUtilV2;
-import org.easymock.EasyMock;
-
-public class ODataServiceMock {
-
- private Edm edmMock = null;
- public static final String SERVICE_ROOT = "http://apache.odata.org/OData.svc/";
-
- public ODataService mock() throws ODataException {
- ODataService odataService = EasyMock.createMock(ODataService.class);
- EasyMock.expect(odataService.getEntityDataModel()).andReturn(mockEdm());
- EasyMock.replay(odataService);
- return odataService;
-
- }
-
- private Edm mockEdm() {
- if (edmMock == null) {
- edmMock = new EdmMock();
- }
- return edmMock;
- }
-
- public static class EdmMock implements Edm {
-
- @Override
- public EdmEntityContainer getEntityContainer(final String name) throws EdmException {
- return EdmMockUtilV2.mockEdmEntityContainer(name);
- }
-
- @Override
- public EdmEntityType getEntityType(final String namespace, final String name) throws EdmException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public EdmComplexType getComplexType(final String namespace, final String name) throws EdmException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public EdmAssociation getAssociation(final String namespace, final String name) throws EdmException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public EdmServiceMetadata getServiceMetadata() {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public EdmEntityContainer getDefaultEntityContainer() throws EdmException {
- return EdmMockUtilV2.mockEdmEntityContainer(null);
- }
-
- @Override
- public List<EdmEntitySet> getEntitySets() throws EdmException {
- // TODO Auto-generated method stub
- return null;
- }
-
- @Override
- public List<EdmFunctionImport> getFunctionImports() throws EdmException {
- // TODO Auto-generated method stub
- return null;
- }
-
- }
-}
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.core.mock;
+
+import java.util.List;
+
+import org.apache.olingo.odata2.api.ODataService;
+import org.apache.olingo.odata2.api.edm.Edm;
+import org.apache.olingo.odata2.api.edm.EdmAssociation;
+import org.apache.olingo.odata2.api.edm.EdmComplexType;
+import org.apache.olingo.odata2.api.edm.EdmEntityContainer;
+import org.apache.olingo.odata2.api.edm.EdmEntitySet;
+import org.apache.olingo.odata2.api.edm.EdmEntityType;
+import org.apache.olingo.odata2.api.edm.EdmException;
+import org.apache.olingo.odata2.api.edm.EdmFunctionImport;
+import org.apache.olingo.odata2.api.edm.EdmServiceMetadata;
+import org.apache.olingo.odata2.api.exception.ODataException;
+import org.apache.olingo.odata2.jpa.processor.core.mock.data.EdmMockUtilV2;
+import org.easymock.EasyMock;
+
+public class ODataServiceMock {
+
+ private Edm edmMock = null;
+ public static final String SERVICE_ROOT = "http://apache.odata.org/OData.svc/";
+
+ public ODataService mock() throws ODataException {
+ ODataService odataService = EasyMock.createMock(ODataService.class);
+ EasyMock.expect(odataService.getEntityDataModel()).andReturn(mockEdm());
+ EasyMock.replay(odataService);
+ return odataService;
+
+ }
+
+ private Edm mockEdm() {
+ if (edmMock == null) {
+ edmMock = new EdmMock();
+ }
+ return edmMock;
+ }
+
+ public static class EdmMock implements Edm {
+
+ @Override
+ public EdmEntityContainer getEntityContainer(final String name) throws EdmException {
+ return EdmMockUtilV2.mockEdmEntityContainer(name);
+ }
+
+ @Override
+ public EdmEntityType getEntityType(final String namespace, final String name) throws EdmException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EdmComplexType getComplexType(final String namespace, final String name) throws EdmException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EdmAssociation getAssociation(final String namespace, final String name) throws EdmException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EdmServiceMetadata getServiceMetadata() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public EdmEntityContainer getDefaultEntityContainer() throws EdmException {
+ return EdmMockUtilV2.mockEdmEntityContainer(null);
+ }
+
+ @Override
+ public List<EdmEntitySet> getEntitySets() throws EdmException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public List<EdmFunctionImport> getFunctionImports() throws EdmException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/OnJPAWriteContentMock.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/OnJPAWriteContentMock.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/OnJPAWriteContentMock.java
index e0069ce..b571b12 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/OnJPAWriteContentMock.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/OnJPAWriteContentMock.java
@@ -1,58 +1,58 @@
-/*******************************************************************************
- * 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.olingo.odata2.jpa.processor.core.mock;
-
-import java.sql.Blob;
-import java.sql.Clob;
-import java.sql.SQLException;
-
-import javax.sql.rowset.serial.SerialBlob;
-import javax.sql.rowset.serial.SerialClob;
-import javax.sql.rowset.serial.SerialException;
-
-import org.apache.olingo.odata2.jpa.processor.api.OnJPAWriteContent;
-import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
-
-public class OnJPAWriteContentMock implements OnJPAWriteContent {
-
- @Override
- public Blob getJPABlob(final byte[] binaryData) throws ODataJPARuntimeException {
- try {
- return new SerialBlob(binaryData);
- } catch (SerialException e) {
- ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e);
- } catch (SQLException e) {
- ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e);
- }
- return null;
- }
-
- @Override
- public Clob getJPAClob(final char[] characterData) throws ODataJPARuntimeException {
- try {
- return new SerialClob(characterData);
- } catch (SerialException e) {
- ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e);
- } catch (SQLException e) {
- ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e);
- }
- return null;
- }
-
-}
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.core.mock;
+
+import java.sql.Blob;
+import java.sql.Clob;
+import java.sql.SQLException;
+
+import javax.sql.rowset.serial.SerialBlob;
+import javax.sql.rowset.serial.SerialClob;
+import javax.sql.rowset.serial.SerialException;
+
+import org.apache.olingo.odata2.jpa.processor.api.OnJPAWriteContent;
+import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException;
+
+public class OnJPAWriteContentMock implements OnJPAWriteContent {
+
+ @Override
+ public Blob getJPABlob(final byte[] binaryData) throws ODataJPARuntimeException {
+ try {
+ return new SerialBlob(binaryData);
+ } catch (SerialException e) {
+ ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e);
+ } catch (SQLException e) {
+ ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e);
+ }
+ return null;
+ }
+
+ @Override
+ public Clob getJPAClob(final char[] characterData) throws ODataJPARuntimeException {
+ try {
+ return new SerialClob(characterData);
+ } catch (SerialException e) {
+ ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e);
+ } catch (SQLException e) {
+ ODataJPARuntimeException.throwException(ODataJPARuntimeException.INNER_EXCEPTION, e);
+ }
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathInfoMock.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathInfoMock.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathInfoMock.java
index 96a920c..b90b79c 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathInfoMock.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathInfoMock.java
@@ -1,51 +1,51 @@
-/*******************************************************************************
- * 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.olingo.odata2.jpa.processor.core.mock;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.List;
-
-import org.apache.olingo.odata2.api.uri.PathInfo;
-import org.apache.olingo.odata2.api.uri.PathSegment;
-import org.easymock.EasyMock;
-
-public class PathInfoMock {
-
- private List<PathSegment> pathSegments;
- private URI uri;
-
- public void setPathSegments(final List<PathSegment> pathSegments) {
- this.pathSegments = pathSegments;
- }
-
- public void setServiceRootURI(final String uriString) throws URISyntaxException {
- uri = new URI(uriString);
- }
-
- public PathInfo mock() {
- PathInfo pathInfo = EasyMock.createMock(PathInfo.class);
- EasyMock.expect(pathInfo.getODataSegments()).andReturn(pathSegments);
- EasyMock.expect(pathInfo.getServiceRoot()).andReturn(uri);
-
- EasyMock.replay(pathInfo);
- return pathInfo;
-
- }
-}
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.core.mock;
+
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.List;
+
+import org.apache.olingo.odata2.api.uri.PathInfo;
+import org.apache.olingo.odata2.api.uri.PathSegment;
+import org.easymock.EasyMock;
+
+public class PathInfoMock {
+
+ private List<PathSegment> pathSegments;
+ private URI uri;
+
+ public void setPathSegments(final List<PathSegment> pathSegments) {
+ this.pathSegments = pathSegments;
+ }
+
+ public void setServiceRootURI(final String uriString) throws URISyntaxException {
+ uri = new URI(uriString);
+ }
+
+ public PathInfo mock() {
+ PathInfo pathInfo = EasyMock.createMock(PathInfo.class);
+ EasyMock.expect(pathInfo.getODataSegments()).andReturn(pathSegments);
+ EasyMock.expect(pathInfo.getServiceRoot()).andReturn(uri);
+
+ EasyMock.replay(pathInfo);
+ return pathInfo;
+
+ }
+}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathSegmentMock.java
----------------------------------------------------------------------
diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathSegmentMock.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathSegmentMock.java
index 77d1fbd..151cb9a 100644
--- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathSegmentMock.java
+++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/mock/PathSegmentMock.java
@@ -1,44 +1,44 @@
-/*******************************************************************************
- * 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.olingo.odata2.jpa.processor.core.mock;
-
-import java.util.List;
-import java.util.Map;
-
-import org.apache.olingo.odata2.api.uri.PathSegment;
-
-public class PathSegmentMock implements PathSegment {
-
- private String path;
-
- public void setPath(final String path) {
- this.path = path;
- }
-
- @Override
- public String getPath() {
- return path;
- }
-
- @Override
- public Map<String, List<String>> getMatrixParameters() {
- return null;
- }
-
-}
+/*******************************************************************************
+ * 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.olingo.odata2.jpa.processor.core.mock;
+
+import java.util.List;
+import java.util.Map;
+
+import org.apache.olingo.odata2.api.uri.PathSegment;
+
+public class PathSegmentMock implements PathSegment {
+
+ private String path;
+
+ public void setPath(final String path) {
+ this.path = path;
+ }
+
+ @Override
+ public String getPath() {
+ return path;
+ }
+
+ @Override
+ public Map<String, List<String>> getMatrixParameters() {
+ return null;
+ }
+
+}