/** * Returns unique problem locations. All locations in result * have an id element <code>problemIds</code>. * * @param problems the problems to filter * @param problemIds the ids of the resulting problem locations * @return problem locations */ protected static IProblemLocation[] filter(IProblemLocation[] problems, int[] problemIds) { ArrayList<IProblemLocation> result= new ArrayList<>(); for (int i= 0; i < problems.length; i++) { IProblemLocation problem= problems[i]; if (contains(problemIds, problem.getProblemId()) && !contains(result, problem)) { result.add(problem); } } return result.toArray(new IProblemLocation[result.size()]); }
@Override public final ICleanUpFix createFix(CleanUpContext context) throws CoreException { CompilationUnit unit= context.getAST(); if (unit == null) return null; if (context instanceof MultiFixContext) { return createFix(unit, ((MultiFixContext)context).getProblemLocations()); } else { return createFix(unit); } }
@Override public RefactoringStatus checkPreConditions(IJavaProject project, ICompilationUnit[] compilationUnits, IProgressMonitor monitor) throws CoreException { RefactoringStatus superStatus= super.checkPreConditions(project, compilationUnits, monitor); if (superStatus.hasFatalError()) return superStatus; return PotentialProgrammingProblemsFix.checkPreConditions(project, compilationUnits, monitor, isEnabled(CleanUpConstants.ADD_MISSING_SERIAL_VERSION_ID) && isEnabled(CleanUpConstants.ADD_MISSING_SERIAL_VERSION_ID_GENERATED), isEnabled(CleanUpConstants.ADD_MISSING_SERIAL_VERSION_ID) && isEnabled(CleanUpConstants.ADD_MISSING_SERIAL_VERSION_ID_DEFAULT), false); }
@Override public CleanUpRequirements getRequirements() { if (!isEnabled(CleanUpConstants.ADD_MISSING_METHODES) && !isEnabled(MAKE_TYPE_ABSTRACT)) return super.getRequirements(); return new CleanUpRequirements(true, false, false, null); }
@Override public RefactoringStatus checkPreConditions(IJavaProject project, ICompilationUnit[] compilationUnits, IProgressMonitor monitor) throws CoreException { RefactoringStatus superStatus= super.checkPreConditions(project, compilationUnits, monitor); if (superStatus.hasFatalError()) return superStatus; return PotentialProgrammingProblemsFix.checkPreConditions(project, compilationUnits, monitor, isEnabled(CleanUpConstants.ADD_MISSING_SERIAL_VERSION_ID) && isEnabled(CleanUpConstants.ADD_MISSING_SERIAL_VERSION_ID_GENERATED), isEnabled(CleanUpConstants.ADD_MISSING_SERIAL_VERSION_ID) && isEnabled(CleanUpConstants.ADD_MISSING_SERIAL_VERSION_ID_DEFAULT), false); }
@Override public CleanUpRequirements getRequirements() { if (!isEnabled(CleanUpConstants.ADD_MISSING_METHODES) && !isEnabled(MAKE_TYPE_ABSTRACT)) return super.getRequirements(); return new CleanUpRequirements(true, false, false, null); }
@Override public final ICleanUpFix createFix(CleanUpContext context) throws CoreException { CompilationUnit unit= context.getAST(); if (unit == null) return null; if (context instanceof MultiFixContext) { return createFix(unit, ((MultiFixContext)context).getProblemLocations()); } else { return createFix(unit); } }
/** * Returns unique problem locations. All locations in result * have an id element <code>problemIds</code>. * * @param problems the problems to filter * @param problemIds the ids of the resulting problem locations * @return problem locations */ protected static IProblemLocation[] filter(IProblemLocation[] problems, int[] problemIds) { ArrayList<IProblemLocation> result= new ArrayList<>(); for (int i= 0; i < problems.length; i++) { IProblemLocation problem= problems[i]; if (contains(problemIds, problem.getProblemId()) && !contains(result, problem)) { result.add(problem); } } return result.toArray(new IProblemLocation[result.size()]); }