String message = NLS.bind(Messages.resources_settingDerivedFlag, getFullPath()); monitor.beginTask(message, Policy.totalWork); final ISchedulingRule rule = workspace.getRuleFactory().derivedRule(this); try { workspace.prepareOperation(rule, monitor);
String message = NLS.bind(Messages.resources_settingDerivedFlag, getFullPath()); monitor.beginTask(message, Policy.totalWork); final ISchedulingRule rule = workspace.getRuleFactory().derivedRule(this); try { workspace.prepareOperation(rule, monitor);
IResourceRuleFactory factory = workspace.getRuleFactory(); ISchedulingRule rule = MultiRule.combine(new ISchedulingRule[] {factory.deleteRule(fileInWorkspace), factory.createRule(fileInWorkspace.getParent()), factory.modifyRule(fileInWorkspace), factory.derivedRule(fileInWorkspace)}); workspace.run(operation, rule, IResource.NONE, null); if (bse[0] != null)
IResourceRuleFactory factory = workspace.getRuleFactory(); ISchedulingRule rule = MultiRule.combine(new ISchedulingRule[] {factory.deleteRule(fileInWorkspace), factory.createRule(fileInWorkspace.getParent()), factory.modifyRule(fileInWorkspace), factory.derivedRule(fileInWorkspace)}); workspace.run(operation, rule, IResource.NONE, null); if (bse[0] != null)
IResourceRuleFactory factory = workspace.getRuleFactory(); ISchedulingRule rule = MultiRule.combine(new ISchedulingRule[] {factory.deleteRule(fileInWorkspace), factory.createRule(fileInWorkspace.getParent()), factory.modifyRule(fileInWorkspace), factory.derivedRule(fileInWorkspace)}); workspace.run(operation, rule, IResource.NONE, null); if (bse[0] != null)
@Override public void setDerived(boolean isDerived, IProgressMonitor monitor) throws CoreException { String message = NLS.bind(Messages.resources_settingDerivedFlag, getFullPath()); SubMonitor progress = SubMonitor.convert(monitor, message, 100).checkCanceled(); final ISchedulingRule rule = workspace.getRuleFactory().derivedRule(this); try { workspace.prepareOperation(rule, progress.split(1)); ResourceInfo info = getResourceInfo(false, false); checkAccessible(getFlags(info)); // Ignore attempts to set derived flag on anything except files and folders. if (info.getType() != FILE && info.getType() != FOLDER) return; workspace.beginOperation(true); info = getResourceInfo(false, true); if (isDerived) { info.set(ICoreConstants.M_DERIVED); } else { info.clear(ICoreConstants.M_DERIVED); } progress.split(98); } catch (OperationCanceledException e) { workspace.getWorkManager().operationCanceled(); throw e; } finally { workspace.endOperation(rule, true); } }