public List<RealizationEntry> getRealizationEntries(final RealizationType type) { if (type == null) return getRealizationEntries(); return ImmutableList.copyOf(Iterables.filter(realizationEntries, new Predicate<RealizationEntry>() { @Override public boolean apply(@Nullable RealizationEntry input) { return input.getType() == type; } })); }
public List<ProjectInstance> findProjects(RealizationType type, String realizationName) { try (AutoLock lock = prjMapLock.lockForWrite()) { List<ProjectInstance> result = Lists.newArrayList(); for (ProjectInstance prj : projectMap.values()) { for (RealizationEntry entry : prj.getRealizationEntries()) { if (entry.getType().equals(type) && entry.getRealization().equals(realizationName)) { result.add(prj); break; } } } return result; } }
public List<CubeInstance> listAllCubes(String projectName) { ProjectManager projectManager = getProjectManager(); ProjectInstance project = projectManager.getProject(projectName); if (project == null) { return Collections.emptyList(); } ArrayList<CubeInstance> result = new ArrayList<CubeInstance>(); for (RealizationEntry projectDataModel : project.getRealizationEntries()) { if (projectDataModel.getType() == RealizationType.CUBE) { CubeInstance cube = getCubeManager().getCube(projectDataModel.getRealization()); if (cube != null) result.add(cube); else logger.error("Cube instance " + projectDataModel.getRealization() + " is failed to load"); } } return result; }
private static List<String> filterByProjects(List<String> allTableNames, List<String> projectNames) { ProjectManager projectManager = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()); CubeManager cubeManager = CubeManager.getInstance(KylinConfig.getInstanceFromEnv()); List<String> result = Lists.newArrayList(); for (String p : projectNames) { p = p.trim(); if (p.endsWith(",")) { p = p.substring(0, p.length() - 1); } ProjectInstance projectInstance = projectManager.getProject(p); List<RealizationEntry> cubeList = projectInstance.getRealizationEntries(RealizationType.CUBE); for (RealizationEntry cube : cubeList) { CubeInstance cubeInstance = cubeManager.getCube(cube.getRealization()); for (CubeSegment segment : cubeInstance.getSegments()) { String tableName = segment.getStorageLocationIdentifier(); if (allTableNames.contains(tableName)) { result.add(tableName); } } } } return result; }
for (RealizationEntry entry : project.getRealizationEntries()) { String realName = entry.getRealization(); IRealization realInstance = getRealization(config, realName, entry.getType());
for (RealizationEntry entry : pi.getRealizationEntries()) { IRealization realization = registry.getRealization(entry.getType(), entry.getRealization()); if (realization != null) {
.getRealizationEntries(RealizationType.HYBRID); if (realizationEntries != null) { for (RealizationEntry entry : realizationEntries) { aclEvaluate.checkProjectReadPermission(projectName); ProjectInstance projectInstance = getProjectManager().getProject(projectName); List<RealizationEntry> realizationEntries = projectInstance.getRealizationEntries(RealizationType.HYBRID); if (realizationEntries != null) { for (RealizationEntry entry : realizationEntries) {
protected boolean isCubeInProject(String projectName, CubeInstance target) { ProjectManager projectManager = getProjectManager(); ProjectInstance project = projectManager.getProject(projectName); if (project == null) { return false; } for (RealizationEntry projectDataModel : project.getRealizationEntries()) { if (projectDataModel.getType() == RealizationType.CUBE) { CubeInstance cube = getCubeManager().getCube(projectDataModel.getRealization()); if (cube == null) { logger.error("Project " + projectName + " contains realization " + projectDataModel.getRealization() + " which is not found by CubeManager"); continue; } if (cube.equals(target)) { return true; } } } return false; }
List<RealizationEntry> hybridRealizationEntries = projectInstance.getRealizationEntries(RealizationType.HYBRID);
@Test public void testHappyIngest() { String srcPath = Thread.currentThread().getContextClassLoader().getResource("cloned_cube_and_model.zip").getPath(); CubeMetaIngester.main(new String[] { "-project", "default", "-srcPath", srcPath }); ProjectInstance project = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()).getProject("default"); Assert.assertEquals(1, Collections.frequency(project.getTables(), "DEFAULT.TEST_KYLIN_FACT")); Assert.assertTrue(project.getModels().contains("cloned_model")); Assert.assertTrue(project.getRealizationEntries().contains(RealizationEntry.create(RealizationType.CUBE, "cloned_cube"))); getTestConfig().clearManagers(); CubeInstance instance = CubeManager.getInstance(KylinConfig.getInstanceFromEnv()).getCube("cloned_cube"); Assert.assertTrue(instance != null); }
@Test public void testHappyIngest2() { String srcPath = Thread.currentThread().getContextClassLoader().getResource("benchmark_meta.zip").getPath(); CubeMetaIngester.main(new String[] { "-project", "default", "-srcPath", srcPath, "-overwriteTables", "true" }); ProjectInstance project = ProjectManager.getInstance(KylinConfig.getInstanceFromEnv()).getProject("default"); Assert.assertEquals(1, Collections.frequency(project.getTables(), "SSB.CUSTOMER")); Assert.assertTrue(project.getModels().contains("benchmark_model")); Assert.assertTrue(project.getRealizationEntries().contains(RealizationEntry.create(RealizationType.CUBE, "benchmark_cube"))); getTestConfig().clearManagers(); CubeInstance instance = CubeManager.getInstance(KylinConfig.getInstanceFromEnv()).getCube("benchmark_cube"); Assert.assertTrue(instance != null); }
cube = (CubeInstance) olapContext.realization; ProjectInstance project = cube.getProjectInstance(); List<RealizationEntry> realizationEntries = project.getRealizationEntries(); String lookupTableName = olapContext.firstTableScan.getTableName(); CubeManager cubeMgr = CubeManager.getInstance(cube.getConfig());
private void requireProject(ProjectInstance projectInstance) throws IOException { addRequired(projectInstance.getResourcePath()); List<RealizationEntry> realizationEntries = projectInstance.getRealizationEntries(); for (RealizationEntry realizationEntry : realizationEntries) { retrieveResourcePath(getRealization(realizationEntry)); } List<DataModelDesc> modelDescs = metadataManager.getModels(projectInstance.getName()); for (DataModelDesc modelDesc : modelDescs) { addRequired(DataModelDesc.concatResourcePath(modelDesc.getName())); } addOptional(badQueryHistoryManager.getBadQueriesForProject(projectInstance.getName()).getResourcePath()); }
throw new IllegalArgumentException("Project " + projectName + " does not exist"); List<RealizationEntry> realizationEntries = projectInstance.getRealizationEntries(); for (RealizationEntry realizationEntry : realizationEntries) { retrieveResourcePath(getRealization(realizationEntry));
public List<RealizationEntry> getRealizationEntries(final RealizationType type) { if (type == null) return getRealizationEntries(); return ImmutableList.copyOf(Iterables.filter(realizationEntries, new Predicate<RealizationEntry>() { @Override public boolean apply(@Nullable RealizationEntry input) { return input.getType() == type; } })); }
public List<ProjectInstance> findProjects(RealizationType type, String realizationName) { List<ProjectInstance> result = Lists.newArrayList(); for (ProjectInstance prj : projectMap.values()) { for (RealizationEntry entry : prj.getRealizationEntries()) { if (entry.getType().equals(type) && entry.getRealization().equalsIgnoreCase(realizationName)) { result.add(prj); break; } } } return result; }
private void wireProjectAndRealizations(Collection<ProjectInstance> projectInstances) { if (projectInstances.isEmpty()) return; RealizationRegistry registry = RealizationRegistry.getInstance(config); for (ProjectInstance projectInstance : projectInstances) { for (RealizationEntry realization : projectInstance.getRealizationEntries()) { IRealization rel = registry.getRealization(realization.getType(), realization.getRealization()); if (rel != null) { rel.setProjectName(projectInstance.getName()); } else { logger.warn("Realization '" + realization + "' defined under project '" + projectInstance + "' is not found"); } } } }
for (RealizationEntry entry : pi.getRealizationEntries()) { IRealization realization = registry.getRealization(entry.getType(), entry.getRealization()); if (realization != null) {
public ProjectInstance updateProject(ProjectInstance project, String newName, String newDesc) throws IOException { if (!project.getName().equals(newName)) { ProjectInstance newProject = this.createProject(newName, project.getOwner(), newDesc); // FIXME table lost?? newProject.setCreateTimeUTC(project.getCreateTimeUTC()); newProject.recordUpdateTime(System.currentTimeMillis()); newProject.setRealizationEntries(project.getRealizationEntries()); deleteResource(project); saveResource(newProject); return newProject; } else { project.setName(newName); project.setDescription(newDesc); if (project.getUuid() == null) project.updateRandomUuid(); saveResource(project); return project; } }
public List<ProjectInstance> findProjects(RealizationType type, String realizationName) { List<ProjectInstance> result = Lists.newArrayList(); for (ProjectInstance prj : projectMap.values()) { for (RealizationEntry entry : prj.getRealizationEntries()) { if (entry.getType().equals(type) && entry.getRealization().equalsIgnoreCase(realizationName)) { result.add(prj); break; } } } return result; }