@Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((getType() == null) ? 0 : getType().toLowerCase().hashCode()); if (numOfDistinctValues.isPresent()) { result = prime * result + numOfDistinctValues.get().hashCode(); } if (values.isPresent()) { result = prime * result + values.get().hashCode(); } return result; }
@Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((getType() == null) ? 0 : getType().toLowerCase().hashCode()); if (numOfDistinctValues.isPresent()) { result = prime * result + numOfDistinctValues.get().hashCode(); } if (values.isPresent()) { result = prime * result + values.get().hashCode(); } return result; }
@Override public boolean equals(Object obj) { if (!super.equals(obj)) { return false; } BaseDimAttribute other = (BaseDimAttribute) obj; if (this.getType() == null) { if (other.getType() != null) { return false; } } else if (!this.getType().equalsIgnoreCase(other.getType())) { return false; } else if (!this.numOfDistinctValues.equals(other.numOfDistinctValues)) { return false; } else if (!this.getValues().equals(other.getValues())) { return false; } return true; } }
@Override public boolean equals(Object obj) { if (!super.equals(obj)) { return false; } BaseDimAttribute other = (BaseDimAttribute) obj; if (this.getType() == null) { if (other.getType() != null) { return false; } } else if (!this.getType().equalsIgnoreCase(other.getType())) { return false; } else if (!this.numOfDistinctValues.equals(other.numOfDistinctValues)) { return false; } else if (!this.getValues().equals(other.getValues())) { return false; } return true; } }
@Test(priority = 2) public void testAlterDerivedCube() throws Exception { String name = "alter_derived_cube"; client.createDerivedCube(CUBE_NAME, name, measures, dimensions, emptyHashMap, 0L); // Test alter cube Table cubeTbl = client.getHiveTable(name); DerivedCube toAlter = new DerivedCube(cubeTbl, (Cube) client.getCube(CUBE_NAME)); toAlter.addMeasure("msr4"); toAlter.removeMeasure("msr3"); toAlter.addDimension("dim1StartTime"); toAlter.removeDimension("dim1"); assertNotNull(toAlter.getMeasureByName("msr4")); assertNotNull(toAlter.getMeasureByName("msr2")); assertNull(toAlter.getMeasureByName("msr3")); assertNotNull(toAlter.getDimAttributeByName("dim1StartTime")); assertNotNull(toAlter.getDimAttributeByName("dim2")); assertNull(toAlter.getDimAttributeByName("dim1")); client.alterCube(name, toAlter); DerivedCube altered = (DerivedCube) client.getCube(name); assertEquals(toAlter, altered); assertNotNull(altered.getMeasureByName("msr4")); CubeMeasure addedMsr = altered.getMeasureByName("msr4"); assertEquals(addedMsr.getType(), "bigint"); assertNotNull(altered.getDimAttributeByName("dim1StartTime")); BaseDimAttribute addedDim = (BaseDimAttribute) altered.getDimAttributeByName("dim1StartTime"); assertEquals(addedDim.getType(), "string"); assertNotNull(addedDim.getStartTime()); client.dropCube(name); assertFalse(client.tableExists(name)); }
xd.setType(bd.getType()); Optional<Long> numOfDistinctValues = bd.getNumOfDistinctValues(); if (numOfDistinctValues.isPresent()) {
xd.setType(bd.getType()); Optional<Long> numOfDistinctValues = bd.getNumOfDistinctValues(); if (numOfDistinctValues.isPresent()) {
assertEquals(hcube.getDimAttributeByName("testdim2col2").getDisplayString(), "Chained Dimension"); assertEquals(hcube.getDimAttributeByName("testdim2col2").getDescription(), "ref chained dimension"); assertEquals(((BaseDimAttribute) hcube.getDimAttributeByName("dim4")).getType(), "struct<a:int,b:array<string>,c:map<int,array<struct<x:int,y:array<int>>>"); ReferencedDimAttribute testdim2col2 = (ReferencedDimAttribute) hcube.getDimAttributeByName("testdim2col2");
assertEquals(col3.getDescription(), "inline column"); assertEquals(col3.getDisplayString(), "Column3"); assertEquals(col3.getType(), "string"); assertEquals(col3.getValues().get().get(0), "Val1"); assertEquals(col3.getValues().get().get(1), "Val2"); BaseDimAttribute col4h1 = (BaseDimAttribute) col4.getHierarchy().get(0); assertEquals(col4h1.getName(), "col4-h1"); assertEquals(col4h1.getType(), "string"); assertEquals(col4h1.getDescription(), "inline column"); assertEquals(col4h1.getDisplayString(), "Column4-h1"); BaseDimAttribute col4h2 = (BaseDimAttribute) col4.getHierarchy().get(1); assertEquals(col4h2.getName(), "col4-h2"); assertEquals(col4h2.getType(), "string"); assertEquals(col4h2.getDescription(), "base column"); assertEquals(col4h2.getDisplayString(), "Column4-h2");
assertNotNull(altered.getDimAttributeByName("testAddDim1")); BaseDimAttribute addedDim = (BaseDimAttribute) altered.getDimAttributeByName("testAddDim1"); assertEquals(addedDim.getType(), "string"); assertEquals(addedDim.getDescription(), "dim to add"); assertTrue(altered.getTimedDimensions().contains("zt"));