You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by sh...@apache.org on 2015/12/30 08:10:39 UTC
[20/50] [abbrv] lens git commit: LENS-871 : Fix Dropping any
partition in dimtable is clearing latest cache for that dimtable.
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestFactPartition.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestFactPartition.java b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestFactPartition.java
index 3f2ae6f..e802c3c 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestFactPartition.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestFactPartition.java
@@ -39,8 +39,8 @@ public class TestFactPartition {
@Test
public void testGetFormattedFilter() throws Exception {
- String dailyFormat = DAILY.format().format(DATE);
- String hourlyFormat = HOURLY.format().format(DATE);
+ String dailyFormat = DAILY.format(DATE);
+ String hourlyFormat = HOURLY.format(DATE);
assertEquals(fp1.getFormattedFilter("table"), "table.p = '" + dailyFormat + "'");
assertEquals(fp2.getFormattedFilter("table2"),
"table2.p = '" + dailyFormat + "' AND table2.q = '" + hourlyFormat + "'");
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java
index 2cbbd0c..729bcab 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestTimePartition.java
@@ -39,7 +39,7 @@ public class TestTimePartition {
@Test(dataProvider = "update-periods")
public void test(UpdatePeriod up) throws LensException {
// Normal date object parsable
- String nowStr = up.format().format(NOW);
+ String nowStr = up.format(NOW);
// Create partition by date object or it's string representation -- both should be same.
TimePartition nowPartition = TimePartition.of(up, NOW);
TimePartition nowStrPartition = TimePartition.of(up, nowStr);
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-cube/src/test/java/org/apache/lens/cube/metadata/UpdatePeriodTest.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/metadata/UpdatePeriodTest.java b/lens-cube/src/test/java/org/apache/lens/cube/metadata/UpdatePeriodTest.java
index b21341d..b7ee8cc 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/metadata/UpdatePeriodTest.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/metadata/UpdatePeriodTest.java
@@ -54,7 +54,7 @@ public class UpdatePeriodTest {
for (int i = 0; i < 5000; i++) {
Date randomDate = randomDateGenerator.nextDate();
randomDate = period.truncate(randomDate);
- assertEquals(randomDate, period.format().parse(period.format().format(randomDate)));
+ assertEquals(randomDate, period.parse(period.format(randomDate)));
}
}
}
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java
index 999faa0..1357035 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/CubeTestSetup.java
@@ -19,15 +19,11 @@
package org.apache.lens.cube.parse;
-import static java.util.Calendar.DAY_OF_MONTH;
-import static java.util.Calendar.HOUR_OF_DAY;
-import static java.util.Calendar.MONTH;
+import static java.util.Calendar.*;
import static org.apache.lens.cube.metadata.UpdatePeriod.*;
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import static org.testng.Assert.assertTrue;
+import static org.testng.Assert.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -58,7 +54,6 @@ import org.apache.hadoop.mapred.TextInputFormat;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-
import com.google.common.collect.Sets;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
@@ -105,7 +100,6 @@ public class CubeTestSetup {
public static final String DERIVED_CUBE_NAME1 = "der1";
public static final String DERIVED_CUBE_NAME2 = "der2";
public static final String DERIVED_CUBE_NAME3 = "der3";
- public static final String DERIVED_CUBE_NAME4 = "der4";
// Time Instances as Date Type
public static final Date NOW;
@@ -140,9 +134,31 @@ public class CubeTestSetup {
private static Map<String, String> factValidityProperties = Maps.newHashMap();
@Getter
private static Map<String, List<UpdatePeriod>> storageToUpdatePeriodMap = new LinkedHashMap<>();
+ public static class DateOffsetProvider extends HashMap<Integer, Date> {
+ private final UpdatePeriod updatePeriod;
+ Calendar calendar = Calendar.getInstance();
+
+ public DateOffsetProvider(UpdatePeriod updatePeriod) {
+ this.updatePeriod = updatePeriod;
+ }
+ {
+ put(0, calendar.getTime());
+ }
+
+ @Override
+ public Date get(Object key) {
+ if (!containsKey(key) && key instanceof Integer) {
+ calendar.setTime(super.get(0));
+ calendar.add(updatePeriod.calendarField(), (Integer) key);
+ put((Integer) key, calendar.getTime());
+ }
+ return super.get(key);
+ }
+ }
static {
Calendar cal = Calendar.getInstance();
+ // Keep in sync
NOW = cal.getTime();
log.debug("Test now:{}", NOW);
@@ -280,24 +296,18 @@ public class CubeTestSetup {
public static String getExpectedQuery(String cubeName, String selExpr, String whereExpr, String postWhereExpr,
String rangeWhere, String storageTable, List<String> notLatestConditions) {
- StringBuilder expected = new StringBuilder();
- expected.append(selExpr);
- expected.append(getDbName() + storageTable);
- expected.append(" ");
- expected.append(cubeName);
- expected.append(" WHERE ");
- expected.append("(");
+ StringBuilder expected = new StringBuilder()
+ .append(selExpr).append(getDbName()).append(storageTable).append(" ").append(cubeName)
+ .append(" WHERE ").append("(");
if (notLatestConditions != null) {
for (String cond : notLatestConditions) {
expected.append(cond).append(" AND ");
}
}
if (whereExpr != null) {
- expected.append(whereExpr);
- expected.append(" AND ");
+ expected.append(whereExpr).append(" AND ");
}
- expected.append(rangeWhere);
- expected.append(")");
+ expected.append(rangeWhere).append(")");
if (postWhereExpr != null) {
expected.append(postWhereExpr);
}
@@ -1561,7 +1571,7 @@ public class CubeTestSetup {
TimePartition tp = TimePartition.of(HOURLY, temp);
ttdStoreAll.add(tp);
ttd2StoreAll.add(tp);
- partitions.add(HOURLY.format().format(temp));
+ partitions.add(HOURLY.format(temp));
StoragePartitionDesc sPartSpec = new StoragePartitionDesc(fact.getName(), timeParts, null, HOURLY);
storagePartitionDescs.add(sPartSpec);
cal.add(HOUR_OF_DAY, 1);
@@ -2036,8 +2046,6 @@ public class CubeTestSetup {
dimColumns.add(new FieldSchema("name", "string", "field1"));
dimColumns.add(new FieldSchema("cyleDim2Id", "string", "link to cyclic dim 2"));
- Map<String, List<TableReference>> dimensionReferences = new HashMap<String, List<TableReference>>();
- dimensionReferences.put("cyleDim2Id", Arrays.asList(new TableReference("cycleDim2", "id")));
Map<String, UpdatePeriod> dumpPeriods = new HashMap<String, UpdatePeriod>();
ArrayList<FieldSchema> partCols = new ArrayList<FieldSchema>();
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java
index 1ea22b7..ee84a4c 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBaseCubeQueries.java
@@ -500,8 +500,8 @@ public class TestBaseCubeQueries extends TestQueryRewrite {
assertEquals(
pruneCause.getDetails().get("testfact2_base").iterator().next().getMissingPartitions().iterator().next(),
"ttd:["
- + UpdatePeriod.SECONDLY.format().format(DateUtils.addDays(DateUtils.truncate(TWODAYS_BACK, Calendar.HOUR), -10))
- + ", " + UpdatePeriod.SECONDLY.format().format(DateUtils.addDays(DateUtils.truncate(NOW, Calendar.HOUR), 10))
+ + UpdatePeriod.SECONDLY.format(DateUtils.addDays(DateUtils.truncate(TWODAYS_BACK, Calendar.HOUR), -10))
+ + ", " + UpdatePeriod.SECONDLY.format(DateUtils.addDays(DateUtils.truncate(NOW, Calendar.HOUR), 10))
+ ")");
// fail on partial false. Should go to fallback column. Also testing transitivity of timedim relations
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java
index e20e0e8..9a2493c 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestBetweenTimeRangeWriter.java
@@ -67,7 +67,7 @@ public class TestBetweenTimeRangeWriter extends TestTimeRangeWriter {
public void validateSingle(String whereClause, DateFormat format) {
List<String> parts = new ArrayList<String>();
if (format == null) {
- parts.add(UpdatePeriod.DAILY.format().format(CubeTestSetup.ONE_DAY_BACK));
+ parts.add(UpdatePeriod.DAILY.format(CubeTestSetup.ONE_DAY_BACK));
} else {
parts.add(format.format(CubeTestSetup.ONE_DAY_BACK));
}
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-cube/src/test/java/org/apache/lens/cube/parse/TestORTimeRangeWriter.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestORTimeRangeWriter.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestORTimeRangeWriter.java
index 0e7db1b..4a23818 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestORTimeRangeWriter.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestORTimeRangeWriter.java
@@ -43,9 +43,9 @@ public class TestORTimeRangeWriter extends TestTimeRangeWriter {
public void validateDisjoint(String whereClause, DateFormat format) {
List<String> parts = new ArrayList<String>();
if (format == null) {
- parts.add(UpdatePeriod.MONTHLY.format().format(CubeTestSetup.TWO_MONTHS_BACK));
- parts.add(UpdatePeriod.DAILY.format().format(CubeTestSetup.TWODAYS_BACK));
- parts.add(UpdatePeriod.HOURLY.format().format(CubeTestSetup.NOW));
+ parts.add(UpdatePeriod.MONTHLY.format(CubeTestSetup.TWO_MONTHS_BACK));
+ parts.add(UpdatePeriod.DAILY.format(CubeTestSetup.TWODAYS_BACK));
+ parts.add(UpdatePeriod.HOURLY.format(CubeTestSetup.NOW));
} else {
parts.add(format.format(CubeTestSetup.TWO_MONTHS_BACK));
parts.add(format.format(CubeTestSetup.TWODAYS_BACK));
@@ -60,9 +60,9 @@ public class TestORTimeRangeWriter extends TestTimeRangeWriter {
public void validateConsecutive(String whereClause, DateFormat format) {
List<String> parts = new ArrayList<String>();
if (format == null) {
- parts.add(UpdatePeriod.DAILY.format().format(CubeTestSetup.ONE_DAY_BACK));
- parts.add(UpdatePeriod.DAILY.format().format(CubeTestSetup.TWODAYS_BACK));
- parts.add(UpdatePeriod.DAILY.format().format(CubeTestSetup.NOW));
+ parts.add(UpdatePeriod.DAILY.format(CubeTestSetup.ONE_DAY_BACK));
+ parts.add(UpdatePeriod.DAILY.format(CubeTestSetup.TWODAYS_BACK));
+ parts.add(UpdatePeriod.DAILY.format(CubeTestSetup.NOW));
} else {
parts.add(format.format(CubeTestSetup.ONE_DAY_BACK));
parts.add(format.format(CubeTestSetup.TWODAYS_BACK));
@@ -77,7 +77,7 @@ public class TestORTimeRangeWriter extends TestTimeRangeWriter {
public void validateSingle(String whereClause, DateFormat format) {
List<String> parts = new ArrayList<String>();
if (format == null) {
- parts.add(UpdatePeriod.DAILY.format().format(CubeTestSetup.ONE_DAY_BACK));
+ parts.add(UpdatePeriod.DAILY.format(CubeTestSetup.ONE_DAY_BACK));
} else {
parts.add(format.format(CubeTestSetup.ONE_DAY_BACK));
}
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
index fc57c94..722a2da 100644
--- a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
+++ b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
@@ -909,7 +909,7 @@ public class TestHiveDriver {
p = UpdatePeriod.HOURLY;
break;
}
- FactPartition part = new FactPartition(partEls[0], p.format().parse(partSpec), p, null, p.format(),
+ FactPartition part = new FactPartition(partEls[0], p.parse(partSpec), p, null, p.format(),
Collections.singleton("table1"));
factParts.add(part);
}
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-server-api/src/main/java/org/apache/lens/server/api/util/LensUtil.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/util/LensUtil.java b/lens-server-api/src/main/java/org/apache/lens/server/api/util/LensUtil.java
index 6dcb2d7..c3b6d26 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/util/LensUtil.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/util/LensUtil.java
@@ -18,6 +18,7 @@
*/
package org.apache.lens.server.api.util;
+import java.util.HashMap;
import java.util.Set;
import org.apache.lens.server.api.common.ConfigBasedObjectCreationFactory;
@@ -83,4 +84,13 @@ public final class LensUtil {
throw new IllegalStateException(e);
}
}
+
+ public static <K, V> HashMap<K, V> getHashMap(Object... args) {
+ assert (args.length % 2 == 0);
+ HashMap<K, V> map = new HashMap<>();
+ for (int i = 0; i < args.length; i += 2) {
+ map.put((K) args[i], (V) args[i + 1]);
+ }
+ return map;
+ }
}
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java b/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
index 27f9e0e..66ed938 100644
--- a/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
+++ b/lens-server/src/main/java/org/apache/lens/server/metastore/CubeMetastoreServiceImpl.java
@@ -870,7 +870,7 @@ public class CubeMetastoreServiceImpl extends BaseLensService implements CubeMet
String dateStr = partSpec.get(partCol);
Date date = null;
try {
- date = period.format().parse(dateStr);
+ date = period.parse(dateStr);
} catch (Exception e) {
continue;
}
@@ -919,11 +919,9 @@ public class CubeMetastoreServiceImpl extends BaseLensService implements CubeMet
String storageName, String filter) throws LensException {
try {
acquire(sessionid);
- String tableName = MetastoreUtil.getStorageTableName(cubeTableName,
- Storage.getPrefix(storageName));
+ String tableName = MetastoreUtil.getStorageTableName(cubeTableName, Storage.getPrefix(storageName));
CubeMetastoreClient msClient = getClient(sessionid);
- List<Partition> partitions = msClient.getPartitionsByFilter(
- tableName, filter);
+ List<Partition> partitions = msClient.getPartitionsByFilter(tableName, filter);
for (Partition part : partitions) {
try {
Map<String, Date> timeSpec = new HashMap<String, Date>();
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java
----------------------------------------------------------------------
diff --git a/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java b/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java
index f5db7bc..a5883f7 100644
--- a/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java
+++ b/lens-server/src/main/java/org/apache/lens/server/metastore/JAXBUtils.java
@@ -859,7 +859,7 @@ public final class JAXBUtils {
XTimePartSpecElement timePartSpecElement = new XTimePartSpecElement();
timePartSpecElement.setKey(entry.getKey());
timePartSpecElement
- .setValue(getXMLGregorianCalendar(UpdatePeriod.valueOf(xp.getUpdatePeriod().name()).format().parse(
+ .setValue(getXMLGregorianCalendar(UpdatePeriod.valueOf(xp.getUpdatePeriod().name()).parse(
entry.getValue())));
xp.getTimePartitionSpec().getPartSpecElement().add(timePartSpecElement);
} else {
http://git-wip-us.apache.org/repos/asf/lens/blob/87049563/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java b/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
index 5f9f639..3bc692e 100644
--- a/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
+++ b/lens-server/src/test/java/org/apache/lens/server/metastore/TestMetastoreService.java
@@ -28,15 +28,20 @@ import java.util.*;
import javax.ws.rs.BadRequestException;
import javax.ws.rs.NotFoundException;
import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.*;
+import javax.ws.rs.core.Application;
+import javax.ws.rs.core.GenericType;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
import javax.xml.bind.JAXBElement;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
-import org.apache.lens.api.*;
+import org.apache.lens.api.APIResult;
import org.apache.lens.api.APIResult.Status;
+import org.apache.lens.api.DateTime;
+import org.apache.lens.api.LensSessionHandle;
+import org.apache.lens.api.StringList;
import org.apache.lens.api.error.LensCommonErrorCode;
import org.apache.lens.api.metastore.*;
import org.apache.lens.api.result.LensAPIResult;
@@ -46,6 +51,7 @@ import org.apache.lens.server.LensJerseyTest;
import org.apache.lens.server.LensServices;
import org.apache.lens.server.LensTestUtil;
import org.apache.lens.server.api.metastore.CubeMetastoreService;
+import org.apache.lens.server.api.util.LensUtil;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateUtils;
@@ -56,12 +62,17 @@ import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.mapred.SequenceFileInputFormat;
import org.glassfish.jersey.client.ClientConfig;
-import org.glassfish.jersey.media.multipart.*;
+import org.glassfish.jersey.media.multipart.FormDataBodyPart;
+import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
+import org.glassfish.jersey.media.multipart.FormDataMultiPart;
+import org.glassfish.jersey.media.multipart.MultiPartFeature;
import org.testng.Assert;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Sets;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@@ -74,6 +85,10 @@ public class TestMetastoreService extends LensJerseyTest {
CubeMetastoreServiceImpl metastoreService;
LensSessionHandle lensSessionId;
+ private void assertSuccess(APIResult result) {
+ assertEquals(result.getStatus(), Status.SUCCEEDED, String.valueOf(result));
+ }
+
@BeforeTest
public void setUp() throws Exception {
super.setUp();
@@ -114,17 +129,17 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target().path("metastore").path("databases")
.queryParam("sessionid", lensSessionId).request(mediaType).post(Entity.xml(dbName), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// set
result = dbTarget.queryParam("sessionid", lensSessionId).request(mediaType)
.put(Entity.xml(dbName), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// set without session id, we should get bad request
try {
- result = dbTarget.request(mediaType).put(Entity.xml(dbName), APIResult.class);
+ dbTarget.request(mediaType).put(Entity.xml(dbName), APIResult.class);
fail("Should have thrown bad request exception");
} catch (BadRequestException badReq) {
// expected
@@ -142,7 +157,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = dbTarget.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(newDb), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Create again
result = dbTarget.queryParam("sessionid", lensSessionId).queryParam("ignoreIfExisting", false)
@@ -161,13 +176,13 @@ public class TestMetastoreService extends LensJerseyTest {
// First create the database
APIResult create = dbTarget.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(dbName), APIResult.class);
- assertEquals(create.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(create);
// Now drop it
APIResult drop = dbTarget.path(dbName)
.queryParam("cascade", "true")
.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(drop.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(drop);
}
@Test
@@ -189,7 +204,7 @@ public class TestMetastoreService extends LensJerseyTest {
Assert.assertTrue(allDbs.getElements().contains(db));
}
- List<String> expected = new ArrayList<String>(Arrays.asList(dbsToCreate));
+ List<String> expected = Lists.newArrayList(dbsToCreate);
// Default is always there
expected.add("default");
@@ -206,7 +221,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = dbTarget.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(dbName), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
}
private void createStorage(String storageName) throws Exception {
@@ -224,7 +239,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target.queryParam("sessionid", lensSessionId).request(mediaType).post(Entity.xml(
cubeObjectFactory.createXStorage(xs)), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
}
private void dropStorage(String storageName) throws Exception {
@@ -232,7 +247,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target
.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
}
private void dropDatabase(String dbName) throws Exception {
@@ -240,21 +255,19 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = dbTarget.queryParam("cascade", "true")
.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
}
private void setCurrentDatabase(String dbName) throws Exception {
WebTarget dbTarget = target().path("metastore").path("databases/current");
APIResult result = dbTarget.queryParam("sessionid", lensSessionId).request(mediaType).put(Entity.xml(dbName),
APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
}
private String getCurrentDatabase() throws Exception {
- WebTarget dbTarget = target().path("metastore").path("databases/current");
- Invocation.Builder builder = dbTarget.queryParam("sessionid", lensSessionId).request(mediaType);
- String response = builder.get(String.class);
- return response;
+ return target().path("metastore").path("databases/current")
+ .queryParam("sessionid", lensSessionId).request(mediaType).get(String.class);
}
private XBaseCube createTestCube(String cubeName) throws Exception {
@@ -439,6 +452,16 @@ public class TestMetastoreService extends LensJerseyTest {
return cube;
}
+ private void assertCubesExistence(List<String> cubes, Map<String, Boolean> expectedExistence) {
+ for (String cube : cubes) {
+ for (Map.Entry<String, Boolean> expectedCubeEntry : expectedExistence.entrySet()) {
+ if (cube.equalsIgnoreCase(expectedCubeEntry.getKey())) {
+ assertTrue(expectedCubeEntry.getValue(), expectedCubeEntry.getKey() + " is not supposed to be in the list");
+ }
+ }
+ }
+ }
+
@Test
public void testCreateCube() throws Exception {
final String DB = dbPFX + "test_create_cube";
@@ -448,10 +471,10 @@ public class TestMetastoreService extends LensJerseyTest {
try {
final XCube cube = createTestCube("testCube1");
final WebTarget target = target().path("metastore").path("cubes");
- APIResult result = null;
+ APIResult result;
try {
// first try without a session id
- result = target.request(mediaType).post(Entity.xml(cubeObjectFactory.createXCube(cube)), APIResult.class);
+ target.request(mediaType).post(Entity.xml(cubeObjectFactory.createXCube(cube)), APIResult.class);
fail("Should have thrown bad request exception");
} catch (BadRequestException badReq) {
// expected
@@ -459,19 +482,11 @@ public class TestMetastoreService extends LensJerseyTest {
result = target.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXCube(cube)), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
StringList cubes = target().path("metastore/cubes").queryParam("sessionid", lensSessionId).request(mediaType)
.get(StringList.class);
- boolean foundcube = false;
- for (String c : cubes.getElements()) {
- if (c.equalsIgnoreCase("testCube1")) {
- foundcube = true;
- break;
- }
- }
-
- assertTrue(foundcube);
+ assertCubesExistence(cubes.getElements(), LensUtil.<String, Boolean>getHashMap("testCube1", Boolean.TRUE));
// create invalid derived cube
XCube dcube = createDerivedCube("testderived", "testCube1", true);
result = target.queryParam("sessionid", lensSessionId).request(
@@ -484,57 +499,26 @@ public class TestMetastoreService extends LensJerseyTest {
result = target.queryParam("sessionid", lensSessionId).request(
mediaType).post(Entity.xml(cubeObjectFactory.createXCube(dcube)), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
cubes = target().path("metastore/cubes").queryParam("sessionid", lensSessionId).request(mediaType)
.get(StringList.class);
- boolean foundDcube = false;
- foundcube = false;
- for (String c : cubes.getElements()) {
- if (c.equalsIgnoreCase("testCube1")) {
- foundcube = true;
- }
- if (c.equalsIgnoreCase("testderived")) {
- foundDcube = true;
- }
- }
-
- assertTrue(foundcube);
- assertTrue(foundDcube);
+ assertCubesExistence(cubes.getElements(),
+ LensUtil.<String, Boolean>getHashMap("testCube1", true, "testderived", true));
// get all base cubes
cubes = target().path("metastore/cubes").queryParam("sessionid", lensSessionId)
.queryParam("type", "base").request(mediaType).get(StringList.class);
- foundDcube = false;
- foundcube = false;
- for (String c : cubes.getElements()) {
- if (c.equalsIgnoreCase("testCube1")) {
- foundcube = true;
- }
- if (c.equalsIgnoreCase("testderived")) {
- foundDcube = true;
- }
- }
- assertTrue(foundcube);
- assertFalse(foundDcube);
+ assertCubesExistence(cubes.getElements(),
+ LensUtil.<String, Boolean>getHashMap("testCube1", true, "testderived", false));
// get all derived cubes
cubes = target().path("metastore/cubes").queryParam("sessionid", lensSessionId)
.queryParam("type", "derived").request(mediaType).get(StringList.class);
- foundDcube = false;
- foundcube = false;
- for (String c : cubes.getElements()) {
- if (c.equalsIgnoreCase("testCube1")) {
- foundcube = true;
- }
- if (c.equalsIgnoreCase("testderived")) {
- foundDcube = true;
- }
- }
- assertFalse(foundcube);
- assertTrue(foundDcube);
+ assertCubesExistence(cubes.getElements(),
+ LensUtil.<String, Boolean>getHashMap("testCube1", false, "testderived", true));
// Create a non queryable cube
final XCube qcube = createTestCube("testNoQueryCube");
@@ -546,51 +530,21 @@ public class TestMetastoreService extends LensJerseyTest {
result = target.queryParam("sessionid", lensSessionId).request(
mediaType).post(Entity.xml(cubeObjectFactory.createXCube(qcube)), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// get all cubes
cubes = target().path("metastore/cubes").queryParam("sessionid", lensSessionId)
.queryParam("type", "all").request(mediaType).get(StringList.class);
- foundDcube = false;
- foundcube = false;
- boolean foundQCube = false;
- for (String c : cubes.getElements()) {
- if (c.equalsIgnoreCase("testCube1")) {
- foundcube = true;
- }
- if (c.equalsIgnoreCase("testderived")) {
- foundDcube = true;
- }
- if (c.equalsIgnoreCase("testNoQueryCube")) {
- foundQCube = true;
- }
- }
- assertTrue(foundcube);
- assertTrue(foundDcube);
- assertTrue(foundQCube);
+ assertCubesExistence(cubes.getElements(),
+ LensUtil.<String, Boolean>getHashMap("testCube1", true, "testderived", true, "testNoQueryCube", true));
// get queryable cubes
cubes = target().path("metastore/cubes").queryParam("sessionid", lensSessionId)
.queryParam("type", "queryable").request(mediaType).get(StringList.class);
- foundDcube = false;
- foundcube = false;
- foundQCube = false;
- for (String c : cubes.getElements()) {
- if (c.equalsIgnoreCase("testCube1")) {
- foundcube = true;
- }
- if (c.equalsIgnoreCase("testderived")) {
- foundDcube = true;
- }
- if (c.equalsIgnoreCase("testNoQueryCube")) {
- foundQCube = true;
- }
- }
+ assertCubesExistence(cubes.getElements(),
+ LensUtil.<String, Boolean>getHashMap("testCube1", true, "testderived", true, "testNoQueryCube", false));
- assertTrue(foundcube);
- assertTrue(foundDcube);
- assertFalse(foundQCube);
} finally {
dropDatabase(DB);
setCurrentDatabase(prevDb);
@@ -623,7 +577,7 @@ public class TestMetastoreService extends LensJerseyTest {
JAXBElement<XCube> element = cubeObjectFactory.createXCube(cube);
APIResult result =
target.queryParam("sessionid", lensSessionId).request(mediaType).post(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Now get
target = target().path("metastore").path("cubes").path("testGetCube");
@@ -639,7 +593,7 @@ public class TestMetastoreService extends LensJerseyTest {
cube.getDimAttributes().getDimAttribute().size());
assertEquals(actual.getExpressions().getExpression().size(), cube.getExpressions().getExpression().size());
assertEquals(actual.getJoinChains().getJoinChain().size(), cube.getJoinChains().getJoinChain().size());
- Map<String, XJoinChain> chains = new HashMap<String, XJoinChain>();
+ Map<String, XJoinChain> chains = new HashMap<>();
for (XJoinChain xjc : actual.getJoinChains().getJoinChain()) {
chains.put(xjc.getName(), xjc);
}
@@ -721,7 +675,7 @@ public class TestMetastoreService extends LensJerseyTest {
element = cubeObjectFactory.createXCube(dcube);
result =
target.queryParam("sessionid", lensSessionId).request(mediaType).post(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Now get
target = target().path("metastore").path("cubes").path("testGetDerivedCube");
@@ -753,7 +707,7 @@ public class TestMetastoreService extends LensJerseyTest {
JAXBElement<XCube> element = cubeObjectFactory.createXCube(cube);
APIResult result =
target.queryParam("sessionid", lensSessionId).request(mediaType).post(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
final XCube dcube = createDerivedCube("test_drop_derived_cube", "test_drop_cube", false);
target = target().path("metastore").path("cubes");
@@ -761,11 +715,11 @@ public class TestMetastoreService extends LensJerseyTest {
element = cubeObjectFactory.createXCube(dcube);
result =
target.queryParam("sessionid", lensSessionId).request(mediaType).post(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
target = target().path("metastore").path("cubes").path("test_drop_derived_cube");
result = target.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Now get should give 404
try {
@@ -779,7 +733,7 @@ public class TestMetastoreService extends LensJerseyTest {
target = target().path("metastore").path("cubes").path("test_drop_cube");
result = target.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Now get should give 404
try {
@@ -811,7 +765,7 @@ public class TestMetastoreService extends LensJerseyTest {
JAXBElement<XCube> element = cubeObjectFactory.createXCube(cube);
APIResult result =
target.queryParam("sessionid", lensSessionId).request(mediaType).post(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Update something
// Add a measure and dimension
@@ -835,7 +789,7 @@ public class TestMetastoreService extends LensJerseyTest {
element = cubeObjectFactory.createXCube(cube);
result = target.path(cubeName)
.queryParam("sessionid", lensSessionId).request(mediaType).put(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
JAXBElement<XCube> got =
target.path(cubeName)
@@ -862,7 +816,7 @@ public class TestMetastoreService extends LensJerseyTest {
element = cubeObjectFactory.createXCube(dcube);
result =
target.queryParam("sessionid", lensSessionId).request(mediaType).post(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Update something
// Add a measure and dimension
@@ -878,7 +832,7 @@ public class TestMetastoreService extends LensJerseyTest {
element = cubeObjectFactory.createXCube(dcube);
result = target.path("test_update_derived")
.queryParam("sessionid", lensSessionId).request(mediaType).put(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
got = target.path("test_update_derived")
.queryParam("sessionid", lensSessionId).request(mediaType).get(new GenericType<JAXBElement<XCube>>() {});
@@ -938,7 +892,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target.path("store1")
.queryParam("sessionid", lensSessionId).queryParam("storage", "store1")
.request(mediaType).put(Entity.xml(cubeObjectFactory.createXStorage(store1)), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
store1 = target.path("store1").queryParam("sessionid", lensSessionId).request(mediaType).get(XStorage.class);
assertEquals(store1.getName(), "store1");
@@ -1033,7 +987,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target().path("metastore").path("dimensions")
.queryParam("sessionid", lensSessionId).request(
mediaType).post(Entity.xml(cubeObjectFactory.createXDimension(dimension)), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
XDimensionTable dt = createDimTable("testdim", dimTableName);
dt.getStorageTables().getStorageTable().add(createStorageTblElement("test", dimTableName, "HOURLY"));
final FormDataMultiPart mp = new FormDataMultiPart();
@@ -1047,7 +1001,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path("dimtables")
.request(mediaType)
.post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
return dt;
}
@@ -1187,13 +1141,13 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target.queryParam("sessionid", lensSessionId).request(
mediaType).post(Entity.xml(cubeObjectFactory.createXDimension(dimension)), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// create
result = target.queryParam("sessionid", lensSessionId).request(
mediaType).post(Entity.xml(cubeObjectFactory.createXDimension(dimension2)), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
}
@Test
@@ -1306,7 +1260,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target.path("testdim")
.queryParam("sessionid", lensSessionId)
.request(mediaType).put(Entity.xml(cubeObjectFactory.createXDimension(testDim)), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
XDimension altered = target.path("testdim").queryParam("sessionid", lensSessionId).request(mediaType).get(
XDimension.class);
@@ -1327,7 +1281,7 @@ public class TestMetastoreService extends LensJerseyTest {
// drop the dimension
result = target.path("testdim")
.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Now get should give 404
try {
@@ -1369,11 +1323,11 @@ public class TestMetastoreService extends LensJerseyTest {
target().path("metastore/dimtables").path(table)
.queryParam("cascade", "true")
.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Drop again, should get 404 now
try {
- result = target().path("metastore/dimtables").path(table)
+ target().path("metastore/dimtables").path(table)
.queryParam("cascade", "true")
.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
fail("Should have got 404");
@@ -1428,7 +1382,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path(table)
.queryParam("sessionid", lensSessionId).request(mediaType)
.put(Entity.xml(cubeObjectFactory.createXDimensionTable(dt2)), APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
// Get the updated table
JAXBElement<XDimensionTable> dtElement2 = target().path("metastore/dimtables").path(table)
@@ -1465,7 +1419,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path(table)
.queryParam("sessionid", lensSessionId).request(mediaType)
.put(Entity.xml(cubeObjectFactory.createXDimensionTable(dt3)), APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
// Get the updated table
JAXBElement<XDimensionTable> dtElement4 = target().path("metastore/dimtables").path(table)
@@ -1495,7 +1449,7 @@ public class TestMetastoreService extends LensJerseyTest {
target().path("metastore/dimtables").path(table)
.queryParam("cascade", "true")
.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
} finally {
setCurrentDatabase(prevDb);
dropDatabase(DB);
@@ -1542,7 +1496,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target().path("metastore/dimtables").path(table).path("/storages")
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXStorageTableElement(sTbl)), APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
StringList storages = target().path("metastore").path("dimtables")
.path(table).path("storages")
@@ -1566,7 +1520,7 @@ public class TestMetastoreService extends LensJerseyTest {
result = target().path("metastore/dimtables/").path(table).path("storages").path("test")
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
storages = target().path("metastore").path("dimtables")
.path(table).path("storages")
@@ -1591,7 +1545,7 @@ public class TestMetastoreService extends LensJerseyTest {
result = target().path("metastore/dimtables").path(table).path("/storages")
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXStorageTableElement(sTbl)), APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
storages = target().path("metastore").path("dimtables")
.path(table).path("storages")
@@ -1632,12 +1586,12 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result = target().path("metastore/dimtables").path(table).path("/storages")
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXStorageTableElement(sTbl)), APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
result = target().path("metastore/dimtables/").path(table).path("storages")
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
JAXBElement<XDimensionTable> dt = target().path("metastore/dimtables").path(table)
@@ -1679,8 +1633,7 @@ public class TestMetastoreService extends LensJerseyTest {
f.getColumns().getColumn().add(c2);
- Map<String, String> properties = new HashMap<String, String>();
- properties.put("foo", "bar");
+ Map<String, String> properties = LensUtil.getHashMap("foo", "bar");
f.getProperties().getProperty().addAll(JAXBUtils.xPropertiesFromMap(properties));
return f;
}
@@ -1710,7 +1663,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path("facts")
.request(mediaType)
.post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Get all fact names, this should contain the fact table
StringList factNames = target().path("metastore/facts")
@@ -1748,11 +1701,11 @@ public class TestMetastoreService extends LensJerseyTest {
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
// Drop again, this time it should give a 404
try {
- result = target().path("metastore").path("facts").path(table)
+ target().path("metastore").path("facts").path(table)
.queryParam("cascade", "true")
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
@@ -1792,7 +1745,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path("facts")
.request(mediaType)
.post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Get the created table
JAXBElement<XFactTable> gotFactElement = target().path("metastore/facts").path(table)
@@ -1818,7 +1771,7 @@ public class TestMetastoreService extends LensJerseyTest {
result = target().path("metastore").path("facts").path(table)
.queryParam("sessionid", lensSessionId).request(mediaType)
.put(Entity.xml(cubeObjectFactory.createXFactTable(update)), APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
// Get the updated table
gotFactElement = target().path("metastore/facts").path(table)
@@ -1859,11 +1812,11 @@ public class TestMetastoreService extends LensJerseyTest {
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
// Drop again, this time it should give a 404
try {
- result = target().path("metastore").path("facts").path(table)
+ target().path("metastore").path("facts").path(table)
.queryParam("cascade", "true")
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
@@ -1903,7 +1856,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path("facts")
.request(mediaType)
.post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// Test get storages
StringList storageList = target().path("metastore/facts").path(table).path("storages")
@@ -1916,7 +1869,7 @@ public class TestMetastoreService extends LensJerseyTest {
result = target().path("metastore/facts").path(table).path("storages")
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXStorageTableElement(sTbl)), APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
// Get the fact storage
StringList got = target().path("metastore/facts").path(table).path("storages")
@@ -1941,10 +1894,9 @@ public class TestMetastoreService extends LensJerseyTest {
// Drop new storage
result = target().path("metastore/facts").path(table).path("storages").path("S3")
.queryParam("sessionid", lensSessionId).request(mediaType).delete(APIResult.class);
- assertEquals(result.getStatus(), Status.SUCCEEDED);
+ assertSuccess(result);
// Now S3 should not be available
- storageList = null;
storageList = target().path("metastore/facts").path(table).path("storages")
.queryParam("sessionid", lensSessionId).request(mediaType).get(StringList.class);
assertEquals(storageList.getElements().size(), 2);
@@ -1958,15 +1910,17 @@ public class TestMetastoreService extends LensJerseyTest {
private XPartition createPartition(String cubeTableName, Date partDate) {
return createPartition(cubeTableName, partDate, "dt");
}
+
private XTimePartSpecElement createTimePartSpecElement(Date partDate, String timeDimension) {
XTimePartSpecElement timePart = cubeObjectFactory.createXTimePartSpecElement();
timePart.setKey(timeDimension);
timePart.setValue(JAXBUtils.getXMLGregorianCalendar(HOURLY.truncate(partDate)));
return timePart;
}
+
private XPartition createPartition(String cubeTableName, Date partDate, final String timeDimension) {
- return createPartition(cubeTableName, Arrays.asList(createTimePartSpecElement(partDate, timeDimension)));
+ return createPartition(cubeTableName, Lists.newArrayList(createTimePartSpecElement(partDate, timeDimension)));
}
private XPartition createPartition(String cubeTableName, final List<XTimePartSpecElement> timePartSpecs) {
@@ -2007,9 +1961,7 @@ public class TestMetastoreService extends LensJerseyTest {
final XCube cube = createTestCube(cubeName);
APIResult result = target().path("metastore").path("cubes").queryParam("sessionid", lensSessionId)
.request(mediaType).post(Entity.xml(cubeObjectFactory.createXCube(cube)), APIResult.class);
- if (!result.getStatus().equals(APIResult.Status.SUCCEEDED)) {
- throw new RuntimeException("Setup failure: Cube Creation failed : " + result.getMessage());
- }
+ assertSuccess(result);
// Create two facts and fact storage tables with one of the facts
// not having one of the time dimensions in the partition
@@ -2049,9 +2001,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path("storages/" + storages[0] + "/partition")
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXPartition(xp)), APIResult.class);
- if (!partAddResult.getStatus().equals(APIResult.Status.SUCCEEDED)) {
- throw new RuntimeException("Setup failure: Partition Creation failed : " + partAddResult.getMessage());
- }
+ assertSuccess(partAddResult);
// End: Setup
@@ -2106,7 +2056,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path("facts")
.request(mediaType)
.post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
APIResult partAddResult;
// Add null partition
@@ -2131,7 +2081,7 @@ public class TestMetastoreService extends LensJerseyTest {
partAddResult = target().path("metastore/facts/").path(table).path("storages/S2/partition")
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXPartition(xp)), APIResult.class);
- assertEquals(partAddResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(partAddResult);
// add same should fail
partAddResult = target().path("metastore/facts/").path(table).path("storages/S2/partition")
@@ -2143,7 +2093,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult partUpdateResult = target().path("metastore/facts/").path(table).path("storages/S2/partition")
.queryParam("sessionid", lensSessionId).request(mediaType)
.put(Entity.xml(cubeObjectFactory.createXPartition(xp)), APIResult.class);
- assertEquals(partUpdateResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(partUpdateResult);
JAXBElement<XPartitionList> partitionsElement = target().path("metastore/facts").path(table)
.path("storages/S2/partitions")
@@ -2161,7 +2111,7 @@ public class TestMetastoreService extends LensJerseyTest {
XTimePartSpecElement timePartSpec = readPartition.getTimePartitionSpec().getPartSpecElement().iterator().next();
XPartSpecElement fullPartSpec = readPartition.getFullPartitionSpec().getPartSpecElement().iterator().next();
assertEquals(timePartSpec.getKey(), fullPartSpec.getKey());
- assertEquals(UpdatePeriod.valueOf(xp.getUpdatePeriod().name()).format().format(JAXBUtils.getDateFromXML(
+ assertEquals(UpdatePeriod.valueOf(xp.getUpdatePeriod().name()).format(JAXBUtils.getDateFromXML(
timePartSpec.getValue())), fullPartSpec.getValue());
DateTime date =
target().path("metastore/cubes").path("testCube").path("latestdate").queryParam("timeDimension", "dt")
@@ -2185,7 +2135,7 @@ public class TestMetastoreService extends LensJerseyTest {
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
- assertEquals(dropResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(dropResult);
// Verify partition was dropped
partitionsElement = target().path("metastore/facts").path(table).path("storages/S2/partitions")
@@ -2227,7 +2177,7 @@ public class TestMetastoreService extends LensJerseyTest {
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXPartitionList(toXPartitionList(xp))),
APIResult.class);
- assertEquals(partAddResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(partAddResult);
// Verify partition was added
partitionsElement = target().path("metastore/facts").path(table).path("storages/S2/partitions")
@@ -2239,12 +2189,12 @@ public class TestMetastoreService extends LensJerseyTest {
assertEquals(partitions.getPartition().size(), 1);
// Drop again by values
- String[] val = new String[]{HOURLY.format().format(partDate)};
+ String[] val = new String[]{HOURLY.format(partDate)};
dropResult = target().path("metastore/facts").path(table).path("storages/S2/partition")
.queryParam("values", StringUtils.join(val, ","))
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
- assertEquals(dropResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(dropResult);
// Verify partition was dropped
partitionsElement = target().path("metastore/facts").path(table).path("storages/S2/partitions")
@@ -2286,7 +2236,7 @@ public class TestMetastoreService extends LensJerseyTest {
partAddResult = target().path("metastore/dimtables/").path(table).path("storages/test/partition")
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXPartition(xp)), APIResult.class);
- assertEquals(partAddResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(partAddResult);
// create call for same
partAddResult = target().path("metastore/dimtables/").path(table).path("storages/test/partition")
@@ -2299,7 +2249,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult partUpdateResult = target().path("metastore/dimtables/").path(table).path("storages/test/partition")
.queryParam("sessionid", lensSessionId).request(mediaType)
.put(Entity.xml(cubeObjectFactory.createXPartition(xp)), APIResult.class);
- assertEquals(partUpdateResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(partUpdateResult);
JAXBElement<XPartitionList> partitionsElement = target().path("metastore/dimtables").path(table)
.path("storages/test/partitions")
@@ -2332,7 +2282,7 @@ public class TestMetastoreService extends LensJerseyTest {
XTimePartSpecElement timePartSpec = postedPartition.getTimePartitionSpec().getPartSpecElement().iterator().next();
XPartSpecElement fullPartSpec = postedPartition.getFullPartitionSpec().getPartSpecElement().iterator().next();
assertEquals(timePartSpec.getKey(), fullPartSpec.getKey());
- assertEquals(UpdatePeriod.valueOf(xp.getUpdatePeriod().name()).format().format(JAXBUtils.getDateFromXML(
+ assertEquals(UpdatePeriod.valueOf(xp.getUpdatePeriod().name()).format(JAXBUtils.getDateFromXML(
timePartSpec.getValue())), fullPartSpec.getValue());
assertNull(latestPartition.getTimePartitionSpec());
@@ -2355,7 +2305,7 @@ public class TestMetastoreService extends LensJerseyTest {
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
- assertEquals(dropResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(dropResult);
// Verify partition was dropped
partitionsElement = target().path("metastore/dimtables").path(table).path("storages/test/partitions")
@@ -2389,7 +2339,7 @@ public class TestMetastoreService extends LensJerseyTest {
.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXPartitionList(toXPartitionList(xp))),
APIResult.class);
- assertEquals(partAddResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(partAddResult);
// Verify partition was added
partitionsElement = target().path("metastore/dimtables").path(table).path("storages/test/partitions")
@@ -2401,18 +2351,39 @@ public class TestMetastoreService extends LensJerseyTest {
assertEquals(partitions.getPartition().size(), 2);
// Drop again by values
- String[] val = new String[]{HOURLY.format().format(partDate)};
+ String[] val = new String[]{HOURLY.format(partDate)};
dropResult = target().path("metastore/dimtables").path(table).path("storages/test/partition")
.queryParam("values", StringUtils.join(val, ","))
.queryParam("sessionid", lensSessionId).request(mediaType)
.delete(APIResult.class);
- assertEquals(dropResult.getStatus(), Status.SUCCEEDED);
+ assertSuccess(dropResult);
// Verify partition was dropped
partitionsElement = target().path("metastore/dimtables").path(table).path("storages/test/partitions")
.queryParam("sessionid", lensSessionId).request(mediaType)
.get(new GenericType<JAXBElement<XPartitionList>>() {});
+ partitions = partitionsElement.getValue();
+ assertNotNull(partitions);
+ assertEquals(partitions.getPartition().size(), 0);
+
+ // add again, this time we'll drop by filter
+ partAddResult = target().path("metastore/dimtables/").path(table).path("storages/test/partitions")
+ .queryParam("sessionid", lensSessionId).request(mediaType)
+ .post(Entity.xml(cubeObjectFactory.createXPartitionList(toXPartitionList(xp))),
+ APIResult.class);
+ assertSuccess(partAddResult);
+ // drop by filter
+ dropResult = target().path("metastore/dimtables").path(table).path("storages/test/partitions")
+ .queryParam("filter", "dt='" + HOURLY.format(partDate) + "'")
+ .queryParam("sessionid", lensSessionId).request(mediaType)
+ .delete(APIResult.class);
+ assertSuccess(dropResult);
+
+ // Verify partition was dropped
+ partitionsElement = target().path("metastore/dimtables").path(table).path("storages/test/partitions")
+ .queryParam("sessionid", lensSessionId).request(mediaType)
+ .get(new GenericType<JAXBElement<XPartitionList>>() {});
partitions = partitionsElement.getValue();
assertNotNull(partitions);
assertEquals(partitions.getPartition().size(), 0);
@@ -2507,7 +2478,7 @@ public class TestMetastoreService extends LensJerseyTest {
APIResult result =
target().path("metastore").path("cubes").queryParam("sessionid",
lensSessionId).request(mediaType).post(Entity.xml(element), APIResult.class);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// get a cube table
Response response = target.path("testhiveCube").queryParam(
@@ -2567,14 +2538,14 @@ public class TestMetastoreService extends LensJerseyTest {
cubeTarget.queryParam("sessionid", lensSessionId).request(mediaType)
.post(Entity.xml(cubeObjectFactory.createXCube(flatTestCube)), APIResult.class);
assertNotNull(result);
- assertEquals(result.getStatus(), APIResult.Status.SUCCEEDED);
+ assertSuccess(result);
// create chained dimensions - testdim and testdim2
createdChainedDimensions();
// Now test flattened view
final WebTarget flatCubeTarget = target().path("metastore").path("flattened").path("flattestcube");
- XFlattenedColumns flattenedColumns = null;
+ XFlattenedColumns flattenedColumns;
JAXBElement<XFlattenedColumns> actualElement = flatCubeTarget.queryParam("sessionid", lensSessionId).request()
.get(new GenericType<JAXBElement<XFlattenedColumns>>() {});
flattenedColumns = actualElement.getValue();
@@ -2584,12 +2555,12 @@ public class TestMetastoreService extends LensJerseyTest {
assertNotNull(columns);
assertTrue(!columns.isEmpty());
- Set<String> tables = new HashSet<String>();
- Set<String> colSet = new HashSet<String>();
+ Set<String> tables = new HashSet<>();
+ Set<String> colSet = new HashSet<>();
populateActualTablesAndCols(columns, tables, colSet);
- assertEquals(tables, new HashSet<String>(Arrays.asList("flattestcube", "testdim", "testdim2")));
- assertEquals(colSet, new HashSet<String>(Arrays.asList(
+ assertEquals(tables, Sets.newHashSet("flattestcube", "testdim", "testdim2"));
+ assertEquals(colSet, Sets.newHashSet(
"flattestcube.msr1",
"flattestcube.msr2",
"flattestcube.dim1",
@@ -2607,7 +2578,7 @@ public class TestMetastoreService extends LensJerseyTest {
"dim2chain-testdim2.col2",
"dim2chain-testdim2.col1",
"dim2chain-testdim2.dimexpr"
- )));
+ ));
// Now test flattened view for dimension
final WebTarget flatDimTarget = target().path("metastore").path("flattened").path("testdim");
@@ -2620,12 +2591,12 @@ public class TestMetastoreService extends LensJerseyTest {
assertNotNull(columns);
assertTrue(!columns.isEmpty());
- tables = new HashSet<String>();
- colSet = new HashSet<String>();
+ tables = new HashSet<>();
+ colSet = new HashSet<>();
populateActualTablesAndCols(columns, tables, colSet);
- assertEquals(tables, new HashSet<String>(Arrays.asList("testdim", "testdim2")));
- assertEquals(colSet, new HashSet<String>(Arrays.asList(
+ assertEquals(tables, Sets.newHashSet("testdim", "testdim2"));
+ assertEquals(colSet, Sets.newHashSet(
"testdim.col2",
"testdim.col1",
"testdim.col3",
@@ -2635,7 +2606,7 @@ public class TestMetastoreService extends LensJerseyTest {
"chain1-testdim2.col2",
"chain1-testdim2.col1",
"chain1-testdim2.dimexpr"
- )));
+ ));
} finally {
dropDatabase(DB);
@@ -2649,8 +2620,10 @@ public class TestMetastoreService extends LensJerseyTest {
// Create a fact table object linked to cubeName
XFactTable f = createFactTable(tableName, cubeName);
// Create a storage tables
- f.getStorageTables().getStorageTable().add(createStorageTblElement("S1", tableName, timePartColNames, "HOURLY"));
-
+ for(String storage: storages) {
+ f.getStorageTables().getStorageTable()
+ .add(createStorageTblElement(storage, tableName, timePartColNames, "HOURLY"));
+ }
// Call API to create a fact table and storage table
final FormDataMultiPart mp = new FormDataMultiPart();
@@ -2664,9 +2637,7 @@ public class TestMetastoreService extends LensJerseyTest {
.path("facts")
.request(mediaType)
.post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), APIResult.class);
- if (!result.getStatus().equals(APIResult.Status.SUCCEEDED)) {
- throw new RuntimeException("Fact/Storage Table Creation failed");
- }
+ assertSuccess(result);
}
private String getUniqueDbName() {