瀏覽代碼

AMBARI-8329 - Views: Unable to delete view (tbeerbower)

tbeerbower 10 年之前
父節點
當前提交
c7aea4b32b

+ 1 - 0
ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java

@@ -1152,6 +1152,7 @@ public class ViewRegistry {
         instance.setResource(persistedInstance.getResource());
         instance.setViewInstanceId(persistedInstance.getViewInstanceId());
         instance.setData(persistedInstance.getData());
+        instance.setEntities(persistedInstance.getEntities());
       }
     }
   }

+ 19 - 0
ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java

@@ -67,6 +67,7 @@ import org.apache.ambari.server.orm.entities.PrivilegeEntity;
 import org.apache.ambari.server.orm.entities.ResourceEntity;
 import org.apache.ambari.server.orm.entities.ResourceTypeEntity;
 import org.apache.ambari.server.orm.entities.ViewEntity;
+import org.apache.ambari.server.orm.entities.ViewEntityEntity;
 import org.apache.ambari.server.orm.entities.ViewEntityTest;
 import org.apache.ambari.server.orm.entities.ViewInstanceDataEntity;
 import org.apache.ambari.server.orm.entities.ViewInstanceEntity;
@@ -206,6 +207,18 @@ public class ViewRegistryTest {
 
     for (ViewInstanceEntity viewInstanceEntity : viewInstanceEntities) {
       viewInstanceEntity.putInstanceData("p1", "v1");
+
+      Collection<ViewEntityEntity> entities = new HashSet<ViewEntityEntity>();
+      ViewEntityEntity viewEntityEntity = new ViewEntityEntity();
+      viewEntityEntity.setId(99L);
+      viewEntityEntity.setIdProperty("id");
+      viewEntityEntity.setViewName("MY_VIEW{1.0.0}");
+      viewEntityEntity.setClassName("class");
+      viewEntityEntity.setViewInstanceName(viewInstanceEntity.getName());
+      viewEntityEntity.setViewInstance(viewInstanceEntity);
+      entities.add(viewEntityEntity);
+
+      viewInstanceEntity.setEntities(entities);
     }
     viewDefinition.setInstances(viewInstanceEntities);
 
@@ -314,6 +327,12 @@ public class ViewRegistryTest {
 
     for (ViewInstanceEntity viewInstanceEntity : instanceDefinitions) {
       Assert.assertEquals("v1", viewInstanceEntity.getInstanceData("p1").getValue());
+
+      Collection<ViewEntityEntity> entities = viewInstanceEntity.getEntities();
+      Assert.assertEquals(1, entities.size());
+      ViewEntityEntity viewEntityEntity = entities.iterator().next();
+      Assert.assertEquals(99L, (long) viewEntityEntity.getId());
+      Assert.assertEquals(viewInstanceEntity.getName(), viewEntityEntity.getViewInstanceName());
     }
 
     // verify mocks