You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eagle.apache.org by ha...@apache.org on 2016/08/02 06:37:05 UTC

incubator-eagle git commit: [EAGLE-403] Support to delete site resources with uuid

Repository: incubator-eagle
Updated Branches:
  refs/heads/develop 557ccf9b1 -> 5b190a5a9


[EAGLE-403] Support to delete site resources with uuid

https://issues.apache.org/jira/browse/EAGLE-403

Author: Hao Chen <ha...@apache.org>

Closes #289 from haoch/SupportDeleteSiteWithUUID.


Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/5b190a5a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/5b190a5a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/5b190a5a

Branch: refs/heads/develop
Commit: 5b190a5a936ef90d3b25d58e591be388ee215a86
Parents: 557ccf9
Author: Hao Chen <ha...@apache.org>
Authored: Tue Aug 2 14:36:46 2016 +0800
Committer: Hao Chen <ha...@apache.org>
Committed: Tue Aug 2 14:36:46 2016 +0800

----------------------------------------------------------------------
 .../eagle/app/resource/ApplicationResource.java |  1 -
 .../eagle/metadata/resource/SiteResource.java   | 18 +++++++++--
 .../eagle/metadata/resource/UUIDRequest.java    | 32 ++++++++++++++++++++
 .../metadata/service/SiteEntityService.java     |  1 +
 .../SiteEntityEntityServiceMemoryImpl.java      |  5 +++
 5 files changed, 54 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/5b190a5a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/resource/ApplicationResource.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/resource/ApplicationResource.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/resource/ApplicationResource.java
index dad9f66..12d2d2d 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/resource/ApplicationResource.java
+++ b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/resource/ApplicationResource.java
@@ -72,7 +72,6 @@ public class ApplicationResource {
     }
 
     @GET
-    @Path("/")
     @Produces(MediaType.APPLICATION_JSON)
     public RESTResponse<Collection<ApplicationEntity>> getApplicationEntities(@QueryParam("siteId") String siteId){
         return RESTResponse.async(()-> {

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/5b190a5a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/SiteResource.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/SiteResource.java b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/SiteResource.java
index 972cda1..64e19a3 100644
--- a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/SiteResource.java
+++ b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/SiteResource.java
@@ -36,14 +36,12 @@ public class SiteResource {
     }
 
     @GET
-    @Path("/")
     @Produces(MediaType.APPLICATION_JSON)
     public RESTResponse<Collection<SiteEntity>> getAllSites(){
         return RESTResponse.async(siteEntityService::findAll).get();
     }
 
     @POST
-    @Path("/")
     @Consumes(MediaType.APPLICATION_JSON)
     @Produces(MediaType.APPLICATION_JSON)
     public RESTResponse<SiteEntity> createSite(SiteEntity siteEntity){
@@ -68,6 +66,13 @@ public class SiteResource {
         return RESTResponse.async(()->siteEntityService.deleteBySiteId(siteId)).get();
     }
 
+    @DELETE
+    @Consumes(MediaType.APPLICATION_JSON)
+    @Produces(MediaType.APPLICATION_JSON)
+    public RESTResponse<SiteEntity> deleteSiteByUUID(UUIDRequest uuidRequest){
+        return RESTResponse.async(()->siteEntityService.deleteByUUID(uuidRequest.getUuid())).get();
+    }
+
     @PUT
     @Path("/{siteId}")
     @Produces(MediaType.APPLICATION_JSON)
@@ -78,4 +83,13 @@ public class SiteResource {
             return siteEntityService.update(siteEntity);
         }).get();
     }
+
+    @PUT
+    @Produces(MediaType.APPLICATION_JSON)
+    @Consumes(MediaType.APPLICATION_JSON)
+    public RESTResponse<SiteEntity> updateSite(SiteEntity siteEntity){
+        return RESTResponse.async(()-> {
+            return siteEntityService.update(siteEntity);
+        }).get();
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/5b190a5a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/UUIDRequest.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/UUIDRequest.java b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/UUIDRequest.java
new file mode 100644
index 0000000..259252f
--- /dev/null
+++ b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/resource/UUIDRequest.java
@@ -0,0 +1,32 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.eagle.metadata.resource;
+
+
+import java.io.Serializable;
+
+public class UUIDRequest implements Serializable{
+    private String uuid;
+
+    public String getUuid() {
+        return uuid;
+    }
+
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/5b190a5a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/SiteEntityService.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/SiteEntityService.java b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/SiteEntityService.java
index acea982..eec5da3 100644
--- a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/SiteEntityService.java
+++ b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/SiteEntityService.java
@@ -23,5 +23,6 @@ import org.apache.eagle.metadata.persistence.PersistenceService;
 public interface SiteEntityService extends PersistenceService<SiteEntity>{
     SiteEntity getBySiteId(String siteId) throws EntityNotFoundException;
     SiteEntity deleteBySiteId(String siteId) throws EntityNotFoundException;
+    SiteEntity deleteByUUID(String uuid) throws EntityNotFoundException;
     SiteEntity update(SiteEntity siteEntity) throws EntityNotFoundException;
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/5b190a5a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/memory/SiteEntityEntityServiceMemoryImpl.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/memory/SiteEntityEntityServiceMemoryImpl.java b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/memory/SiteEntityEntityServiceMemoryImpl.java
index f2a6f60..8cd88d8 100644
--- a/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/memory/SiteEntityEntityServiceMemoryImpl.java
+++ b/eagle-core/eagle-metadata/eagle-metadata-base/src/main/java/org/apache/eagle/metadata/service/memory/SiteEntityEntityServiceMemoryImpl.java
@@ -72,6 +72,11 @@ public class SiteEntityEntityServiceMemoryImpl implements SiteEntityService {
     }
 
     @Override
+    public SiteEntity deleteByUUID(String uuid) throws EntityNotFoundException {
+        return siteId2EntityMap.remove(getByUUID(uuid).getSiteId());
+    }
+
+    @Override
     public SiteEntity update(SiteEntity siteEntity) throws EntityNotFoundException {
         if(siteEntity.getSiteId() == null && siteEntity.getUuid() == null){
             throw new IllegalArgumentException("siteId and UUID are both null, don't know how to update");