http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/LegacyUserService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/LegacyUserService.java b/server-base/src/main/java/org/apache/kylin/rest/service/LegacyUserService.java index d98fc33..b8f3700 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/LegacyUserService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/LegacyUserService.java @@ -58,8 +58,7 @@ public class LegacyUserService implements UserDetailsManager { public static final String PWD_PREFIX = "PWD:"; - private Serializer<UserGrantedAuthority[]> ugaSerializer = new Serializer<UserGrantedAuthority[]>( - UserGrantedAuthority[].class); + private Serializer<UserGrantedAuthority[]> ugaSerializer = new Serializer<UserGrantedAuthority[]>(UserGrantedAuthority[].class); private String userTableName = null; @@ -99,8 +98,7 @@ public class LegacyUserService implements UserDetailsManager { String username = Bytes.toString(result.getRow()); - byte[] valueBytes = result.getValue(Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_FAMILY), - Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_COLUMN)); + byte[] valueBytes = result.getValue(Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_FAMILY), Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_COLUMN)); UserGrantedAuthority[] deserialized = ugaSerializer.deserialize(valueBytes); String password = ""; @@ -153,8 +151,7 @@ public class LegacyUserService implements UserDetailsManager { Pair<byte[], byte[]> pair = userToHBaseRow(user); Put put = new Put(pair.getKey()); - put.addColumn(Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_FAMILY), - Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_COLUMN), pair.getSecond()); + put.addColumn(Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_FAMILY), Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_COLUMN), pair.getSecond()); htable.put(put); } catch (IOException e) { @@ -215,8 +212,7 @@ public class LegacyUserService implements UserDetailsManager { public List<UserDetails> listUsers() { Scan s = new Scan(); - s.addColumn(Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_FAMILY), - Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_COLUMN)); + s.addColumn(Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_FAMILY), Bytes.toBytes(AclHBaseStorage.USER_AUTHORITY_COLUMN)); List<UserDetails> all = new ArrayList<UserDetails>(); Table htable = null;
http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java index 45774e3..701717d 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/ModelService.java @@ -84,8 +84,7 @@ public class ModelService extends BasicService { List<DataModelDesc> filterModels = new ArrayList<DataModelDesc>(); for (DataModelDesc modelDesc : models) { - boolean isModelMatch = (null == modelName) || modelName.length() == 0 - || modelDesc.getName().toLowerCase().equals(modelName.toLowerCase()); + boolean isModelMatch = (null == modelName) || modelName.length() == 0 || modelDesc.getName().toLowerCase().equals(modelName.toLowerCase()); if (isModelMatch) { filterModels.add(modelDesc); @@ -95,8 +94,7 @@ public class ModelService extends BasicService { return filterModels; } - public List<DataModelDesc> getModels(final String modelName, final String projectName, final Integer limit, - final Integer offset) throws IOException { + public List<DataModelDesc> getModels(final String modelName, final String projectName, final Integer limit, final Integer offset) throws IOException { List<DataModelDesc> modelDescs = listAllModels(modelName, projectName); @@ -129,16 +127,14 @@ public class ModelService extends BasicService { return createdDesc; } - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") public DataModelDesc updateModelAndDesc(DataModelDesc desc) throws IOException { getMetadataManager().updateDataModelDesc(desc); return desc; } - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") public void dropModel(DataModelDesc desc) throws IOException { Message msg = MsgPicker.getMsg(); @@ -155,24 +151,21 @@ public class ModelService extends BasicService { accessService.clean(desc, true); } - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") public boolean isTableInAnyModel(String tableName) { String[] dbTableName = HadoopUtil.parseHiveTableName(tableName); tableName = dbTableName[0] + "." + dbTableName[1]; return getMetadataManager().isTableInAnyModel(tableName); } - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") public boolean isTableInModel(String tableName, String projectName) throws IOException { String[] dbTableName = HadoopUtil.parseHiveTableName(tableName); tableName = dbTableName[0] + "." + dbTableName[1]; return getMetadataManager().isTableInModel(tableName, projectName); } - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#desc, 'ADMINISTRATION') or hasPermission(#desc, 'MANAGEMENT')") public List<String> getModelsUsingTable(String tableName, String projectName) throws IOException { String[] dbTableName = HadoopUtil.parseHiveTableName(tableName); tableName = dbTableName[0] + "." + dbTableName[1]; @@ -349,8 +342,7 @@ public class ModelService extends BasicService { return youngerSelf; } - public DataModelDesc updateModelToResourceStore(DataModelDesc modelDesc, String projectName, boolean createNew, - boolean isDraft) throws IOException { + public DataModelDesc updateModelToResourceStore(DataModelDesc modelDesc, String projectName, boolean createNew, boolean isDraft) throws IOException { Message msg = MsgPicker.getMsg(); if (createNew) { http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/ProjectService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/ProjectService.java b/server-base/src/main/java/org/apache/kylin/rest/service/ProjectService.java index e2bf821..d4dd220 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/ProjectService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/ProjectService.java @@ -77,24 +77,20 @@ public class ProjectService extends BasicService { throw new BadRequestException(String.format(msg.getPROJECT_ALREADY_EXIST(), projectName)); } String owner = SecurityContextHolder.getContext().getAuthentication().getName(); - ProjectInstance createdProject = getProjectManager().createProject(projectName, owner, description, - overrideProps); + ProjectInstance createdProject = getProjectManager().createProject(projectName, owner, description, overrideProps); accessService.init(createdProject, AclPermission.ADMINISTRATION); logger.debug("New project created."); return createdProject; } - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#currentProject, 'ADMINISTRATION') or hasPermission(#currentProject, 'MANAGEMENT')") - public ProjectInstance updateProject(ProjectInstance newProject, ProjectInstance currentProject) - throws IOException { + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#currentProject, 'ADMINISTRATION') or hasPermission(#currentProject, 'MANAGEMENT')") + public ProjectInstance updateProject(ProjectInstance newProject, ProjectInstance currentProject) throws IOException { String newProjectName = newProject.getName(); String newDescription = newProject.getDescription(); LinkedHashMap<String, String> overrideProps = newProject.getOverrideKylinProps(); - ProjectInstance updatedProject = getProjectManager().updateProject(currentProject, newProjectName, - newDescription, overrideProps); + ProjectInstance updatedProject = getProjectManager().updateProject(currentProject, newProjectName, newDescription, overrideProps); logger.debug("Project updated."); @@ -125,8 +121,7 @@ public class ProjectService extends BasicService { return projects.subList(coffset, coffset + climit); } - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#project, 'ADMINISTRATION') or hasPermission(#project, 'MANAGEMENT')") + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#project, 'ADMINISTRATION') or hasPermission(#project, 'MANAGEMENT')") public void deleteProject(String projectName, ProjectInstance project) throws IOException { getProjectManager().dropProject(projectName); @@ -203,5 +198,5 @@ public class ProjectService extends BasicService { } return readableProjects; - } +} } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java index c4757fb..33fb614 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/QueryService.java @@ -243,8 +243,7 @@ public class QueryService extends BasicService { Get get = new Get(Bytes.toBytes(creator)); get.addFamily(Bytes.toBytes(USER_QUERY_FAMILY)); Result result = htable.get(get); - Query[] query = querySerializer - .deserialize(result.getValue(Bytes.toBytes(USER_QUERY_FAMILY), Bytes.toBytes(USER_QUERY_COLUMN))); + Query[] query = querySerializer.deserialize(result.getValue(Bytes.toBytes(USER_QUERY_FAMILY), Bytes.toBytes(USER_QUERY_COLUMN))); if (null != query) { queries.addAll(Arrays.asList(query)); @@ -319,16 +318,14 @@ public class QueryService extends BasicService { return; } } catch (AccessDeniedException e) { - logger.warn( - "Current user {} has no READ permission on current project {}, please ask Administrator for permission granting."); + logger.warn("Current user {} has no READ permission on current project {}, please ask Administrator for permission granting."); //just continue } String realizationsStr = sqlResponse.getCube();//CUBE[name=abc],HYBRID[name=xyz] if (StringUtils.isEmpty(realizationsStr)) { - throw new AccessDeniedException( - "Ad-hoc query requires having READ permission on project, please ask Administrator to grant you permissions"); + throw new AccessDeniedException("Ad-hoc query requires having READ permission on project, please ask Administrator to grant you permissions"); } String[] splits = StringUtils.split(realizationsStr, ","); @@ -373,8 +370,7 @@ public class QueryService extends BasicService { KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv(); String serverMode = kylinConfig.getServerMode(); - if (!(Constant.SERVER_MODE_QUERY.equals(serverMode.toLowerCase()) - || Constant.SERVER_MODE_ALL.equals(serverMode.toLowerCase()))) { + if (!(Constant.SERVER_MODE_QUERY.equals(serverMode.toLowerCase()) || Constant.SERVER_MODE_ALL.equals(serverMode.toLowerCase()))) { throw new BadRequestException(String.format(msg.getQUERY_NOT_ALLOWED(), serverMode)); } if (StringUtils.isBlank(sqlRequest.getProject())) { @@ -400,8 +396,7 @@ public class QueryService extends BasicService { long startTime = System.currentTimeMillis(); SQLResponse sqlResponse = null; - boolean queryCacheEnabled = checkCondition(kylinConfig.isQueryCacheEnabled(), - "query cache disabled in KylinConfig") && // + boolean queryCacheEnabled = checkCondition(kylinConfig.isQueryCacheEnabled(), "query cache disabled in KylinConfig") && // checkCondition(!BackdoorToggles.getDisableCache(), "query cache disabled in BackdoorToggles"); if (queryCacheEnabled) { @@ -417,20 +412,12 @@ public class QueryService extends BasicService { long scanBytesThreshold = kylinConfig.getQueryScanBytesCacheThreshold(); sqlResponse.setDuration(System.currentTimeMillis() - startTime); logger.info("Stats of SQL response: isException: {}, duration: {}, total scan count {}", // - String.valueOf(sqlResponse.getIsException()), String.valueOf(sqlResponse.getDuration()), - String.valueOf(sqlResponse.getTotalScanCount())); + String.valueOf(sqlResponse.getIsException()), String.valueOf(sqlResponse.getDuration()), String.valueOf(sqlResponse.getTotalScanCount())); if (checkCondition(queryCacheEnabled, "query cache is disabled") // && checkCondition(!sqlResponse.getIsException(), "query has exception") // - && checkCondition( - sqlResponse.getDuration() > durationThreshold - || sqlResponse.getTotalScanCount() > scanCountThreshold - || sqlResponse.getTotalScanBytes() > scanBytesThreshold, // - "query is too lightweight with duration: {} (threshold {}), scan count: {} (threshold {}), scan bytes: {} (threshold {})", - sqlResponse.getDuration(), durationThreshold, sqlResponse.getTotalScanCount(), - scanCountThreshold, sqlResponse.getTotalScanBytes(), scanBytesThreshold) - && checkCondition(sqlResponse.getResults().size() < kylinConfig.getLargeQueryThreshold(), - "query response is too large: {} ({})", sqlResponse.getResults().size(), - kylinConfig.getLargeQueryThreshold())) { + && checkCondition(sqlResponse.getDuration() > durationThreshold || sqlResponse.getTotalScanCount() > scanCountThreshold || sqlResponse.getTotalScanBytes() > scanBytesThreshold, // + "query is too lightweight with duration: {} (threshold {}), scan count: {} (threshold {}), scan bytes: {} (threshold {})", sqlResponse.getDuration(), durationThreshold, sqlResponse.getTotalScanCount(), scanCountThreshold, sqlResponse.getTotalScanBytes(), scanBytesThreshold) + && checkCondition(sqlResponse.getResults().size() < kylinConfig.getLargeQueryThreshold(), "query response is too large: {} ({})", sqlResponse.getResults().size(), kylinConfig.getLargeQueryThreshold())) { cacheManager.getCache(SUCCESS_QUERY_CACHE).put(new Element(sqlRequest, sqlResponse)); } @@ -450,8 +437,7 @@ public class QueryService extends BasicService { sqlResponse.setTotalScanCount(queryContext.getScannedRows()); sqlResponse.setTotalScanBytes(queryContext.getScannedBytes()); - if (queryCacheEnabled && e.getCause() != null - && e.getCause() instanceof ResourceLimitExceededException) { + if (queryCacheEnabled && e.getCause() != null && e.getCause() instanceof ResourceLimitExceededException) { Cache exceptionCache = cacheManager.getCache(EXCEPTION_QUERY_CACHE); exceptionCache.put(new Element(sqlRequest, sqlResponse)); } @@ -500,8 +486,7 @@ public class QueryService extends BasicService { private SQLResponse queryWithSqlMassage(SQLRequest sqlRequest) throws Exception { String userInfo = SecurityContextHolder.getContext().getAuthentication().getName(); - final Collection<? extends GrantedAuthority> grantedAuthorities = SecurityContextHolder.getContext() - .getAuthentication().getAuthorities(); + final Collection<? extends GrantedAuthority> grantedAuthorities = SecurityContextHolder.getContext().getAuthentication().getAuthorities(); for (GrantedAuthority grantedAuthority : grantedAuthorities) { userInfo += ","; userInfo += grantedAuthority.getAuthority(); @@ -556,12 +541,9 @@ public class QueryService extends BasicService { String schemaName = JDBCTableMeta.getString(2); // Not every JDBC data provider offers full 10 columns, e.g., PostgreSQL has only 5 - TableMeta tblMeta = new TableMeta(catalogName == null ? Constant.FakeCatalogName : catalogName, - schemaName == null ? Constant.FakeSchemaName : schemaName, JDBCTableMeta.getString(3), - JDBCTableMeta.getString(4), JDBCTableMeta.getString(5), null, null, null, null, null); + TableMeta tblMeta = new TableMeta(catalogName == null ? Constant.FakeCatalogName : catalogName, schemaName == null ? Constant.FakeSchemaName : schemaName, JDBCTableMeta.getString(3), JDBCTableMeta.getString(4), JDBCTableMeta.getString(5), null, null, null, null, null); - if (!cubedOnly - || getProjectManager().isExposedTable(project, schemaName + "." + tblMeta.getTABLE_NAME())) { + if (!cubedOnly || getProjectManager().isExposedTable(project, schemaName + "." + tblMeta.getTABLE_NAME())) { tableMetas.add(tblMeta); tableMap.put(tblMeta.getTABLE_SCHEM() + "#" + tblMeta.getTABLE_NAME(), tblMeta); } @@ -574,18 +556,9 @@ public class QueryService extends BasicService { String schemaName = columnMeta.getString(2); // kylin(optiq) is not strictly following JDBC specification - ColumnMeta colmnMeta = new ColumnMeta(catalogName == null ? Constant.FakeCatalogName : catalogName, - schemaName == null ? Constant.FakeSchemaName : schemaName, columnMeta.getString(3), - columnMeta.getString(4), columnMeta.getInt(5), columnMeta.getString(6), columnMeta.getInt(7), - getInt(columnMeta.getString(8)), columnMeta.getInt(9), columnMeta.getInt(10), - columnMeta.getInt(11), columnMeta.getString(12), columnMeta.getString(13), - getInt(columnMeta.getString(14)), getInt(columnMeta.getString(15)), columnMeta.getInt(16), - columnMeta.getInt(17), columnMeta.getString(18), columnMeta.getString(19), - columnMeta.getString(20), columnMeta.getString(21), getShort(columnMeta.getString(22)), - columnMeta.getString(23)); - - if (!cubedOnly || getProjectManager().isExposedColumn(project, - schemaName + "." + colmnMeta.getTABLE_NAME(), colmnMeta.getCOLUMN_NAME())) { + ColumnMeta colmnMeta = new ColumnMeta(catalogName == null ? Constant.FakeCatalogName : catalogName, schemaName == null ? Constant.FakeSchemaName : schemaName, columnMeta.getString(3), columnMeta.getString(4), columnMeta.getInt(5), columnMeta.getString(6), columnMeta.getInt(7), getInt(columnMeta.getString(8)), columnMeta.getInt(9), columnMeta.getInt(10), columnMeta.getInt(11), columnMeta.getString(12), columnMeta.getString(13), getInt(columnMeta.getString(14)), getInt(columnMeta.getString(15)), columnMeta.getInt(16), columnMeta.getInt(17), columnMeta.getString(18), columnMeta.getString(19), columnMeta.getString(20), columnMeta.getString(21), getShort(columnMeta.getString(22)), columnMeta.getString(23)); + + if (!cubedOnly || getProjectManager().isExposedColumn(project, schemaName + "." + colmnMeta.getTABLE_NAME(), colmnMeta.getCOLUMN_NAME())) { tableMap.get(colmnMeta.getTABLE_SCHEM() + "#" + colmnMeta.getTABLE_NAME()).addColumn(colmnMeta); } } @@ -604,8 +577,7 @@ public class QueryService extends BasicService { return getMetadataV2(getCubeManager(), project, true); } - protected List<TableMetaWithType> getMetadataV2(CubeManager cubeMgr, String project, boolean cubedOnly) - throws SQLException, IOException { + protected List<TableMetaWithType> getMetadataV2(CubeManager cubeMgr, String project, boolean cubedOnly) throws SQLException, IOException { //Message msg = MsgPicker.getMsg(); Connection conn = null; @@ -632,13 +604,9 @@ public class QueryService extends BasicService { String schemaName = JDBCTableMeta.getString(2); // Not every JDBC data provider offers full 10 columns, e.g., PostgreSQL has only 5 - TableMetaWithType tblMeta = new TableMetaWithType( - catalogName == null ? Constant.FakeCatalogName : catalogName, - schemaName == null ? Constant.FakeSchemaName : schemaName, JDBCTableMeta.getString(3), - JDBCTableMeta.getString(4), JDBCTableMeta.getString(5), null, null, null, null, null); + TableMetaWithType tblMeta = new TableMetaWithType(catalogName == null ? Constant.FakeCatalogName : catalogName, schemaName == null ? Constant.FakeSchemaName : schemaName, JDBCTableMeta.getString(3), JDBCTableMeta.getString(4), JDBCTableMeta.getString(5), null, null, null, null, null); - if (!cubedOnly - || getProjectManager().isExposedTable(project, schemaName + "." + tblMeta.getTABLE_NAME())) { + if (!cubedOnly || getProjectManager().isExposedTable(project, schemaName + "." + tblMeta.getTABLE_NAME())) { tableMetas.add(tblMeta); tableMap.put(tblMeta.getTABLE_SCHEM() + "#" + tblMeta.getTABLE_NAME(), tblMeta); } @@ -651,22 +619,11 @@ public class QueryService extends BasicService { String schemaName = columnMeta.getString(2); // kylin(optiq) is not strictly following JDBC specification - ColumnMetaWithType colmnMeta = new ColumnMetaWithType( - catalogName == null ? Constant.FakeCatalogName : catalogName, - schemaName == null ? Constant.FakeSchemaName : schemaName, columnMeta.getString(3), - columnMeta.getString(4), columnMeta.getInt(5), columnMeta.getString(6), columnMeta.getInt(7), - getInt(columnMeta.getString(8)), columnMeta.getInt(9), columnMeta.getInt(10), - columnMeta.getInt(11), columnMeta.getString(12), columnMeta.getString(13), - getInt(columnMeta.getString(14)), getInt(columnMeta.getString(15)), columnMeta.getInt(16), - columnMeta.getInt(17), columnMeta.getString(18), columnMeta.getString(19), - columnMeta.getString(20), columnMeta.getString(21), getShort(columnMeta.getString(22)), - columnMeta.getString(23)); - - if (!cubedOnly || getProjectManager().isExposedColumn(project, - schemaName + "." + colmnMeta.getTABLE_NAME(), colmnMeta.getCOLUMN_NAME())) { + ColumnMetaWithType colmnMeta = new ColumnMetaWithType(catalogName == null ? Constant.FakeCatalogName : catalogName, schemaName == null ? Constant.FakeSchemaName : schemaName, columnMeta.getString(3), columnMeta.getString(4), columnMeta.getInt(5), columnMeta.getString(6), columnMeta.getInt(7), getInt(columnMeta.getString(8)), columnMeta.getInt(9), columnMeta.getInt(10), columnMeta.getInt(11), columnMeta.getString(12), columnMeta.getString(13), getInt(columnMeta.getString(14)), getInt(columnMeta.getString(15)), columnMeta.getInt(16), columnMeta.getInt(17), columnMeta.getString(18), columnMeta.getString(19), columnMeta.getString(20), columnMeta.getString(21), getShort(columnMeta.getString(22)), columnMeta.getString(23)); + + if (!cubedOnly || getProjectManager().isExposedColumn(project, schemaName + "." + colmnMeta.getTABLE_NAME(), colmnMeta.getCOLUMN_NAME())) { tableMap.get(colmnMeta.getTABLE_SCHEM() + "#" + colmnMeta.getTABLE_NAME()).addColumn(colmnMeta); - columnMap.put(colmnMeta.getTABLE_SCHEM() + "#" + colmnMeta.getTABLE_NAME() + "#" - + colmnMeta.getCOLUMN_NAME(), colmnMeta); + columnMap.put(colmnMeta.getTABLE_SCHEM() + "#" + colmnMeta.getTABLE_NAME() + "#" + colmnMeta.getCOLUMN_NAME(), colmnMeta); } } @@ -729,8 +686,7 @@ public class QueryService extends BasicService { List<ModelDimensionDesc> dimensions = dataModelDesc.getDimensions(); for (ModelDimensionDesc dimension : dimensions) { for (String column : dimension.getColumns()) { - String columnIdentity = (dataModelDesc.findTable(dimension.getTable()).getTableIdentity() + "." - + column).replace('.', '#'); + String columnIdentity = (dataModelDesc.findTable(dimension.getTable()).getTableIdentity() + "." + column).replace('.', '#'); if (columnMap.containsKey(columnIdentity)) { columnMap.get(columnIdentity).getTYPE().add(ColumnMetaWithType.columnTypeEnum.DIMENSION); } else { @@ -742,8 +698,7 @@ public class QueryService extends BasicService { String[] measures = dataModelDesc.getMetrics(); for (String measure : measures) { - String columnIdentity = (dataModelDesc.findTable(measure.substring(0, measure.indexOf("."))) - .getTableIdentity() + measure.substring(measure.indexOf("."))).replace('.', '#'); + String columnIdentity = (dataModelDesc.findTable(measure.substring(0, measure.indexOf("."))).getTableIdentity() + measure.substring(measure.indexOf("."))).replace('.', '#'); if (columnMap.containsKey(columnIdentity)) { columnMap.get(columnIdentity).getTYPE().add(ColumnMetaWithType.columnTypeEnum.MEASURE); } else { @@ -802,13 +757,7 @@ public class QueryService extends BasicService { // Fill in selected column meta for (int i = 1; i <= columnCount; ++i) { - columnMetas.add(new SelectedColumnMeta(metaData.isAutoIncrement(i), metaData.isCaseSensitive(i), - metaData.isSearchable(i), metaData.isCurrency(i), metaData.isNullable(i), metaData.isSigned(i), - metaData.getColumnDisplaySize(i), metaData.getColumnLabel(i), metaData.getColumnName(i), - metaData.getSchemaName(i), metaData.getCatalogName(i), metaData.getTableName(i), - metaData.getPrecision(i), metaData.getScale(i), metaData.getColumnType(i), - metaData.getColumnTypeName(i), metaData.isReadOnly(i), metaData.isWritable(i), - metaData.isDefinitelyWritable(i))); + columnMetas.add(new SelectedColumnMeta(metaData.isAutoIncrement(i), metaData.isCaseSensitive(i), metaData.isSearchable(i), metaData.isCurrency(i), metaData.isNullable(i), metaData.isSigned(i), metaData.getColumnDisplaySize(i), metaData.getColumnLabel(i), metaData.getColumnName(i), metaData.getSchemaName(i), metaData.getCatalogName(i), metaData.getTableName(i), metaData.getPrecision(i), metaData.getScale(i), metaData.getColumnType(i), metaData.getColumnTypeName(i), metaData.isReadOnly(i), metaData.isWritable(i), metaData.isDefinitelyWritable(i))); } // fill in results @@ -843,8 +792,7 @@ public class QueryService extends BasicService { } logger.info(logSb.toString()); - SQLResponse response = new SQLResponse(columnMetas, results, cubeSb.toString(), 0, false, null, isPartialResult, - isAdHoc); + SQLResponse response = new SQLResponse(columnMetas, results, cubeSb.toString(), 0, false, null, isPartialResult, isAdHoc); response.setTotalScanCount(QueryContext.current().getScannedRows()); response.setTotalScanBytes(QueryContext.current().getScannedBytes()); @@ -856,8 +804,7 @@ public class QueryService extends BasicService { * @param param * @throws SQLException */ - private void setParam(PreparedStatement preparedState, int index, PrepareSqlRequest.StateParam param) - throws SQLException { + private void setParam(PreparedStatement preparedState, int index, PrepareSqlRequest.StateParam param) throws SQLException { boolean isNull = (null == param.getValue()); Class<?> clazz; http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/StreamingService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/StreamingService.java b/server-base/src/main/java/org/apache/kylin/rest/service/StreamingService.java index ebc1f30..adae67c 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/StreamingService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/StreamingService.java @@ -49,8 +49,7 @@ public class StreamingService extends BasicService { return streamingConfigs; } - public List<StreamingConfig> getStreamingConfigs(final String table, final Integer limit, final Integer offset) - throws IOException { + public List<StreamingConfig> getStreamingConfigs(final String table, final Integer limit, final Integer offset) throws IOException { List<StreamingConfig> streamingConfigs; streamingConfigs = listAllStreamingConfigs(table); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/TableSchemaUpdateChecker.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/TableSchemaUpdateChecker.java b/server-base/src/main/java/org/apache/kylin/rest/service/TableSchemaUpdateChecker.java index 7050223..a87ddd8 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/TableSchemaUpdateChecker.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/TableSchemaUpdateChecker.java @@ -77,9 +77,7 @@ public class TableSchemaUpdateChecker { buf.append("- ").append(reason).append("\n"); } - return new CheckResult(false, - format("Found %d issue(s) with '%s':%n%s Please disable and purge related cube(s) first", - reasons.size(), tableName, buf.toString())); + return new CheckResult(false, format("Found %d issue(s) with '%s':%n%s Please disable and purge related cube(s) first", reasons.size(), tableName, buf.toString())); } } @@ -89,19 +87,18 @@ public class TableSchemaUpdateChecker { } private List<CubeInstance> findCubeByTable(final String fullTableName) { - Iterable<CubeInstance> relatedCubes = Iterables.filter(cubeManager.listAllCubes(), - new Predicate<CubeInstance>() { - @Override - public boolean apply(@Nullable CubeInstance cube) { - if (cube == null || cube.allowBrokenDescriptor()) { - return false; - } - DataModelDesc model = cube.getModel(); - if (model == null) - return false; - return model.containsTable(fullTableName); - } - }); + Iterable<CubeInstance> relatedCubes = Iterables.filter(cubeManager.listAllCubes(), new Predicate<CubeInstance>() { + @Override + public boolean apply(@Nullable CubeInstance cube) { + if (cube == null || cube.allowBrokenDescriptor()) { + return false; + } + DataModelDesc model = cube.getModel(); + if (model == null) + return false; + return model.containsTable(fullTableName); + } + }); return ImmutableList.copyOf(relatedCubes); } @@ -188,8 +185,7 @@ public class TableSchemaUpdateChecker { TableDesc factTable = cube.getModel().findFirstTable(fullTableName).getTableDesc(); List<String> violateColumns = checkAllColumnsInCube(cube, factTable, newTableDesc); if (!violateColumns.isEmpty()) { - issues.add(format("Column %s used in cube[%s] and model[%s], but changed in hive", violateColumns, - cube.getName(), modelName)); + issues.add(format("Column %s used in cube[%s] and model[%s], but changed in hive", violateColumns, cube.getName(), modelName)); } } @@ -198,9 +194,7 @@ public class TableSchemaUpdateChecker { if (cube.getModel().isLookupTable(fullTableName)) { TableDesc lookupTable = cube.getModel().findFirstTable(fullTableName).getTableDesc(); if (!checkAllColumnsInTableDesc(lookupTable, newTableDesc)) { - issues.add( - format("Table '%s' is used as Lookup Table in cube[%s] and model[%s], but changed in hive", - lookupTable.getIdentity(), cube.getName(), modelName)); + issues.add(format("Table '%s' is used as Lookup Table in cube[%s] and model[%s], but changed in hive", lookupTable.getIdentity(), cube.getName(), modelName)); } } } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java b/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java index 858535b..5cbdb76 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/TableService.java @@ -144,7 +144,7 @@ public class TableService extends BasicService { for (Pair<TableDesc, TableExtDesc> pair : allMeta) { TableDesc tableDesc = pair.getFirst(); TableExtDesc extDesc = pair.getSecond(); - + TableDesc origTable = metaMgr.getTableDesc(tableDesc.getIdentity()); if (origTable == null) { tableDesc.setUuid(UUID.randomUUID().toString()); @@ -153,7 +153,7 @@ public class TableService extends BasicService { tableDesc.setUuid(origTable.getUuid()); tableDesc.setLastModified(origTable.getLastModified()); } - + TableExtDesc origExt = metaMgr.getTableExt(tableDesc.getIdentity()); if (origExt == null) { extDesc.setUuid(UUID.randomUUID().toString()); @@ -172,9 +172,8 @@ public class TableService extends BasicService { syncTableToProject(result, project); return result; } - - public Map<String, String[]> loadHiveTables(String[] tableNames, String project, boolean isNeedProfile) - throws Exception { + + public Map<String, String[]> loadHiveTables(String[] tableNames, String project, boolean isNeedProfile) throws Exception { String submitter = SecurityContextHolder.getContext().getAuthentication().getName(); Map<String, String[]> result = new HashMap<String, String[]>(); @@ -264,8 +263,7 @@ public class TableService extends BasicService { rtn = true; } - if (tableType == 1 && !projectService.isTableInAnyProject(tableName) - && !modelService.isTableInAnyModel(tableName)) { + if (tableType == 1 && !projectService.isTableInAnyProject(tableName) && !modelService.isTableInAnyModel(tableName)) { StreamingConfig config = null; KafkaConfig kafkaConfig = null; try { @@ -332,8 +330,7 @@ public class TableService extends BasicService { if (cards.length > i) { cardinality.put(columnDesc.getName(), Long.parseLong(cards[i])); } else { - logger.error("The result cardinality is not identical with hive table metadata, cardinality : " - + scard + " column array length: " + cdescs.length); + logger.error("The result cardinality is not identical with hive table metadata, cardinality : " + scard + " column array length: " + cdescs.length); break; } } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/UserGrantedAuthority.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/UserGrantedAuthority.java b/server-base/src/main/java/org/apache/kylin/rest/service/UserGrantedAuthority.java index 86d28ec..4c2a392 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/UserGrantedAuthority.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/UserGrantedAuthority.java @@ -20,6 +20,7 @@ package org.apache.kylin.rest.service; import org.springframework.security.core.GrantedAuthority; + public class UserGrantedAuthority implements GrantedAuthority { private static final long serialVersionUID = -5128905636841891058L; http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/UserInfo.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/UserInfo.java b/server-base/src/main/java/org/apache/kylin/rest/service/UserInfo.java index fa74e50..644883d 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/UserInfo.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/UserInfo.java @@ -27,6 +27,7 @@ import org.springframework.security.core.userdetails.UserDetails; import com.fasterxml.jackson.annotation.JsonProperty; + @SuppressWarnings("serial") public class UserInfo extends RootPersistentEntity { http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/service/UserService.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/service/UserService.java b/server-base/src/main/java/org/apache/kylin/rest/service/UserService.java index c30515e..5452543 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/service/UserService.java +++ b/server-base/src/main/java/org/apache/kylin/rest/service/UserService.java @@ -134,8 +134,7 @@ public class UserService implements UserDetailsManager { public List<UserDetails> listUsers() throws IOException { List<UserDetails> all = new ArrayList<UserDetails>(); - List<UserInfo> userInfos = aclStore.getAllResources(DIR_PREFIX, UserInfo.class, - UserInfoSerializer.getInstance()); + List<UserInfo> userInfos = aclStore.getAllResources(DIR_PREFIX, UserInfo.class, UserInfoSerializer.getInstance()); for (UserInfo info : userInfos) { all.add(wrap(info)); } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/util/AclUtil.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/util/AclUtil.java b/server-base/src/main/java/org/apache/kylin/rest/util/AclUtil.java index 2488dc2..3b47288 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/util/AclUtil.java +++ b/server-base/src/main/java/org/apache/kylin/rest/util/AclUtil.java @@ -29,17 +29,13 @@ import org.springframework.stereotype.Component; public class AclUtil { //such method MUST NOT be called from within same class - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#cube, 'ADMINISTRATION') or hasPermission(#cube, 'MANAGEMENT')" - + " or hasPermission(#cube, 'OPERATION') or hasPermission(#cube, 'READ')") + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#cube, 'ADMINISTRATION') or hasPermission(#cube, 'MANAGEMENT')" + " or hasPermission(#cube, 'OPERATION') or hasPermission(#cube, 'READ')") public boolean hasCubeReadPermission(CubeInstance cube) { return true; } //such method MUST NOT be called from within same class - @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN - + " or hasPermission(#project, 'ADMINISTRATION') or hasPermission(#project, 'MANAGEMENT')" - + " or hasPermission(#project, 'OPERATION') or hasPermission(#project, 'READ')") + @PreAuthorize(Constant.ACCESS_HAS_ROLE_ADMIN + " or hasPermission(#project, 'ADMINISTRATION') or hasPermission(#project, 'MANAGEMENT')" + " or hasPermission(#project, 'OPERATION') or hasPermission(#project, 'READ')") public boolean hasProjectReadPermission(ProjectInstance project) { return true; } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/util/AdHocUtil.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/util/AdHocUtil.java b/server-base/src/main/java/org/apache/kylin/rest/util/AdHocUtil.java index b6e4d23..f6b3496 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/util/AdHocUtil.java +++ b/server-base/src/main/java/org/apache/kylin/rest/util/AdHocUtil.java @@ -18,25 +18,23 @@ package org.apache.kylin.rest.util; -import java.sql.SQLException; -import java.util.List; - import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.kylin.common.KylinConfig; -import org.apache.kylin.metadata.querymeta.SelectedColumnMeta; import org.apache.kylin.query.routing.NoRealizationFoundException; -import org.apache.kylin.rest.exception.InternalErrorException; import org.apache.kylin.storage.adhoc.AdHocRunnerBase; +import org.apache.kylin.rest.exception.InternalErrorException; +import org.apache.kylin.metadata.querymeta.SelectedColumnMeta; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.sql.SQLException; +import java.util.List; + public class AdHocUtil { private static final Logger logger = LoggerFactory.getLogger(AdHocUtil.class); - public static boolean doAdHocQuery(String sql, List<List<String>> results, List<SelectedColumnMeta> columnMetas, - SQLException sqlException) throws Exception { - boolean isExpectedCause = (ExceptionUtils.getRootCause(sqlException).getClass() - .equals(NoRealizationFoundException.class)); + public static boolean doAdHocQuery(String sql, List<List<String>> results, List<SelectedColumnMeta> columnMetas, SQLException sqlException) throws Exception { + boolean isExpectedCause = (ExceptionUtils.getRootCause(sqlException).getClass().equals(NoRealizationFoundException.class)); KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv(); Boolean isAdHoc = false; @@ -69,3 +67,4 @@ public class AdHocUtil { return isAdHoc; } } + http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/util/ControllerSplitter.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/util/ControllerSplitter.java b/server-base/src/main/java/org/apache/kylin/rest/util/ControllerSplitter.java index 154eb9f..e043327 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/util/ControllerSplitter.java +++ b/server-base/src/main/java/org/apache/kylin/rest/util/ControllerSplitter.java @@ -32,9 +32,9 @@ public class ControllerSplitter { static File v1dir = new File("src/main/java/org/apache/kylin/rest/controller"); static File v2dir = new File("src/main/java/org/apache/kylin/rest/controller2"); static boolean dryRun = false; - + public static void main(String[] args) throws IOException { - + for (File f : v1dir.listFiles()) { chopOff(f, "application/vnd.apache.kylin-v2+json"); } @@ -45,28 +45,28 @@ public class ControllerSplitter { } private static void chopOff(File f, String annoPtn) throws IOException { - + System.out.println("Processing " + f); - + FileInputStream is = new FileInputStream(f); List<String> lines = IOUtils.readLines(is, "UTF-8"); is.close(); List<String> outLines = new ArrayList<>(lines.size()); - + boolean del = false; for (String l : lines) { if (l.startsWith(" @") && l.contains(annoPtn)) del = true; - + if (del) System.out.println("x " + l); else outLines.add(l); - + if (del && l.startsWith(" }")) del = false; } - + if (!dryRun && outLines.size() < lines.size()) { FileOutputStream os = new FileOutputStream(f); IOUtils.writeLines(outLines, "\n", os, "UTF-8"); @@ -75,7 +75,7 @@ public class ControllerSplitter { } else { System.out.println("skipped"); } - + System.out.println("============================================================================"); } } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java b/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java index 6100b04..49b7502 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java +++ b/server-base/src/main/java/org/apache/kylin/rest/util/TableauInterceptor.java @@ -48,8 +48,7 @@ public class TableauInterceptor { private static final long serialVersionUID = -8086728462624901359L; { - add(new SelectedColumnMeta(false, false, true, false, 2, true, 11, "COL", "COL", "", "", "", 10, 0, 4, - "int4", false, true, false)); + add(new SelectedColumnMeta(false, false, true, false, 2, true, 11, "COL", "COL", "", "", "", 10, 0, 4, "int4", false, true, false)); } }, new LinkedList<List<String>>() { private static final long serialVersionUID = -470083340592928073L; @@ -112,4 +111,5 @@ public class TableauInterceptor { return true; } + } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/test/java/org/apache/kylin/rest/bean/BeanTest.java ---------------------------------------------------------------------- diff --git a/server-base/src/test/java/org/apache/kylin/rest/bean/BeanTest.java b/server-base/src/test/java/org/apache/kylin/rest/bean/BeanTest.java index 8dd5ad6..27c77c3 100644 --- a/server-base/src/test/java/org/apache/kylin/rest/bean/BeanTest.java +++ b/server-base/src/test/java/org/apache/kylin/rest/bean/BeanTest.java @@ -20,10 +20,10 @@ package org.apache.kylin.rest.bean; import java.beans.IntrospectionException; +import org.apache.kylin.rest.constant.Constant; import org.apache.kylin.metadata.querymeta.ColumnMeta; import org.apache.kylin.metadata.querymeta.SelectedColumnMeta; import org.apache.kylin.metadata.querymeta.TableMeta; -import org.apache.kylin.rest.constant.Constant; import org.apache.kylin.rest.request.AccessRequest; import org.apache.kylin.rest.request.CubeRequest; import org.apache.kylin.rest.request.JobListRequest; @@ -56,8 +56,7 @@ public class BeanTest { new SQLResponse(null, null, null, 0, true, null); - SelectedColumnMeta coulmnMeta = new SelectedColumnMeta(false, false, false, false, 0, false, 0, null, null, - null, null, null, 0, 0, 0, null, false, false, false); + SelectedColumnMeta coulmnMeta = new SelectedColumnMeta(false, false, false, false, 0, false, 0, null, null, null, null, null, 0, 0, 0, null, false, false, false); Assert.assertTrue(!coulmnMeta.isAutoIncrement()); Assert.assertTrue(!coulmnMeta.isCaseSensitive()); Assert.assertTrue(!coulmnMeta.isSearchable()); @@ -66,9 +65,7 @@ public class BeanTest { Assert.assertTrue(!coulmnMeta.isSigned()); Assert.assertEquals(Constant.ACCESS_HAS_ROLE_ADMIN, "hasRole('ROLE_ADMIN')"); - Assert.assertEquals(Constant.ACCESS_POST_FILTER_READ, - "hasRole('ROLE_ADMIN') or hasPermission(filterObject, 'READ') or hasPermission(filterObject, 'MANAGEMENT') " - + "or hasPermission(filterObject, 'OPERATION') or hasPermission(filterObject, 'ADMINISTRATION')"); + Assert.assertEquals(Constant.ACCESS_POST_FILTER_READ, "hasRole('ROLE_ADMIN') or hasPermission(filterObject, 'READ') or hasPermission(filterObject, 'MANAGEMENT') " + "or hasPermission(filterObject, 'OPERATION') or hasPermission(filterObject, 'ADMINISTRATION')"); Assert.assertEquals(Constant.FakeCatalogName, "defaultCatalog"); Assert.assertEquals(Constant.FakeSchemaName, "defaultSchema"); Assert.assertEquals(Constant.IDENTITY_ROLE, "role"); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java ---------------------------------------------------------------------- diff --git a/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java b/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java index 943424c..08010e4 100644 --- a/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java +++ b/server-base/src/test/java/org/apache/kylin/rest/bean/BeanValidator.java @@ -42,8 +42,7 @@ public class BeanValidator { /** * Tests the get/set methods of the specified class. */ - public static <T> void validateAccssor(final Class<T> clazz, final String... skipThese) - throws IntrospectionException { + public static <T> void validateAccssor(final Class<T> clazz, final String... skipThese) throws IntrospectionException { final PropertyDescriptor[] props = Introspector.getBeanInfo(clazz).getPropertyDescriptors(); for (PropertyDescriptor prop : props) { @@ -70,21 +69,18 @@ public class BeanValidator { setter.invoke(bean, value); - Assert.assertEquals(String.format("Failed while testing property %s", prop.getName()), value, - getter.invoke(bean)); + Assert.assertEquals(String.format("Failed while testing property %s", prop.getName()), value, getter.invoke(bean)); } catch (Exception ex) { ex.printStackTrace(); - System.err.println(String.format("An exception was thrown while testing the property %s: %s", - prop.getName(), ex.toString())); + System.err.println(String.format("An exception was thrown while testing the property %s: %s", prop.getName(), ex.toString())); } } } } } - private static Object buildValue(Class<?> clazz) throws InstantiationException, IllegalAccessException, - IllegalArgumentException, SecurityException, InvocationTargetException { + private static Object buildValue(Class<?> clazz) throws InstantiationException, IllegalAccessException, IllegalArgumentException, SecurityException, InvocationTargetException { final Constructor<?>[] ctrs = clazz.getConstructors(); for (Constructor<?> ctr : ctrs) { @@ -121,33 +117,30 @@ public class BeanValidator { } else if (clazz.isEnum()) { return clazz.getEnumConstants()[0]; } else if (clazz.isInterface()) { - return Proxy.newProxyInstance(clazz.getClassLoader(), new java.lang.Class[] { clazz }, - new java.lang.reflect.InvocationHandler() { - @Override - public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { - if (Object.class.getMethod("equals", Object.class).equals(method)) { - return proxy == args[0]; - } - if (Object.class.getMethod("hashCode", Object.class).equals(method)) { - return Integer.valueOf(System.identityHashCode(proxy)); - } - if (Object.class.getMethod("toString", Object.class).equals(method)) { - return "Bean " + getMockedType(proxy); - } - - return null; - } - - }); + return Proxy.newProxyInstance(clazz.getClassLoader(), new java.lang.Class[] { clazz }, new java.lang.reflect.InvocationHandler() { + @Override + public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { + if (Object.class.getMethod("equals", Object.class).equals(method)) { + return proxy == args[0]; + } + if (Object.class.getMethod("hashCode", Object.class).equals(method)) { + return Integer.valueOf(System.identityHashCode(proxy)); + } + if (Object.class.getMethod("toString", Object.class).equals(method)) { + return "Bean " + getMockedType(proxy); + } + + return null; + } + + }); } else { - System.err.println("Unable to build an instance of class " + clazz.getName() - + ", please add some code to the " + BeanValidator.class.getName() + " class to do this."); + System.err.println("Unable to build an instance of class " + clazz.getName() + ", please add some code to the " + BeanValidator.class.getName() + " class to do this."); return null; } } - public static <T> void findBooleanIsMethods(Class<T> clazz, PropertyDescriptor descriptor) - throws IntrospectionException { + public static <T> void findBooleanIsMethods(Class<T> clazz, PropertyDescriptor descriptor) throws IntrospectionException { if (descriptor.getReadMethod() == null && descriptor.getPropertyType() == Boolean.class) { try { PropertyDescriptor pd = new PropertyDescriptor(descriptor.getName(), clazz); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server-base/src/test/java/org/apache/kylin/rest/security/PasswordPlaceHolderConfigurerTest.java ---------------------------------------------------------------------- diff --git a/server-base/src/test/java/org/apache/kylin/rest/security/PasswordPlaceHolderConfigurerTest.java b/server-base/src/test/java/org/apache/kylin/rest/security/PasswordPlaceHolderConfigurerTest.java index 067de08..ac42ad7 100644 --- a/server-base/src/test/java/org/apache/kylin/rest/security/PasswordPlaceHolderConfigurerTest.java +++ b/server-base/src/test/java/org/apache/kylin/rest/security/PasswordPlaceHolderConfigurerTest.java @@ -24,7 +24,7 @@ import org.junit.Test; public class PasswordPlaceHolderConfigurerTest { @Test - public void testAESEncrypt() { + public void testAESEncrypt(){ String input = "hello world"; String result = PasswordPlaceholderConfigurer.encrypt(input); Assert.assertEquals("4stv/RRleOtvie/8SLHmXA==", result); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java b/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java index 0c2fc92..cd6768e 100644 --- a/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java +++ b/server/src/main/java/org/apache/kylin/rest/DebugTomcat.java @@ -18,10 +18,6 @@ package org.apache.kylin.rest; -import java.io.File; -import java.lang.reflect.Field; -import java.lang.reflect.Modifier; - import org.apache.catalina.Context; import org.apache.catalina.core.AprLifecycleListener; import org.apache.catalina.core.StandardServer; @@ -31,6 +27,10 @@ import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.util.Shell; import org.apache.kylin.common.KylinConfig; +import java.io.File; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; + public class DebugTomcat { public static void setupDebugEnv() { @@ -48,8 +48,7 @@ public class DebugTomcat { System.setProperty("catalina.home", "."); if (StringUtils.isEmpty(System.getProperty("hdp.version"))) { - System.err.println( - "No hdp.version set; Please set hdp.version in your jvm option, for example: -Dhdp.version=2.4.0.0-169"); + System.err.println("No hdp.version set; Please set hdp.version in your jvm option, for example: -Dhdp.version=2.4.0.0-169"); System.exit(1); } @@ -110,8 +109,7 @@ public class DebugTomcat { String webBase = new File("../webapp/app").getAbsolutePath(); if (new File(webBase, "WEB-INF").exists() == false) { - throw new RuntimeException( - "In order to launch Kylin web app from IDE, please copy server/src/main/webapp/WEB-INF to webapp/app/"); + throw new RuntimeException("In order to launch Kylin web app from IDE, please copy server/src/main/webapp/WEB-INF to webapp/app/"); } Tomcat tomcat = new Tomcat(); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/controller/AccessControllerTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/controller/AccessControllerTest.java b/server/src/test/java/org/apache/kylin/rest/controller/AccessControllerTest.java index b6e0717..18fbd06 100644 --- a/server/src/test/java/org/apache/kylin/rest/controller/AccessControllerTest.java +++ b/server/src/test/java/org/apache/kylin/rest/controller/AccessControllerTest.java @@ -18,13 +18,6 @@ package org.apache.kylin.rest.controller; -import static junit.framework.TestCase.fail; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; - -import java.io.IOException; -import java.util.List; - import org.apache.kylin.cube.CubeInstance; import org.apache.kylin.metadata.project.ProjectInstance; import org.apache.kylin.rest.request.AccessRequest; @@ -45,6 +38,13 @@ import org.springframework.security.authentication.TestingAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContextHolder; +import java.io.IOException; +import java.util.List; + +import static junit.framework.TestCase.fail; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + /** * @author xduo */ @@ -88,8 +88,7 @@ public class AccessControllerTest extends ServiceTestBase implements AclEntityTy @Test public void testBasics() throws IOException { swichToAdmin(); - List<AccessEntryResponse> aes = accessController.getAccessEntities(CUBE_INSTANCE, - "a24ca905-1fc6-4f67-985c-38fa5aeafd92"); + List<AccessEntryResponse> aes = accessController.getAccessEntities(CUBE_INSTANCE, "a24ca905-1fc6-4f67-985c-38fa5aeafd92"); Assert.assertTrue(aes.size() == 0); AccessRequest accessRequest = getAccessRequest(MODELER, ADMINISTRATION); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java b/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java index a7ca5a2..e67c238 100644 --- a/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java +++ b/server/src/test/java/org/apache/kylin/rest/controller/CubeControllerTest.java @@ -35,10 +35,10 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.Lists; +import org.springframework.beans.factory.annotation.Qualifier; /** * @author xduo @@ -169,6 +169,7 @@ public class CubeControllerTest extends ServiceTestBase { Assert.assertTrue(segNumber == newSegNumber + 1); } + @Test public void testGetHoles() throws IOException { String cubeName = "test_kylin_cube_with_slr_ready_3_segments"; @@ -178,7 +179,7 @@ public class CubeControllerTest extends ServiceTestBase { CubeInstance cube = cubeService.getCubeManager().getCube(cubeName); List<CubeSegment> segments = cube.getSegments(); - final long dateEnd = segments.get(segments.size() - 1).getDateRangeEnd(); + final long dateEnd = segments.get(segments.size() -1).getDateRangeEnd(); final long ONEDAY = 24 * 60 * 60000; cubeService.getCubeManager().appendSegment(cube, dateEnd + ONEDAY, dateEnd + ONEDAY * 2); @@ -193,6 +194,7 @@ public class CubeControllerTest extends ServiceTestBase { } + @Test public void testGetCubes() { List<CubeInstance> cubes = cubeController.getCubes(null, null, null, 1, 0); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/controller/ProjectControllerTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/controller/ProjectControllerTest.java b/server/src/test/java/org/apache/kylin/rest/controller/ProjectControllerTest.java index 30cc0ff..f805095 100644 --- a/server/src/test/java/org/apache/kylin/rest/controller/ProjectControllerTest.java +++ b/server/src/test/java/org/apache/kylin/rest/controller/ProjectControllerTest.java @@ -31,9 +31,9 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.beans.factory.annotation.Qualifier; /** */ @@ -74,16 +74,14 @@ public class ProjectControllerTest extends ServiceTestBase { ProjectInstance ret = projectController.saveProject(getProjectRequest(project, null)); Assert.assertEquals(ret.getOwner(), "ADMIN"); - Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).listAllProjects().size(), - originalProjectCount + 1); + Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).listAllProjects().size(), originalProjectCount + 1); //test update project ProjectInstance newProject = new ProjectInstance(); newProject.setName("new_project_2"); projectController.updateProject(getProjectRequest(newProject, "new_project")); - Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).listAllProjects().size(), - originalProjectCount + 1); + Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).listAllProjects().size(), originalProjectCount + 1); Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).getProject("new_project"), null); Assert.assertNotEquals(ProjectManager.getInstance(getTestConfig()).getProject("new_project_2"), null); @@ -93,12 +91,10 @@ public class ProjectControllerTest extends ServiceTestBase { newProject2.setDescription("hello world"); projectController.updateProject(getProjectRequest(newProject2, "new_project_2")); - Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).listAllProjects().size(), - originalProjectCount + 1); + Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).listAllProjects().size(), originalProjectCount + 1); Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).getProject("new_project"), null); Assert.assertNotEquals(ProjectManager.getInstance(getTestConfig()).getProject("new_project_2"), null); - Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).getProject("new_project_2").getDescription(), - "hello world"); + Assert.assertEquals(ProjectManager.getInstance(getTestConfig()).getProject("new_project_2").getDescription(), "hello world"); } @Test(expected = InternalErrorException.class) http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/controller/QueryControllerTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/controller/QueryControllerTest.java b/server/src/test/java/org/apache/kylin/rest/controller/QueryControllerTest.java index 6400583..d9eb3fa 100644 --- a/server/src/test/java/org/apache/kylin/rest/controller/QueryControllerTest.java +++ b/server/src/test/java/org/apache/kylin/rest/controller/QueryControllerTest.java @@ -29,9 +29,9 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import net.sf.ehcache.CacheManager; +import org.springframework.beans.factory.annotation.Qualifier; /** * @author xduo @@ -70,9 +70,7 @@ public class QueryControllerTest extends ServiceTestBase { @Test public void testErrorMsg() { String errorMsg = "error while executing SQL \"select lkp.clsfd_ga_prfl_id, ga.sum_dt, sum(ga.bounces) as bounces, sum(ga.exits) as exits, sum(ga.entrances) as entrances, sum(ga.pageviews) as pageviews, count(distinct ga.GA_VSTR_ID, ga.GA_VST_ID) as visits, count(distinct ga.GA_VSTR_ID) as uniqVistors from CLSFD_GA_PGTYPE_CATEG_LOC ga left join clsfd_ga_prfl_lkp lkp on ga.SRC_GA_PRFL_ID = lkp.SRC_GA_PRFL_ID group by lkp.clsfd_ga_prfl_id,ga.sum_dt order by lkp.clsfd_ga_prfl_id,ga.sum_dt LIMIT 50000\": From line 14, column 14 to line 14, column 29: Column 'CLSFD_GA_PRFL_ID' not found in table 'LKP'"; - assert QueryUtil.makeErrorMsgUserFriendly(errorMsg) - .equals("From line 14, column 14 to line 14, column 29: Column 'CLSFD_GA_PRFL_ID' not found in table 'LKP'\n" - + "while executing SQL: \"select lkp.clsfd_ga_prfl_id, ga.sum_dt, sum(ga.bounces) as bounces, sum(ga.exits) as exits, sum(ga.entrances) as entrances, sum(ga.pageviews) as pageviews, count(distinct ga.GA_VSTR_ID, ga.GA_VST_ID) as visits, count(distinct ga.GA_VSTR_ID) as uniqVistors from CLSFD_GA_PGTYPE_CATEG_LOC ga left join clsfd_ga_prfl_lkp lkp on ga.SRC_GA_PRFL_ID = lkp.SRC_GA_PRFL_ID group by lkp.clsfd_ga_prfl_id,ga.sum_dt order by lkp.clsfd_ga_prfl_id,ga.sum_dt LIMIT 50000\""); + assert QueryUtil.makeErrorMsgUserFriendly(errorMsg).equals("From line 14, column 14 to line 14, column 29: Column 'CLSFD_GA_PRFL_ID' not found in table 'LKP'\n" + "while executing SQL: \"select lkp.clsfd_ga_prfl_id, ga.sum_dt, sum(ga.bounces) as bounces, sum(ga.exits) as exits, sum(ga.entrances) as entrances, sum(ga.pageviews) as pageviews, count(distinct ga.GA_VSTR_ID, ga.GA_VST_ID) as visits, count(distinct ga.GA_VSTR_ID) as uniqVistors from CLSFD_GA_PGTYPE_CATEG_LOC ga left join clsfd_ga_prfl_lkp lkp on ga.SRC_GA_PRFL_ID = lkp.SRC_GA_PRFL_ID group by lkp.clsfd_ga_prfl_id,ga.sum_dt order by lkp.clsfd_ga_prfl_id,ga.sum_dt LIMIT 50000\""); } @Test http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java b/server/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java index e525f72..481b0bf 100644 --- a/server/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java +++ b/server/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java @@ -18,6 +18,7 @@ package org.apache.kylin.rest.service; +import com.fasterxml.jackson.core.JsonProcessingException; import org.apache.kylin.common.persistence.AclEntity; import org.apache.kylin.rest.response.AccessEntryResponse; import org.apache.kylin.rest.security.AclPermission; @@ -31,8 +32,6 @@ import org.springframework.security.acls.model.AccessControlEntry; import org.springframework.security.acls.model.Acl; import org.springframework.security.acls.model.Sid; -import com.fasterxml.jackson.core.JsonProcessingException; - /** * @author xduo */ @@ -105,8 +104,7 @@ public class AccessServiceTest extends ServiceTestBase { attachedEntityAcl = accessService.getAcl(attachedEntity); Assert.assertTrue(attachedEntityAcl.getParentAcl() != null); - Assert.assertTrue( - attachedEntityAcl.getParentAcl().getObjectIdentity().getIdentifier().equals("test-domain-object")); + Assert.assertTrue(attachedEntityAcl.getParentAcl().getObjectIdentity().getIdentifier().equals("test-domain-object")); Assert.assertTrue(attachedEntityAcl.getEntries().size() == 1); // test revoke http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java b/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java index 6fb4f55..7aabb0e 100644 --- a/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java +++ b/server/src/test/java/org/apache/kylin/rest/service/BadQueryDetectorTest.java @@ -52,8 +52,7 @@ public class BadQueryDetectorTest extends LocalFileMetadataTestCase { BadQueryDetector badQueryDetector = new BadQueryDetector(alertRunningSec * 1000, alertMB, alertRunningSec); badQueryDetector.registerNotifier(new BadQueryDetector.Notifier() { @Override - public void badQueryFound(String adj, float runningSec, long startTime, String project, String sql, - String user, Thread t) { + public void badQueryFound(String adj, float runningSec, long startTime, String project, String sql, String user, Thread t) { alerts.add(new String[] { adj, sql }); } }); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/service/CacheServiceTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/service/CacheServiceTest.java b/server/src/test/java/org/apache/kylin/rest/service/CacheServiceTest.java index a7ef001..004f660 100644 --- a/server/src/test/java/org/apache/kylin/rest/service/CacheServiceTest.java +++ b/server/src/test/java/org/apache/kylin/rest/service/CacheServiceTest.java @@ -116,23 +116,22 @@ public class CacheServiceTest extends LocalFileMetadataTestCase { serviceA.setCubeService(cubeServiceA); serviceB.setCubeService(cubeServiceB); - context.addServlet( - new ServletHolder(new BroadcasterReceiveServlet(new BroadcasterReceiveServlet.BroadcasterHandler() { - @Override - public void handle(String entity, String cacheKey, String event) { - Broadcaster.Event wipeEvent = Broadcaster.Event.getEvent(event); - final String log = "wipe cache type: " + entity + " event:" + wipeEvent + " name:" + cacheKey; - logger.info(log); - try { - serviceA.notifyMetadataChange(entity, wipeEvent, cacheKey); - serviceB.notifyMetadataChange(entity, wipeEvent, cacheKey); - } catch (IOException e) { - throw new RuntimeException(e); - } finally { - counter.incrementAndGet(); - } - } - })), "/"); + context.addServlet(new ServletHolder(new BroadcasterReceiveServlet(new BroadcasterReceiveServlet.BroadcasterHandler() { + @Override + public void handle(String entity, String cacheKey, String event) { + Broadcaster.Event wipeEvent = Broadcaster.Event.getEvent(event); + final String log = "wipe cache type: " + entity + " event:" + wipeEvent + " name:" + cacheKey; + logger.info(log); + try { + serviceA.notifyMetadataChange(entity, wipeEvent, cacheKey); + serviceB.notifyMetadataChange(entity, wipeEvent, cacheKey); + } catch (IOException e) { + throw new RuntimeException(e); + } finally { + counter.incrementAndGet(); + } + } + })), "/"); server.start(); } @@ -200,8 +199,7 @@ public class CacheServiceTest extends LocalFileMetadataTestCase { assertTrue(!getProjectManager(configA).equals(getProjectManager(configB))); assertTrue(!getMetadataManager(configA).equals(getMetadataManager(configB))); - assertEquals(getProjectManager(configA).listAllProjects().size(), - getProjectManager(configB).listAllProjects().size()); + assertEquals(getProjectManager(configA).listAllProjects().size(), getProjectManager(configB).listAllProjects().size()); } @Test @@ -224,10 +222,8 @@ public class CacheServiceTest extends LocalFileMetadataTestCase { assertTrue(cubeManager.getCube(cubeName) == null); assertTrue(cubeManagerB.getCube(cubeName) == null); - assertTrue(!containsRealization(projectManager.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), - RealizationType.CUBE, cubeName)); - assertTrue(!containsRealization(projectManagerB.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), - RealizationType.CUBE, cubeName)); + assertTrue(!containsRealization(projectManager.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), RealizationType.CUBE, cubeName)); + assertTrue(!containsRealization(projectManagerB.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), RealizationType.CUBE, cubeName)); cubeManager.createCube(cubeName, ProjectInstance.DEFAULT_PROJECT_NAME, cubeDesc, null); //one for cube update, one for project update assertEquals(2, broadcaster.getCounterAndClear()); @@ -235,10 +231,8 @@ public class CacheServiceTest extends LocalFileMetadataTestCase { assertNotNull(cubeManager.getCube(cubeName)); assertNotNull(cubeManagerB.getCube(cubeName)); - assertTrue(containsRealization(projectManager.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), - RealizationType.CUBE, cubeName)); - assertTrue(containsRealization(projectManagerB.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), - RealizationType.CUBE, cubeName)); + assertTrue(containsRealization(projectManager.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), RealizationType.CUBE, cubeName)); + assertTrue(containsRealization(projectManagerB.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), RealizationType.CUBE, cubeName)); //update cube CubeInstance cube = cubeManager.getCube(cubeName); @@ -258,11 +252,9 @@ public class CacheServiceTest extends LocalFileMetadataTestCase { waitForCounterAndClear(2); assertTrue(cubeManager.getCube(cubeName) == null); - assertTrue(!containsRealization(projectManager.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), - RealizationType.CUBE, cubeName)); + assertTrue(!containsRealization(projectManager.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), RealizationType.CUBE, cubeName)); assertTrue(cubeManagerB.getCube(cubeName) == null); - assertTrue(!containsRealization(projectManagerB.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), - RealizationType.CUBE, cubeName)); + assertTrue(!containsRealization(projectManagerB.listAllRealizations(ProjectInstance.DEFAULT_PROJECT_NAME), RealizationType.CUBE, cubeName)); final String cubeDescName = "test_cube_desc"; cubeDesc.setName(cubeDescName); @@ -338,8 +330,7 @@ public class CacheServiceTest extends LocalFileMetadataTestCase { //only one for data model update assertEquals(1, broadcaster.getCounterAndClear()); waitForCounterAndClear(1); - assertEquals(dataModelDesc.getJoinTables().length, - metadataManagerB.getDataModelDesc(dataModelName).getJoinTables().length); + assertEquals(dataModelDesc.getJoinTables().length, metadataManagerB.getDataModelDesc(dataModelName).getJoinTables().length); } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/service/CubeServiceTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/service/CubeServiceTest.java b/server/src/test/java/org/apache/kylin/rest/service/CubeServiceTest.java index bbedb25..a190d6d 100644 --- a/server/src/test/java/org/apache/kylin/rest/service/CubeServiceTest.java +++ b/server/src/test/java/org/apache/kylin/rest/service/CubeServiceTest.java @@ -27,9 +27,9 @@ import org.apache.kylin.metadata.project.ProjectInstance; import org.junit.Assert; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import com.fasterxml.jackson.core.JsonProcessingException; +import org.springframework.beans.factory.annotation.Qualifier; /** * @author xduo http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java b/server/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java index 26f42dd..2012a05 100644 --- a/server/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java +++ b/server/src/test/java/org/apache/kylin/rest/service/ModelServiceTest.java @@ -62,8 +62,7 @@ public class ModelServiceTest extends ServiceTestBase { } @Test - public void testSuccessModelUpdateOnComputedColumn() - throws IOException, JobException, NoSuchFieldException, IllegalAccessException { + public void testSuccessModelUpdateOnComputedColumn() throws IOException, JobException, NoSuchFieldException, IllegalAccessException { List<DataModelDesc> dataModelDescs = modelService.listAllModels("ci_left_join_model", "default"); Assert.assertTrue(dataModelDescs.size() == 1); @@ -80,11 +79,9 @@ public class ModelServiceTest extends ServiceTestBase { } @Test - public void testFailureModelUpdateDueToComputedColumnConflict() - throws IOException, JobException, NoSuchFieldException, IllegalAccessException { + public void testFailureModelUpdateDueToComputedColumnConflict() throws IOException, JobException, NoSuchFieldException, IllegalAccessException { expectedEx.expect(IllegalStateException.class); - expectedEx.expectMessage( - "Computed column named DEFAULT.TEST_KYLIN_FACT.DEAL_AMOUNT is already defined in other models: [DataModelDesc [name=ci_left_join_model], DataModelDesc [name=ci_inner_join_model]]. Please change another name, or try to keep consistent definition"); + expectedEx.expectMessage("Computed column named DEFAULT.TEST_KYLIN_FACT.DEAL_AMOUNT is already defined in other models: [DataModelDesc [name=ci_left_join_model], DataModelDesc [name=ci_inner_join_model]]. Please change another name, or try to keep consistent definition"); List<DataModelDesc> dataModelDescs = modelService.listAllModels("ci_left_join_model", "default"); Assert.assertTrue(dataModelDescs.size() == 1); http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java ---------------------------------------------------------------------- diff --git a/server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java b/server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java index 93596d9..b45b27b 100644 --- a/server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java +++ b/server/src/test/java/org/apache/kylin/rest/service/ServiceTestBase.java @@ -72,18 +72,17 @@ public class ServiceTestBase extends LocalFileMetadataTestCase { if (!userService.userExists("ADMIN")) { userService.createUser(new User("ADMIN", "KYLIN", Arrays.asList(// - new UserGrantedAuthority(Constant.ROLE_ADMIN), new UserGrantedAuthority(Constant.ROLE_ANALYST), - new UserGrantedAuthority(Constant.ROLE_MODELER)))); + new UserGrantedAuthority(Constant.ROLE_ADMIN), new UserGrantedAuthority(Constant.ROLE_ANALYST), new UserGrantedAuthority(Constant.ROLE_MODELER)))); } if (!userService.userExists("MODELER")) { userService.createUser(new User("MODELER", "MODELER", Arrays.asList(// - new UserGrantedAuthority(Constant.ROLE_ANALYST), new UserGrantedAuthority(Constant.ROLE_MODELER)))); + new UserGrantedAuthority(Constant.ROLE_ANALYST), new UserGrantedAuthority(Constant.ROLE_MODELER)))); } if (!userService.userExists("ANALYST")) { userService.createUser(new User("ANALYST", "ANALYST", Arrays.asList(// - new UserGrantedAuthority(Constant.ROLE_ANALYST)))); + new UserGrantedAuthority(Constant.ROLE_ANALYST)))); } } http://git-wip-us.apache.org/repos/asf/kylin/blob/19585846/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java ---------------------------------------------------------------------- diff --git a/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java b/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java index 9800919..468ccb1 100644 --- a/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java +++ b/source-hive/src/main/java/org/apache/kylin/source/hive/BeelineHiveClient.java @@ -133,8 +133,7 @@ public class BeelineHiveClient implements IHiveClient { List<HiveTableMeta.HiveTableColumnMeta> allColumns = Lists.newArrayList(); while (columns.next()) { - allColumns.add(new HiveTableMeta.HiveTableColumnMeta(columns.getString(4), columns.getString(6), - columns.getString(12))); + allColumns.add(new HiveTableMeta.HiveTableColumnMeta(columns.getString(4), columns.getString(6), columns.getString(12))); } builder.setAllColumns(allColumns); DBUtils.closeQuietly(columns); @@ -158,8 +157,7 @@ public class BeelineHiveClient implements IHiveClient { if ("".equals(resultSet.getString(1).trim())) { break; } - partitionColumns.add(new HiveTableMeta.HiveTableColumnMeta(resultSet.getString(1).trim(), - resultSet.getString(2).trim(), resultSet.getString(3).trim())); + partitionColumns.add(new HiveTableMeta.HiveTableColumnMeta(resultSet.getString(1).trim(), resultSet.getString(2).trim(), resultSet.getString(3).trim())); } builder.setPartitionColumns(partitionColumns); } @@ -216,8 +214,7 @@ public class BeelineHiveClient implements IHiveClient { public static void main(String[] args) throws SQLException { - BeelineHiveClient loader = new BeelineHiveClient( - "-n root --hiveconf hive.security.authorization.sqlstd.confwhitelist.append='mapreduce.job.*|dfs.*' -u 'jdbc:hive2://sandbox:10000'"); + BeelineHiveClient loader = new BeelineHiveClient("-n root --hiveconf hive.security.authorization.sqlstd.confwhitelist.append='mapreduce.job.*|dfs.*' -u 'jdbc:hive2://sandbox:10000'"); //BeelineHiveClient loader = new BeelineHiveClient(StringUtils.join(args, " ")); HiveTableMeta hiveTableMeta = loader.getHiveTableMeta("default", "test_kylin_fact_part"); System.out.println(hiveTableMeta);