Adding ability to drop OAR files to install apps.
Change-Id: I989a92db4c94ef86d029d6b36f769f28e4fee52d
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/ApplicationResource.java b/web/gui/src/main/java/org/onosproject/ui/impl/ApplicationResource.java
index 7601478..93d9146 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/ApplicationResource.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/ApplicationResource.java
@@ -22,15 +22,18 @@
import org.onosproject.core.ApplicationId;
import javax.ws.rs.Consumes;
+import javax.ws.rs.DefaultValue;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Objects;
/**
* Application upload resource.
@@ -38,11 +41,20 @@
@Path("applications")
public class ApplicationResource extends BaseResource {
+ static String lastInstalledAppName = null;
+
+
@Path("upload")
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
- public Response upload(@FormDataParam("file") InputStream stream) throws IOException {
- get(ApplicationAdminService.class).install(stream);
+ public Response upload(@QueryParam("activate") @DefaultValue("false") String activate,
+ @FormDataParam("file") InputStream stream) throws IOException {
+ ApplicationAdminService service = get(ApplicationAdminService.class);
+ Application app = service.install(stream);
+ lastInstalledAppName = app.id().name();
+ if (Objects.equals(activate, "true")) {
+ service.activate(app.id());
+ }
return Response.ok().build();
}