private void checkContextGroupSource() { IContextManager contextManager = getContextManager(); if (helper == null) { return; } if (contextManager != null) { helper.initHelper(contextManager); Map<String, Item> items = new HashMap<String, Item>(); boolean needRefresh = false; for (IContextParameter param : contextManager.getDefaultContext().getContextParameterList()) { if (!param.isBuiltIn()) { String source = param.getSource(); Item sourceItem = items.get(source); if (sourceItem == null) { sourceItem = ContextUtils.getRepositoryContextItemById(source); } if (sourceItem == null) { // source not found needRefresh = true; param.setSource(IContextParameter.BUILT_IN); propagateType(contextManager, param); } else { items.put(source, sourceItem); } } } if (needRefresh) { setModifiedFlag(contextManager); modelManager.refresh(); } } }
private void propagateType(IContextManager contextManager, IContextParameter param) { for (IContext context : contextManager.getListContext()) { IContextParameter paramToModify = context.getContextParameter(param.getName()); paramToModify.setType(param.getType()); paramToModify.setComment(param.getComment()); paramToModify.setSource(param.getSource()); } }