public ViewConfig getViewConfig(DoradoContext context, String viewName) throws Exception { ViewConfig viewConfig = (ViewConfig) context.getAttribute(viewName); if (viewConfig == null) { viewConfig = viewConfigManager.getViewConfig(viewName); context.setAttribute(viewName, viewConfig); } return viewConfig; }
@SuppressWarnings("unchecked") private Map<String, String> doUserQuerySchemas() { DoradoContext context = DoradoContext.getCurrent(); Map<String, String> querySchemas = (Map<String, String>) context.getAttribute(DoradoContext.SESSION, QUERY_SCHEMAS_KEY); if (querySchemas == null) { querySchemas = new LinkedHashMap<String, String>(); querySchemas.putAll(QUERY_SCHEMAS); context.setAttribute(DoradoContext.SESSION, QUERY_SCHEMAS_KEY, querySchemas); } return querySchemas; }
public DataProvider getDataProvider(String dataProviderId) throws Exception { DataProvider dataProvider; // 判断是否View中的私有DataProvider if (dataProviderId.startsWith(PRIVATE_VIEW_OBJECT_PREFIX)) { ParsedDataObjectName parsedName = new ParsedDataObjectName(dataProviderId); ViewConfig viewConfig = getViewConfig(DoradoContext.getCurrent(), parsedName.getViewName()); dataProvider = viewConfig.getDataProvider(parsedName.getDataObject()); } else { dataProvider = dataProviderManager.getDataProvider(dataProviderId); } return dataProvider; }