You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2014/09/10 15:03:44 UTC
[32/39] git commit: AMBARI-7234. Admin View: Unclear error during
deleting view with set permission for user. (jaimin)
AMBARI-7234. Admin View: Unclear error during deleting view with set permission for user. (jaimin)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e40e47f8
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e40e47f8
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e40e47f8
Branch: refs/heads/branch-alerts-dev
Commit: e40e47f8370941cbc0d818150bd7eea6d20a6522
Parents: 3c30d91
Author: Jaimin Jetly <ja...@hortonworks.com>
Authored: Tue Sep 9 17:11:36 2014 -0700
Committer: Jaimin Jetly <ja...@hortonworks.com>
Committed: Tue Sep 9 17:11:36 2014 -0700
----------------------------------------------------------------------
.../apache/ambari/server/view/ViewRegistry.java | 4 ++
.../ambari/server/view/ViewRegistryTest.java | 39 ++++++++++++++++++++
2 files changed, 43 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e40e47f8/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 859ea96..509e474 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
@@ -567,6 +567,10 @@ public class ViewRegistry {
LOG.debug("Deleting view instance " + viewName + "/" +
version + "/" +instanceName);
}
+ List<PrivilegeEntity> instancePrivileges = privilegeDAO.findByResourceId(instanceEntity.getResource().getId());
+ for (PrivilegeEntity privilegeEntity : instancePrivileges) {
+ privilegeDAO.remove(privilegeEntity);
+ }
instanceDAO.remove(instanceEntity);
viewEntity.removeInstanceDefinition(instanceName);
removeInstanceDefinition(viewEntity, instanceName);
http://git-wip-us.apache.org/repos/asf/ambari/blob/e40e47f8/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 7ce4699..38c2f9b 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
@@ -33,10 +33,12 @@ import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URI;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
@@ -703,6 +705,43 @@ public class ViewRegistryTest {
}
@Test
+ public void testUninstallViewInstance() throws Exception {
+
+ ViewRegistry registry = getRegistry();
+
+ Configuration ambariConfig = new Configuration(new Properties());
+
+ ViewConfig config = ViewConfigTest.getConfig(xml_valid_instance);
+ ViewEntity viewEntity = getViewEntity(config, ambariConfig, getClass().getClassLoader(), "");
+ ViewInstanceEntity viewInstanceEntity = getViewInstanceEntity(viewEntity, config.getInstances().get(0));
+ ResourceEntity resource = new ResourceEntity();
+ resource.setId(3L);
+ viewInstanceEntity.setResource(resource);
+ PrivilegeEntity privilege1 = createNiceMock(PrivilegeEntity.class);
+ PrivilegeEntity privilege2 = createNiceMock(PrivilegeEntity.class);
+ List<PrivilegeEntity> privileges = Arrays.asList(privilege1, privilege2);
+
+ expect(privilegeDAO.findByResourceId(3L)).andReturn(privileges);
+ privilegeDAO.remove(privilege1);
+ privilegeDAO.remove(privilege2);
+ viewInstanceDAO.remove(viewInstanceEntity);
+
+ handlerList.removeViewInstance(viewInstanceEntity);
+
+ replay(viewInstanceDAO, privilegeDAO, handlerList);
+
+ registry.addDefinition(viewEntity);
+ registry.addInstanceDefinition(viewEntity, viewInstanceEntity);
+ registry.uninstallViewInstance(viewInstanceEntity);
+
+ Collection<ViewInstanceEntity> viewInstanceDefinitions = registry.getInstanceDefinitions(viewEntity);
+
+ Assert.assertEquals(0, viewInstanceDefinitions.size());
+
+ verify(viewInstanceDAO, privilegeDAO, handlerList);
+ }
+
+ @Test
public void testUpdateViewInstance_invalid() throws Exception {
ViewRegistry registry = getRegistry();