private static LiferayDescriptorHelper[] getDescriptorHelpers( IProject project, Class<? extends IDescriptorOperation> type) { List<LiferayDescriptorHelper> retval = new ArrayList<LiferayDescriptorHelper>(); project = CoreUtil.getLiferayProject(project); if (project == null || !project.exists()) { return null; } final LiferayDescriptorHelper[] allHelpers = LiferayDescriptorHelperReader.getInstance().getAllHelpers(); for (LiferayDescriptorHelper helper : allHelpers) { helper.setProject(project); final IFile descriptorFile = helper.getDescriptorFile(); if (descriptorFile != null && descriptorFile.exists()) { if (helper.getDescriptorOperation(type) != null) { retval.add(helper); } } } return retval.toArray(new LiferayDescriptorHelper[0]); }
public static IStatus operate( IProject project, Class<? extends IDescriptorOperation> type, Object... params) { IStatus status = Status.OK_STATUS; LiferayDescriptorHelper[] helpers = getDescriptorHelpers(project, type); for (LiferayDescriptorHelper helper : helpers) { status = helper.getDescriptorOperation(type).execute(params); if (!status.isOK()) { return status; } } return status; }