package blade.migrate.liferay70;
import blade.migrate.api.FileMigrator;
import blade.migrate.core.JavaFileChecker;
import blade.migrate.core.JavaFileMigrator;
import blade.migrate.core.SearchResult;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import org.osgi.service.component.annotations.Component;
@Component(
property = {
"file.extensions=java,jsp,jspf",
"problem.summary=The method render has been removed from the interfaces AssetRenderer and WorkflowHandler.",
"problem.tickets=LPS-56705",
"problem.title=Removed render Method from AssetRenderer API and WorkflowHandler API",
"problem.section=#removed-render-method-from-assetrenderer-api-and-workflowhandler-api"
},
service = FileMigrator.class
)
public class AssetRendererAndWorkflowHandlerRenderInvocation
extends JavaFileMigrator {
@Override
protected List<SearchResult> searchJavaFile(File file,
JavaFileChecker javaFileChecker) {
final List<SearchResult> searchResults = new ArrayList<SearchResult>();
final String[] assetRendererArgTypes = new String[] { "RenderRequest",
"RenderResponse", "String" };
final String[] workflowHandlerArgTypes = new String[] { "long",
"RenderRequest", "RenderResponse", "String" };
// render method declarations
List<SearchResult> declarations = javaFileChecker
.findMethodDeclaration("render", assetRendererArgTypes);
searchResults.addAll(declarations);
declarations = javaFileChecker.findMethodDeclaration("render",
workflowHandlerArgTypes);
searchResults.addAll(declarations);
// render method invocations
List<SearchResult> invocations = javaFileChecker.findMethodInvocations(
"AssetRenderer", null, "render", assetRendererArgTypes);
searchResults.addAll(invocations);
invocations = javaFileChecker.findMethodInvocations("WorkflowHandler",
null, "render", workflowHandlerArgTypes);
searchResults.addAll(invocations);
return searchResults;
}
}