protected void createModel(IProject project, boolean notify) { if (project.exists(ICoreConstants.FEATURE_PATH)) { WorkspaceFeatureModel model = new WorkspaceFeatureModel(project.getFile(ICoreConstants.FEATURE_PATH)); loadModel(model, false); if (fModels == null) fModels = new HashMap(); fModels.put(project, model); if (notify) addChange(model, IModelProviderEvent.MODELS_ADDED); } }
@Override protected void createModel(IProject project, boolean notify) { IFile featureXml = PDEProject.getFeatureXml(project); if (featureXml.exists()) { IModel model = new WorkspaceFeatureModel(featureXml); loadModel(model, false); if (fModels == null) fModels = new HashMap<>(); fModels.put(project, model); if (notify) addChange(model, IModelProviderEvent.MODELS_ADDED); } }
@Override protected void handleFileDelta(IResourceDelta delta) { IFile file = (IFile) delta.getResource(); IProject project = file.getProject(); IFile featureXml = PDEProject.getFeatureXml(project); if (file.equals(featureXml)) { Object model = getModel(project); int kind = delta.getKind(); if (kind == IResourceDelta.REMOVED && model != null) { removeModel(project); } else if (kind == IResourceDelta.ADDED || model == null) { createModel(file.getProject(), true); } else if (kind == IResourceDelta.CHANGED && (IResourceDelta.CONTENT & delta.getFlags()) != 0) { loadModel((IFeatureModel) model, true); addChange(model, IModelProviderEvent.MODELS_CHANGED); } } }
protected void handleFileDelta(IResourceDelta delta) { IFile file = (IFile)delta.getResource(); if (file.getProjectRelativePath().equals(ICoreConstants.FEATURE_PATH)) { IProject project = file.getProject(); Object model = getModel(project); int kind = delta.getKind(); if (kind == IResourceDelta.REMOVED && model != null) { removeModel(project); } else if (kind == IResourceDelta.ADDED || model == null) { createModel(file.getProject(), true); } else if (kind == IResourceDelta.CHANGED && (IResourceDelta.CONTENT & delta.getFlags()) != 0) { loadModel((IFeatureModel)model, true); addChange(model, IModelProviderEvent.MODELS_CHANGED); } } }