private static void copyACL(CubeInstance cube, String projectName) { operations.add(new Opt(OptType.COPY_ACL, new Object[] { cube.getUuid(), cube.getDescriptor().getModel().getUuid(), projectName })); }
protected void listCubeRelatedResources(CubeInstance cube, List<String> metaResource, Set<String> dictAndSnapshot) throws IOException { CubeDesc cubeDesc = cube.getDescriptor(); String prj = cubeDesc.getProject(); metaResource.add(cube.getResourcePath()); metaResource.add(cubeDesc.getResourcePath()); metaResource.add(DataModelDesc.concatResourcePath(cubeDesc.getModelName())); Set<TableRef> tblRefs = cubeDesc.getModel().getAllTables(); metaResource.addAll(getCompatibleTablePath(tblRefs, prj, ResourceStore.TABLE_RESOURCE_ROOT)); metaResource.addAll(getCompatibleTablePath(tblRefs, prj, ResourceStore.TABLE_EXD_RESOURCE_ROOT)); if (doMigrateSegment) { for (CubeSegment segment : cube.getSegments()) { metaResource.add(segment.getStatisticsResourcePath()); dictAndSnapshot.addAll(segment.getSnapshotPaths()); dictAndSnapshot.addAll(segment.getDictionaryPaths()); } } if (doAclCopy) { metaResource.add(ACL_PREFIX + cube.getUuid()); metaResource.add(ACL_PREFIX + cube.getModel().getUuid()); } }
modelRequest.setUuid(modelDesc.getUuid()); modelRequest.setSuccessful(true); return modelRequest;
modelRequest.setUuid(newModelDesc.getUuid()); modelRequest.setSuccessful(true); return modelRequest;
public DataModelDesc updateModelToResourceStore(DataModelDesc modelDesc, String projectName) throws IOException { aclEvaluate.checkProjectWritePermission(projectName); Message msg = MsgPicker.getMsg(); modelDesc.setDraft(false); if (modelDesc.getUuid() == null) modelDesc.updateRandomUuid(); try { if (modelDesc.getLastModified() == 0) { // new modelDesc = createModelDesc(projectName, modelDesc); } else { // update String error = checkIfBreakExistingCubes(modelDesc, projectName); if (!error.isEmpty()) { throw new BadRequestException(error); } modelDesc = updateModelAndDesc(projectName, modelDesc); } } catch (AccessDeniedException accessDeniedException) { throw new ForbiddenException(msg.getUPDATE_MODEL_NO_RIGHT()); } if (!modelDesc.getError().isEmpty()) { throw new BadRequestException(String.format(Locale.ROOT, msg.getBROKEN_MODEL_DESC(), modelDesc.getName())); } return modelDesc; }
@Test public void testGetCopyOf() throws JsonProcessingException { DataModelDesc desc = DataModelManager.getInstance(getTestConfig()).getDataModelDesc("test_kylin_inner_join_model_desc"); DataModelDesc copyDesc = DataModelDesc.getCopyOf(desc); // uuid is different, set to equals for json comparison copyDesc.setUuid(desc.getUuid()); copyDesc.setLastModified(desc.getLastModified()); String descStr = JsonUtil.writeValueAsIndentString(desc); String copyStr = JsonUtil.writeValueAsIndentString(copyDesc); assertEquals(descStr, copyStr); }
public DataModelDescResponse(DataModelDesc dataModelDesc) { setUuid(dataModelDesc.getUuid()); setLastModified(dataModelDesc.getLastModified()); setVersion(dataModelDesc.getVersion()); setName(dataModelDesc.getName()); setOwner(dataModelDesc.getOwner()); setDraft(dataModelDesc.isDraft()); setDescription(dataModelDesc.getDescription()); setRootFactTableName(dataModelDesc.getRootFactTableName()); setJoinTables(dataModelDesc.getJoinTables()); setDimensions(dataModelDesc.getDimensions()); setMetrics(dataModelDesc.getMetrics()); setFilterCondition(dataModelDesc.getFilterCondition()); if (dataModelDesc.getPartitionDesc() != null) setPartitionDesc(PartitionDesc.getCopyOf(dataModelDesc.getPartitionDesc())); setCapacity(dataModelDesc.getCapacity()); } }
private static void copyACL(CubeInstance cube, String projectName) { operations.add(new Opt(OptType.COPY_ACL, new Object[] { cube.getUuid(), cube.getDescriptor().getModel().getUuid(), projectName })); }
private static void copyACL(CubeInstance cube, String projectName) { operations.add(new Opt(OptType.COPY_ACL, new Object[] { cube.getUuid(), cube.getDescriptor().getModel().getUuid(), projectName })); }
protected void listCubeRelatedResources(CubeInstance cube, List<String> metaResource, Set<String> dictAndSnapshot) throws IOException { CubeDesc cubeDesc = cube.getDescriptor(); String prj = cubeDesc.getProject(); metaResource.add(cube.getResourcePath()); metaResource.add(cubeDesc.getResourcePath()); metaResource.add(DataModelDesc.concatResourcePath(cubeDesc.getModelName())); Set<TableRef> tblRefs = cubeDesc.getModel().getAllTables(); metaResource.addAll(getCompatibleTablePath(tblRefs, prj, ResourceStore.TABLE_RESOURCE_ROOT)); metaResource.addAll(getCompatibleTablePath(tblRefs, prj, ResourceStore.TABLE_EXD_RESOURCE_ROOT)); if (doMigrateSegment) { for (CubeSegment segment : cube.getSegments()) { metaResource.add(segment.getStatisticsResourcePath()); dictAndSnapshot.addAll(segment.getSnapshotPaths()); dictAndSnapshot.addAll(segment.getDictionaryPaths()); } } if (doAclCopy) { metaResource.add(ACL_PREFIX + cube.getUuid()); metaResource.add(ACL_PREFIX + cube.getModel().getUuid()); } }