if (Play.mode.isDev() && request.method.equals("POST") && request.url.matches("^/@evolutions/force/[a-zA-Z0-9]+/[0-9]+$")) {
int index = request.url.lastIndexOf("/@evolutions/force/") + "/@evolutions/force/".length();
String moduleKey = request.url.substring(index, request.url.lastIndexOf("/"));
int revision = Integer.parseInt(request.url.substring(request.url.lastIndexOf("/") + 1));
resolve(moduleKey, revision);
new Redirect("/").apply(request, response);
return true;
}
// Apply the current evolution script
if (Play.mode.isDev() && request.method.equals("POST") && request.url.equals("/@evolutions/apply")) {
for(Entry<String, VirtualFile> moduleRoot : modulesWithEvolutions.entrySet()) {
applyScript(true, moduleRoot.getKey(), moduleRoot.getValue());
}
new Redirect("/").apply(request, response);
return true;
}
return super.rawInvocation(request, response);
}