/** * <p>Copyright: Copyright (c) 2012</p> * <p>Company: �������ӹɷ����޹�˾</p> */ package com.hundsun.ares.studio.jres.basicdata.ui.util; import org.apache.commons.lang.StringUtils; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.ltk.core.refactoring.Change; import org.eclipse.ltk.core.refactoring.resource.ResourceChange; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.jres.basicdata.core.basicdata.EpacakgeDefineList; /** * @author lvgao * */ public class EPackageDefineURLChange extends ResourceChange{ IARESResource resource; String oldName; String newName; public EPackageDefineURLChange(IARESResource resource,String oldName, String newName){ this.resource = resource; this.oldName = oldName; this.newName = newName; } /* (non-Javadoc) * @see org.eclipse.ltk.core.refactoring.Change#getName() */ @Override public String getName() { return String.format("�������������ع���URL��%s��Ϊ%s", oldName,newName); } /* (non-Javadoc) * @see org.eclipse.ltk.core.refactoring.resource.ResourceChange#getModifiedResource() */ @Override protected IResource getModifiedResource() { return resource.getResource(); } /* (non-Javadoc) * @see org.eclipse.ltk.core.refactoring.Change#perform(org.eclipse.core.runtime.IProgressMonitor) */ @Override public Change perform(IProgressMonitor pm) throws CoreException { try { EpacakgeDefineList defineList= resource.getInfo(EpacakgeDefineList.class); for(int i = defineList.getItems().size() - 1; i >= 0; i--){ if(StringUtils.equals(defineList.getItems().get(i).getUrl(), oldName)){ defineList.getItems().get(i).setUrl(newName); } } resource.save(defineList, true, new NullProgressMonitor()); } catch (Exception e) { } return new EPackageDefineURLChange(resource, newName, oldName); } }