modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupAgentsSelector.java | 21 +++---- modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupServersSelector.java | 21 +++---- modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerBean.java | 28 ++++++---- modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerLocal.java | 20 +++++++ modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/CloudManagerBean.java | 14 ++++- modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/PartitionEventManagerBean.java | 22 +++++-- 6 files changed, 83 insertions(+), 43 deletions(-)
New commits: commit dfa080a3388830a3c948b64090af7f586b97bbe8 Author: Jirka Kremser jkremser@redhat.com Date: Wed Dec 19 21:56:55 2012 +0100
Deprecation of newly unused methods (were used from portal war before), checking the rights
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerBean.java index 2ebbdab..fb37d77 100644 --- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerBean.java +++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerBean.java @@ -43,6 +43,7 @@ import org.rhq.core.domain.util.PageControl; import org.rhq.core.domain.util.PageList; import org.rhq.enterprise.server.RHQConstants; import org.rhq.enterprise.server.authz.RequiredPermission; +import org.rhq.enterprise.server.authz.RequiredPermissions;
/** * Manages CRUD operations for {@link AffinityGroup}s @@ -60,7 +61,8 @@ public class AffinityGroupManagerBean implements AffinityGroupManagerLocal { @EJB private PartitionEventManagerLocal partitionEventManager;
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public AffinityGroup getById(Subject subject, int affinityGroupId) { AffinityGroup affinityGroup = entityManager.find(AffinityGroup.class, affinityGroupId); return affinityGroup; @@ -132,14 +134,16 @@ public class AffinityGroupManagerBean implements AffinityGroupManagerLocal { return new PageList<Server>(results, (int) count, pageControl); }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public AffinityGroup update(Subject subject, AffinityGroup affinityGroup) throws AffinityGroupException { validate(affinityGroup, true); return entityManager.merge(affinityGroup); }
@SuppressWarnings("unchecked") - @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public PageList<AffinityGroupCountComposite> getComposites(Subject subject, PageControl pageControl) { pageControl.initDefaultOrderingField("ag.name");
@@ -164,7 +168,8 @@ public class AffinityGroupManagerBean implements AffinityGroupManagerLocal { } }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public int create(Subject subject, AffinityGroup affinityGroup) throws AffinityGroupException { validate(affinityGroup, false); entityManager.persist(affinityGroup); @@ -198,7 +203,8 @@ public class AffinityGroupManagerBean implements AffinityGroupManagerLocal { } }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public int delete(Subject subject, Integer[] affinityGroupIds) {
// A deleted affinity group forces a cloud repartitioning. Note, it is ok to request multiple @@ -229,7 +235,8 @@ public class AffinityGroupManagerBean implements AffinityGroupManagerLocal { return removedAffinityGroups; }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void addAgentsToGroup(Subject subject, int affinityGroupId, Integer[] agentIds) { List<Integer> agentIdsList = Arrays.asList(agentIds);
@@ -254,7 +261,8 @@ public class AffinityGroupManagerBean implements AffinityGroupManagerLocal { .getName()); }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void removeAgentsFromGroup(Subject subject, Integer[] agentIds) { List<Integer> agentIdsList = Arrays.asList(agentIds);
@@ -275,7 +283,8 @@ public class AffinityGroupManagerBean implements AffinityGroupManagerLocal { PartitionEventType.AGENT_AFFINITY_GROUP_REMOVE.name()); }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void addServersToGroup(Subject subject, int affinityGroupId, Integer[] serverIds) { List<Integer> serverIdsList = Arrays.asList(serverIds);
@@ -300,7 +309,8 @@ public class AffinityGroupManagerBean implements AffinityGroupManagerLocal { .getName()); }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void removeServersFromGroup(Subject subject, Integer[] serverIds) { List<Integer> serverIdsList = Arrays.asList(serverIds);
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerLocal.java index 115d0a4..455e375 100644 --- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerLocal.java +++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/AffinityGroupManagerLocal.java @@ -63,13 +63,33 @@ public interface AffinityGroupManagerLocal {
int getAffinityGroupCount();
+ /** + * @deprecated portal war was using it (use finders <code>AgentManagerBean.findAgentsByCriteria()</code> and + * <code>CloudManagerBean.findServersByCriteria()</code> instead) + */ PageList<Server> getServerMembers(Subject subject, int affinityGroupId, PageControl pageControl);
+ /** + * @deprecated portal war was using it (use finders <code>AgentManagerBean.findAgentsByCriteria()</code> and + * <code>CloudManagerBean.findServersByCriteria()</code> instead) + */ PageList<Server> getServerNonMembers(Subject subject, int affinityGroupId, PageControl pageControl);
+ /** + * @deprecated portal war was using it (use finders <code>AgentManagerBean.findAgentsByCriteria()</code> and + * <code>CloudManagerBean.findServersByCriteria()</code> instead) + */ PageList<Agent> getAgentMembers(Subject subject, int affinityGroupId, PageControl pageControl);
+ /** + * @deprecated portal war was using it (use finders <code>AgentManagerBean.findAgentsByCriteria()</code> and + * <code>CloudManagerBean.findServersByCriteria()</code> instead) + */ PageList<Agent> getAgentNonMembers(Subject subject, int affinityGroupId, PageControl pageControl);
+ /** + * @deprecated portal war was using it (use finders <code>AgentManagerBean.findAgentsByCriteria()</code> and + * <code>CloudManagerBean.findServersByCriteria()</code> instead) + */ PageList<AffinityGroupCountComposite> getComposites(Subject subject, PageControl pageControl); } diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/CloudManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/CloudManagerBean.java index f51b246..d1ffb1b 100644 --- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/CloudManagerBean.java +++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/CloudManagerBean.java @@ -44,6 +44,7 @@ import org.rhq.core.domain.util.PageList; import org.rhq.enterprise.server.RHQConstants; import org.rhq.enterprise.server.authz.AuthorizationManagerLocal; import org.rhq.enterprise.server.authz.RequiredPermission; +import org.rhq.enterprise.server.authz.RequiredPermissions; import org.rhq.enterprise.server.cloud.instance.ServerManagerLocal; import org.rhq.enterprise.server.util.CriteriaQueryGenerator; import org.rhq.enterprise.server.util.CriteriaQueryRunner; @@ -123,7 +124,8 @@ public class CloudManagerBean implements CloudManagerLocal { }
@SuppressWarnings("unchecked") - @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public PageList<ServerWithAgentCountComposite> getServerComposites(Subject subject, PageControl pc) { pc.initDefaultOrderingField("s.name");
@@ -159,6 +161,8 @@ public class CloudManagerBean implements CloudManagerLocal { } }
+ @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void deleteServers(Integer[] serverIds) throws CloudManagerException { if (serverIds == null) { return; @@ -169,6 +173,8 @@ public class CloudManagerBean implements CloudManagerLocal { } }
+ @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void deleteServer(Integer serverId) throws CloudManagerException { try { Server server = entityManager.find(Server.class, serverId); @@ -206,6 +212,8 @@ public class CloudManagerBean implements CloudManagerLocal { } }
+ @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void updateServerMode(Integer[] serverIds, Server.OperationMode mode) { if (serverIds == null) { return; @@ -246,6 +254,8 @@ public class CloudManagerBean implements CloudManagerLocal { return entityManager.merge(server); }
+ @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public PageList<FailoverListDetails> getFailoverListDetailsByAgentId(int agentId, PageControl pc) { pc.initDefaultOrderingField("fld.ordinal");
@@ -295,7 +305,7 @@ public class CloudManagerBean implements CloudManagerLocal { // regardless of the number of pending requests, as the work would be duplicated. partitionEventManager.processRequestedPartitionEvents(); } - + @RequiredPermission(Permission.MANAGE_SETTINGS) public PageList<Server> findServersByCriteria(Subject subject, ServerCriteria criteria) { CriteriaQueryGenerator generator = new CriteriaQueryGenerator(subject, criteria); diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/PartitionEventManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/PartitionEventManagerBean.java index 0b82063..961af25 100644 --- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/PartitionEventManagerBean.java +++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/cloud/PartitionEventManagerBean.java @@ -48,6 +48,7 @@ import org.rhq.core.domain.util.PageList; import org.rhq.core.domain.util.PageOrdering; import org.rhq.enterprise.server.RHQConstants; import org.rhq.enterprise.server.authz.RequiredPermission; +import org.rhq.enterprise.server.authz.RequiredPermissions; import org.rhq.enterprise.server.core.AgentManagerLocal; import org.rhq.enterprise.server.util.CriteriaQueryGenerator; import org.rhq.enterprise.server.util.CriteriaQueryRunner; @@ -125,7 +126,8 @@ public class PartitionEventManagerBean implements PartitionEventManagerLocal { return failoverListManager.refresh(partitionEvent); }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void cloudPartitionEventRequest(Subject subject, PartitionEventType eventType, String eventDetail) { if (!eventType.isCloudPartitionEvent()) { throw new IllegalArgumentException("Invalid cloud partition event type: " + eventType); @@ -143,7 +145,8 @@ public class PartitionEventManagerBean implements PartitionEventManagerLocal { entityManager.persist(partitionEvent); }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public void deletePartitionEvents(Subject subject, Integer[] partitionEventIds) { for (int partitionEventId : partitionEventIds) { PartitionEvent doomedEvent = entityManager.find(PartitionEvent.class, partitionEventId); @@ -151,7 +154,8 @@ public class PartitionEventManagerBean implements PartitionEventManagerLocal { } }
- @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public int purgeAllEvents(Subject subject) { List<PartitionEvent> events = getPartitionEvents(subject, null, null, null, PageControl.getUnlimitedInstance());
@@ -221,7 +225,7 @@ public class PartitionEventManagerBean implements PartitionEventManagerLocal { query.setParameter("details", details); countQuery.setParameter("details", details); query.setParameter("escapeChar", QueryUtility.getEscapeCharacter()); - countQuery.setParameter("escapeChar", QueryUtility.getEscapeCharacter()); + countQuery.setParameter("escapeChar", QueryUtility.getEscapeCharacter());
List<PartitionEvent> results = query.getResultList(); long count = (Long) countQuery.getSingleResult(); @@ -230,7 +234,8 @@ public class PartitionEventManagerBean implements PartitionEventManagerLocal { }
@SuppressWarnings("unchecked") - @RequiredPermission(Permission.MANAGE_INVENTORY) + @RequiredPermissions({ @RequiredPermission(Permission.MANAGE_SETTINGS), + @RequiredPermission(Permission.MANAGE_INVENTORY) }) public PageList<PartitionEventDetails> getPartitionEventDetails(Subject subject, int partitionEventId, PageControl pageControl) { pageControl.initDefaultOrderingField("ped.id", PageOrdering.ASC); @@ -248,11 +253,12 @@ public class PartitionEventManagerBean implements PartitionEventManagerLocal {
return new PageList<PartitionEventDetails>(detailsList, (int) count, pageControl); } - - @RequiredPermission(Permission.MANAGE_INVENTORY) + + @RequiredPermission(Permission.MANAGE_SETTINGS) public PageList<PartitionEvent> findPartitionEventsByCriteria(Subject subject, PartitionEventCriteria criteria) { CriteriaQueryGenerator generator = new CriteriaQueryGenerator(subject, criteria); - CriteriaQueryRunner<PartitionEvent> runner = new CriteriaQueryRunner<PartitionEvent>(criteria, generator, entityManager); + CriteriaQueryRunner<PartitionEvent> runner = new CriteriaQueryRunner<PartitionEvent>(criteria, generator, + entityManager); return runner.execute(); } }
commit 2d4217f767b2e2d7860edf153ea4bb714e0cfc6f Author: Jirka Kremser jkremser@redhat.com Date: Wed Dec 19 21:55:50 2012 +0100
Modal window for assigning the servers/agents into affinity group has now the buttons in the ToolStrip
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupAgentsSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupAgentsSelector.java index b1a1a6c..6786a89 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupAgentsSelector.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupAgentsSelector.java @@ -29,7 +29,6 @@ import java.util.List;
import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.Criteria; -import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.Overflow; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Window; @@ -40,8 +39,8 @@ import com.smartgwt.client.widgets.events.CloseClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.grid.ListGridRecord; -import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; +import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.core.domain.criteria.AgentCriteria; import org.rhq.core.domain.resource.Agent; @@ -165,10 +164,9 @@ public class AffinityGroupAgentsSelector extends AbstractSelector<Agent, AgentCr layout = new VLayout(); layout.setWidth100(); layout.setHeight100(); - layout.setPadding(10); - layout.setLayoutMargin(10);
final AffinityGroupAgentsSelector selector = new AffinityGroupAgentsSelector("assignAgents", affinityGroupId); + selector.setMargin(10); layout.addMember(selector);
IButton cancel = new LocatableIButton(selector.extendLocatorId("Cancel"), MSG.common_button_cancel()); @@ -222,14 +220,13 @@ public class AffinityGroupAgentsSelector extends AbstractSelector<Agent, AgentCr } } }); - - HLayout buttons = new HLayout(10); - buttons.setHeight(20); - buttons.setLayoutAlign(Alignment.CENTER); - buttons.setLayoutBottomMargin(0); - buttons.addMember(save); - buttons.addMember(cancel); - layout.addMember(buttons); + ToolStrip buttonBar = new ToolStrip(); + buttonBar.setPadding(5); + buttonBar.setWidth100(); + buttonBar.setMembersMargin(15); + buttonBar.addMember(save); + buttonBar.addMember(cancel); + layout.addMember(buttonBar); }
private static void closeAndRefresh(TableSection<?> parrent, boolean fullRefresh) { diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupServersSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupServersSelector.java index 803214c..b21b2a6 100644 --- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupServersSelector.java +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/topology/AffinityGroupServersSelector.java @@ -29,7 +29,6 @@ import java.util.List;
import com.google.gwt.user.client.rpc.AsyncCallback; import com.smartgwt.client.data.Criteria; -import com.smartgwt.client.types.Alignment; import com.smartgwt.client.types.Overflow; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.Window; @@ -41,8 +40,8 @@ import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.SelectItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.grid.ListGridRecord; -import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; +import com.smartgwt.client.widgets.toolbar.ToolStrip;
import org.rhq.core.domain.cloud.Server; import org.rhq.core.domain.cloud.Server.OperationMode; @@ -188,10 +187,9 @@ public class AffinityGroupServersSelector extends AbstractSelector<Server, Serve layout = new VLayout(); layout.setWidth100(); layout.setHeight100(); - layout.setPadding(10); - layout.setLayoutMargin(10);
final AffinityGroupServersSelector selector = new AffinityGroupServersSelector("assignServers", affinityGroupId); + selector.setMargin(10); layout.addMember(selector);
IButton cancel = new LocatableIButton(selector.extendLocatorId("Cancel"), MSG.common_button_cancel()); @@ -243,14 +241,13 @@ public class AffinityGroupServersSelector extends AbstractSelector<Server, Serve } } }); - - HLayout buttons = new HLayout(10); - buttons.setHeight(20); - buttons.setLayoutAlign(Alignment.CENTER); - buttons.setLayoutBottomMargin(0); - buttons.addMember(save); - buttons.addMember(cancel); - layout.addMember(buttons); + ToolStrip buttonBar = new ToolStrip(); + buttonBar.setPadding(5); + buttonBar.setWidth100(); + buttonBar.setMembersMargin(15); + buttonBar.addMember(save); + buttonBar.addMember(cancel); + layout.addMember(buttonBar); }
private static void closeAndRefresh(TableSection<?> parrent, boolean fullRefresh) {
rhq-commits@lists.fedorahosted.org