You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by tb...@apache.org on 2015/06/23 17:08:08 UTC

ambari git commit: AMBARI-12079 - Views : resource type may not be persisted on view deployment. (tbeerbower)

Repository: ambari
Updated Branches:
  refs/heads/trunk bd3d83fdc -> 3e1bd89b6


AMBARI-12079 - Views : resource type may not be persisted on view deployment. (tbeerbower)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3e1bd89b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3e1bd89b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3e1bd89b

Branch: refs/heads/trunk
Commit: 3e1bd89b6b5c11a9f2902c4f4a844293fb29859e
Parents: bd3d83f
Author: tbeerbower <tb...@hortonworks.com>
Authored: Tue Jun 23 11:07:43 2015 -0400
Committer: tbeerbower <tb...@hortonworks.com>
Committed: Tue Jun 23 11:08:00 2015 -0400

----------------------------------------------------------------------
 .../apache/ambari/server/view/ViewRegistry.java | 21 ++++++--------------
 .../ambari/server/view/ViewRegistryTest.java    |  4 +---
 2 files changed, 7 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/3e1bd89b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
index 29b9000..7b32898 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
@@ -518,11 +518,9 @@ public class ViewRegistry {
 
         instanceEntity.validate(viewEntity, Validator.ValidationContext.PRE_CREATE);
 
-        ResourceTypeEntity resourceTypeEntity = resourceTypeDAO.findByName(ViewEntity.getViewName(viewName, version));
-
         setPersistenceEntities(instanceEntity);
 
-        ViewInstanceEntity persistedInstance = mergeViewInstance(instanceEntity, resourceTypeEntity);
+        ViewInstanceEntity persistedInstance = mergeViewInstance(instanceEntity, viewEntity.getResourceType());
 
         instanceEntity.setViewInstanceId(persistedInstance.getViewInstanceId());
         syncViewInstance(instanceEntity, persistedInstance);
@@ -1275,9 +1273,8 @@ public class ViewRegistry {
                         Set<ViewInstanceEntity> instanceDefinitions)
       throws Exception {
 
-    String             viewName      = view.getName();
-    ViewEntity         persistedView = viewDAO.findByName(viewName);
-    ResourceTypeEntity resourceType  = view.getResourceType();
+    String      viewName      = view.getName();
+    ViewEntity  persistedView = viewDAO.findByName(viewName);
 
     if (LOG.isDebugEnabled()) {
       LOG.debug("Syncing view " + viewName + ".");
@@ -1289,20 +1286,14 @@ public class ViewRegistry {
         LOG.debug("Creating view " + viewName + ".");
       }
 
-      // get or create an admin resource type to represent this view
-      ResourceTypeEntity resourceTypeEntity = resourceTypeDAO.findByName(viewName);
-      if (resourceTypeEntity == null) {
-        resourceTypeEntity = resourceType;
-        if (LOG.isDebugEnabled()) {
-          LOG.debug("Creating resource type for " + viewName + ".");
-        }
-        resourceTypeDAO.create(resourceTypeEntity);
-      }
+      // create an admin resource type to represent this view
+      ResourceTypeEntity resourceType = resourceTypeDAO.merge(view.getResourceType());
 
       for( ViewInstanceEntity instance : view.getInstances()) {
         instance.setResource(createViewInstanceResource(resourceType));
       }
       // ... merge the view
+      view.setResourceType(resourceType);
       persistedView = viewDAO.merge(view);
     }
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/3e1bd89b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
index 4d2c8e2..f9dadcd 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/view/ViewRegistryTest.java
@@ -815,10 +815,8 @@ public class ViewRegistryTest {
     ViewConfig config = ViewConfigTest.getConfig(XML_VALID_INSTANCE);
     ViewEntity viewEntity = getViewEntity(config, ambariConfig, getClass().getClassLoader(), "");
     ViewInstanceEntity viewInstanceEntity = getViewInstanceEntity(viewEntity, config.getInstances().get(0));
-    ResourceTypeEntity resourceTypeEntity = new ResourceTypeEntity();
 
     expect(viewInstanceDAO.merge(viewInstanceEntity)).andReturn(viewInstanceEntity);
-    expect(resourceTypeDAO.findByName("MY_VIEW{1.0.0}")).andReturn(resourceTypeEntity);
 
     handlerList.addViewInstance(viewInstanceEntity);
 
@@ -835,7 +833,7 @@ public class ViewRegistryTest {
     Assert.assertEquals("v2-1", instanceEntity.getProperty("p2").getValue() );
 
     Assert.assertEquals(viewInstanceEntity, viewInstanceDefinitions.iterator().next());
-    Assert.assertEquals(resourceTypeEntity, viewInstanceEntity.getResource().getResourceType());
+    Assert.assertEquals("MY_VIEW{1.0.0}", viewInstanceEntity.getResource().getResourceType().getName());
 
     verify(viewDAO, viewInstanceDAO, resourceTypeDAO, securityHelper, handlerList);
   }