/** * Get detail information of the "Model ID" * * @param model_name * Model ID * @return * @throws IOException */ @RequestMapping(value = "/{model_name}", method = { RequestMethod.GET }, produces = { "application/json" }) @ResponseBody public DataModelDesc getModel(@PathVariable String model_name) { DataModelManager metaManager = DataModelManager.getInstance(KylinConfig.getInstanceFromEnv()); DataModelDesc modeDesc = metaManager.getDataModelDesc(model_name); return modeDesc; }
public List<String> getModelsUsingTable(TableDesc table, String project) throws IOException { try (AutoLock lock = modelMapLock.lockForRead()) { List<String> models = new ArrayList<>(); for (DataModelDesc modelDesc : getModels(project)) { if (modelDesc.containsTable(table)) models.add(modelDesc.getName()); } return models; } }
public DataModelDesc createModelDesc(String projectName, DataModelDesc desc) throws IOException { aclEvaluate.checkProjectWritePermission(projectName); Message msg = MsgPicker.getMsg(); if (getDataModelManager().getDataModelDesc(desc.getName()) != null) { throw new BadRequestException(String.format(Locale.ROOT, msg.getDUPLICATE_MODEL_NAME(), desc.getName())); } String factTableName = desc.getRootFactTableName(); TableDesc tableDesc = getTableManager().getTableDesc(factTableName, projectName); if (tableDesc.getSourceType() == ISourceAware.ID_STREAMING && (desc.getPartitionDesc() == null || desc.getPartitionDesc().getPartitionDateColumn() == null)) { throw new IllegalArgumentException("Must define a partition column."); } DataModelDesc createdDesc = null; String owner = SecurityContextHolder.getContext().getAuthentication().getName(); createdDesc = getDataModelManager().createDataModelDesc(desc, projectName, owner); return createdDesc; }
private DataModelDesc saveDataModelDesc(DataModelDesc dataModelDesc) throws IOException { String prj = ProjectManager.getInstance(config).getProjectOfModel(dataModelDesc.getName()).getName(); if (!dataModelDesc.isDraft()) dataModelDesc.init(config, this.getAllTablesMap(prj), getModels(prj), false); crud.save(dataModelDesc); return dataModelDesc; }
public DataModelManager getMetadataManager() { return DataModelManager.getInstance(config); }
@RequestMapping(value = "/{modelName}", method = { RequestMethod.DELETE }, produces = { "application/json" }) @ResponseBody public void deleteModel(@PathVariable String modelName) { DataModelDesc desc = modelService.getDataModelManager().getDataModelDesc(modelName); if (null == desc) { throw new NotFoundException("Data Model with name " + modelName + " not found.."); } try { modelService.dropModel(desc); } catch (Exception e) { logger.error(e.getLocalizedMessage(), e); throw new InternalErrorException("Failed to delete model. " + " Caused by: " + e.getMessage(), e); } }
DataModelManager modelManager = DataModelManager.getInstance(kylinConfig); for (DataModelDesc dataModelDesc : srcModelManager.listDataModels()) { checkExesting(modelManager.getDataModelDesc(dataModelDesc.getName()), "model", dataModelDesc.getName()); requiredResources.add(DataModelDesc.concatResourcePath(dataModelDesc.getName()));
public ModelRequest cloneModel(@PathVariable String modelName, @RequestBody ModelRequest modelRequest) { String project = StringUtils.trimToNull(modelRequest.getProject()); DataModelManager metaManager = DataModelManager.getInstance(KylinConfig.getInstanceFromEnv()); DataModelDesc modelDesc = metaManager.getDataModelDesc(modelName); String newModelName = modelRequest.getModelName(); metaManager.reloadDataModel(newModelName); } catch (IOException e) { throw new InternalErrorException("failed to clone DataModelDesc", e);
public DataModelManager getDataModelManager() { return DataModelManager.getInstance(getConfig()); }
public DataModelDesc getModel(final String modelName, final String projectName) throws IOException { if (null == projectName) { aclEvaluate.checkIsGlobalAdmin(); } else { aclEvaluate.checkProjectReadPermission(projectName); } return getDataModelManager().getDataModelDesc(modelName); }
DataModelManager modelManager = DataModelManager.getInstance(kylinConfig); for (DataModelDesc dataModelDesc : srcModelManager.listDataModels()) { checkExesting(modelManager.getDataModelDesc(dataModelDesc.getName()), "model", dataModelDesc.getName()); requiredResources.add(DataModelDesc.concatResourcePath(dataModelDesc.getName()));
private DataModelDesc saveDataModelDesc(DataModelDesc dataModelDesc) throws IOException { String prj = ProjectManager.getInstance(config).getProjectOfModel(dataModelDesc.getName()).getName(); if (!dataModelDesc.isDraft()) dataModelDesc.init(config, this.getAllTablesMap(prj), getModels(prj), false); crud.save(dataModelDesc); return dataModelDesc; }
private DataModelDesc getModel(String name) { DataModelManager mgr = DataModelManager.getInstance(KylinConfig.getInstanceFromEnv()); DataModelDesc model = mgr.getDataModelDesc(name); return model; }
public HybridCubeCLI() { options = new Options(); options.addOption(OPTION_ACTION); options.addOption(OPTION_HYBRID_NAME); options.addOption(OPTION_PROJECT); options.addOption(OPTION_MODEL); options.addOption(OPTION_CUBES); options.addOption(OPTION_CHECK); this.kylinConfig = KylinConfig.getInstanceFromEnv(); this.store = ResourceStore.getStore(kylinConfig); this.cubeManager = CubeManager.getInstance(kylinConfig); this.hybridManager = HybridManager.getInstance(kylinConfig); this.metadataManager = DataModelManager.getInstance(kylinConfig); }
public List<DataModelDesc> getModels(String projectName) { try (AutoLock lock = modelMapLock.lockForRead()) { ProjectInstance projectInstance = ProjectManager.getInstance(config).getProject(projectName); ArrayList<DataModelDesc> ret = new ArrayList<>(); if (projectInstance != null && projectInstance.getModels() != null) { for (String modelName : projectInstance.getModels()) { DataModelDesc model = getDataModelDesc(modelName); if (null != model) { ret.add(model); } else { logger.info("Model " + modelName + " is missing or unloaded yet"); } } } return ret; } }
public boolean isTableInAnyModel(TableDesc table) { try (AutoLock lock = modelMapLock.lockForRead()) { for (DataModelDesc modelDesc : getModels()) { if (modelDesc.containsTable(table)) return true; } return false; } }
private RootPersistentEntity getSampleModel() { DataModelManager metaMgr = DataModelManager.getInstance(getTestConfig()); DataModelDesc model = metaMgr.getDataModelDesc("ci_left_join_model"); return model; } }
public void verify() { logger.info("================================================================="); logger.info("The changes are applied, now it's time to verify the new metadata store by reloading all metadata:"); logger.info("================================================================="); config.clearManagers(); DataModelManager.getInstance(config); CubeDescManager.getInstance(config); CubeManager.getInstance(config); ProjectManager.getInstance(config); //cleanup(); }
String owner = null; DataModelDesc modelDesc = metadataManager.getDataModelDesc(modelName); if (modelDesc == null) { throw new IllegalArgumentException("Could not find model: " + modelName);
public boolean isModelNameValidate(final String modelName) { if (StringUtils.isEmpty(modelName) || !ValidateUtil.isAlphanumericUnderscore(modelName)) { return false; } for (DataModelDesc model : getDataModelManager().getModels()) { if (modelName.equalsIgnoreCase(model.getName())) { return false; } } return true; }