modules/enterprise/server/plugins/alert-roles/src/main/java/org/rhq/enterprise/server/plugins/alertRoles/RolesBackingBean.java | 120 ++++++++-- modules/enterprise/server/plugins/alert-roles/src/main/resources/roles.xhtml | 29 +- modules/enterprise/server/plugins/alert-scriptlang/pom.xml | 7 modules/enterprise/server/plugins/alert-subject/src/main/java/org/rhq/enterprise/server/plugins/alertSubject/SubjectsBackingBean.java | 15 - modules/enterprise/server/plugins/pom.xml | 1 modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml | 1 modules/enterprise/server/xml-schemas/pom.xml | 1 modules/plugins/pom.xml | 3 8 files changed, 133 insertions(+), 44 deletions(-)
New commits: commit b5e2ac63cbd00125516d87926d18bf450a54e149 Merge: 8353b50... 2317d89... Author: Heiko W. Rupp pilhuhn@fedorapeople.org Date: Tue Feb 2 14:09:17 2010 +0100
Merge branch 'master' into alertPlugin
commit 2317d8964ea1ee67f80b504ffb5ebe628ceffa7c Author: John Sanda jsanda@redhat.com Date: Tue Feb 2 08:07:00 2010 -0500
Removing raw-config-test module from plugins build as it is just for testing
diff --git a/modules/plugins/pom.xml b/modules/plugins/pom.xml index a0d4924..bd2cc00 100644 --- a/modules/plugins/pom.xml +++ b/modules/plugins/pom.xml @@ -124,9 +124,6 @@ <module>virt</module> <module>kickstart</module>
- <!-- this is just for testing raw config --> - <module>raw-config-test</module> - <!-- make this the last - it will validate all the plugins --> <module>validate-all-plugins</module> </modules>
commit 8353b50d7811a3562c0f23d603a55ebc38cb5977 Author: Heiko W. Rupp pilhuhn@fedorapeople.org Date: Tue Feb 2 12:43:49 2010 +0100
Model roles sender after subject sender custom ui. Plus some cleanup.
diff --git a/modules/enterprise/server/plugins/alert-roles/src/main/java/org/rhq/enterprise/server/plugins/alertRoles/RolesBackingBean.java b/modules/enterprise/server/plugins/alert-roles/src/main/java/org/rhq/enterprise/server/plugins/alertRoles/RolesBackingBean.java index d577120..624f0d7 100644 --- a/modules/enterprise/server/plugins/alert-roles/src/main/java/org/rhq/enterprise/server/plugins/alertRoles/RolesBackingBean.java +++ b/modules/enterprise/server/plugins/alert-roles/src/main/java/org/rhq/enterprise/server/plugins/alertRoles/RolesBackingBean.java @@ -20,44 +20,57 @@ package org.rhq.enterprise.server.plugins.alertRoles;
import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map;
import org.jboss.seam.annotations.Create;
-import org.rhq.core.domain.auth.Subject; import org.rhq.core.domain.authz.Role; import org.rhq.core.domain.configuration.PropertySimple; import org.rhq.core.domain.util.PageControl; -import org.rhq.core.domain.util.PageList; -import org.rhq.enterprise.server.alert.AlertNotificationManagerLocal; import org.rhq.enterprise.server.authz.RoleManagerLocal; import org.rhq.enterprise.server.plugin.pc.alert.CustomAlertSenderBackingBean; import org.rhq.enterprise.server.util.LookupUtil;
/** - * + * Backing Bean for the roles sender alert sender plugin custom UI * @author Heiko W. Rupp */ +@SuppressWarnings("unused") public class RolesBackingBean extends CustomAlertSenderBackingBean {
+ private List<Role> allRoles; + private Map<String, String> rolesMap; private List<String> currentRoles; + private List<String> rolesToRemove; + private static final String ROLE_ID = "roleId";
@Create public void init() { - getRolesMap(); + + getAllRoles(); + + getSelectableRolesMap(); fillRolesFromAlertParameters(); }
+ private void getAllRoles() { + RoleManagerLocal mgr = LookupUtil.getRoleManager(); + allRoles = mgr.findRoles(new PageControl()); + } + private void fillRolesFromAlertParameters() { - String rolesString = alertParameters.getSimpleValue("roleId",""); + String rolesString = alertParameters.getSimpleValue(ROLE_ID,""); String[] roles = rolesString.split(","); + if (roles.length==0) + return; + if (currentRoles==null) currentRoles = new ArrayList<String>(); - for (String r : roles) - currentRoles.add(r); + currentRoles.addAll(Arrays.asList(roles)); }
public List<String> getCurrentRoles() { @@ -70,25 +83,56 @@ public class RolesBackingBean extends CustomAlertSenderBackingBean { this.currentRoles = currentRoles; }
- public Map<String, String> getRolesMap() { - if (this.rolesMap == null) { - this.rolesMap = new HashMap<String, String>(); + public List<String> getRolesToRemove() { + return rolesToRemove; + } + + public void setRolesToRemove(List<String> rolesToRemove) { + this.rolesToRemove = rolesToRemove; + } + + public Map<String, String> getSelectableRolesMap() {
- RoleManagerLocal mgr = LookupUtil.getRoleManager(); - PageList<Role> rolesList = mgr.findRoles(new PageControl()); + if (rolesMap == null) { + rolesMap = new HashMap<String, String>();
- for (Role role : rolesList) { - // TODO filter out all resources role - this.rolesMap.put(role.getName(), role.getId().toString()); + if (allRoles==null) + getAllRoles(); + + if (currentRoles==null) + fillRolesFromAlertParameters(); + + Map<String,String> ret = new HashMap<String, String>(); + for (Role role : allRoles) { + String roleId = String.valueOf(role.getId()); + if (currentRoles==null || currentRoles.contains(roleId)) + rolesMap.put(role.getName(), roleId); } } - return this.rolesMap; }
- public String submit() { + public Map<String, String> getCurrentRolesMap() { + + Map<String,String> ret = new HashMap<String, String>(); + if (currentRoles==null) + return ret; + + for (Role role:allRoles) { + String roleId = String.valueOf(role.getId()); + if (currentRoles.contains(roleId)) + ret.put(role.getName(), roleId); + } + return ret; + + } + + public String addRoles() { + + System.out.println("Selected roles: " + currentRoles ); + if (currentRoles.isEmpty()) + return "ALERT_NOTIFICATION";
- System.out.println("Selected roles: "); String roles=""; for (String role : currentRoles) { System.out.println(role); @@ -98,9 +142,9 @@ public class RolesBackingBean extends CustomAlertSenderBackingBean { if (roles.endsWith(",")) roles = roles.substring(0,roles.length()-1);
- PropertySimple p = alertParameters.getSimple("roleId"); + PropertySimple p = alertParameters.getSimple(ROLE_ID); if (p==null) { - p = new PropertySimple("roleId",roles); + p = new PropertySimple(ROLE_ID,roles); alertParameters.put(p); } else @@ -113,4 +157,38 @@ public class RolesBackingBean extends CustomAlertSenderBackingBean { return "ALERT_NOTIFICATIONS"; }
+ public String removeRoles() { + System.out.println("In remove roles, " + rolesToRemove); + + String roles =""; + List<String> resulting = new ArrayList<String>(currentRoles); + resulting.removeAll(rolesToRemove); + + for (String subject : resulting) { + System.out.println(subject); + roles += subject; + roles += ","; + } + + if (roles.endsWith(",")) + roles = roles.substring(0, roles.length()-1); + + PropertySimple p = alertParameters.getSimple(ROLE_ID); + if (p==null) { + if (!resulting.isEmpty()) { + p = new PropertySimple(ROLE_ID, roles); + alertParameters.put(p); + } + } + else + p.setStringValue(roles); + + alertParameters = persistConfiguration(alertParameters); + + currentRoles = resulting; + + fillRolesFromAlertParameters(); + + return "ALERT_NOTIFICATIONS"; + } } diff --git a/modules/enterprise/server/plugins/alert-roles/src/main/resources/roles.xhtml b/modules/enterprise/server/plugins/alert-roles/src/main/resources/roles.xhtml index 759b820..f031b51 100644 --- a/modules/enterprise/server/plugins/alert-roles/src/main/resources/roles.xhtml +++ b/modules/enterprise/server/plugins/alert-roles/src/main/resources/roles.xhtml @@ -5,7 +5,6 @@ xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jstl/core" - xmlns:onc="http://jboss.org/on/component" xmlns:a4j="https://richfaces.org/a4j" xmlns:rich="http://richfaces.ajax4jsf.org/rich%22%3E
@@ -15,23 +14,37 @@ <h:panelGroup> <h:outputText value="Select the roles to add:" /> <br/> - - - <h:selectManyListbox id="mySenderList" value="#{rolesBean.currentRoles}"> - <f:selectItems value="#{rolesBean.rolesMap}"/> + <h:selectManyListbox id="availableRolesList" + value="#{rolesBean.currentRoles}" + style="width : 100px" + size="3"> + <f:selectItems value="#{rolesBean.selectableRolesMap}"/> </h:selectManyListbox> </h:panelGroup>
<h:panelGroup> <br /> - <h:commandButton id="roles_submit" + <h:commandButton id="roles_submit_add" value="Add Roles" type="submit" - action="#{rolesBean.submit}" /> + action="#{rolesBean.addRoles}" /> + <br /> + <h:commandButton id="roles_submit_remove" + value="Remove Roles" + type="submit" + action="#{rolesBean.removeRoles}" /> </h:panelGroup>
<h:panelGroup> - <h:outputText value="#{rolesBean.currentRoles}"/> + <h:outputText>Selected roles:</h:outputText> + <br/> + <h:selectManyListbox id="selectedRolesList" + value="#{rolesBean.rolesToRemove}" + style="width : 100px" + size="3"> + <f:selectItems value="#{rolesBean.currentRolesMap}"/> + </h:selectManyListbox> + </h:panelGroup> </h:panelGrid> </body> diff --git a/modules/enterprise/server/plugins/alert-subject/src/main/java/org/rhq/enterprise/server/plugins/alertSubject/SubjectsBackingBean.java b/modules/enterprise/server/plugins/alert-subject/src/main/java/org/rhq/enterprise/server/plugins/alertSubject/SubjectsBackingBean.java index 23792a9..758c731 100644 --- a/modules/enterprise/server/plugins/alert-subject/src/main/java/org/rhq/enterprise/server/plugins/alertSubject/SubjectsBackingBean.java +++ b/modules/enterprise/server/plugins/alert-subject/src/main/java/org/rhq/enterprise/server/plugins/alertSubject/SubjectsBackingBean.java @@ -40,6 +40,7 @@ import org.rhq.enterprise.server.util.LookupUtil; * Backing Bean for the subjects sender alert sender plugin custom UI * @author Heiko W. Rupp */ +@SuppressWarnings("unused") public class SubjectsBackingBean extends CustomAlertSenderBackingBean {
private final Log log = LogFactory.getLog(SubjectsBackingBean.class); @@ -49,7 +50,6 @@ public class SubjectsBackingBean extends CustomAlertSenderBackingBean { private Map<String, String> subjectsMap; private List<String> currentSubjects; private List<String> subjectsToRemove; - private List<String> subjectsToAdd; private static final String SUBJECT_ID = "subjectId";
@Create @@ -95,13 +95,6 @@ public class SubjectsBackingBean extends CustomAlertSenderBackingBean { this.subjectsToRemove = subjectsToRemove; }
- public List<String> getSubjectsToAdd() { - return subjectsToAdd; - } - - public void setSubjectsToAdd(List<String> subjectsToAdd) { - this.subjectsToAdd = subjectsToAdd; - }
public Map<String, String> getSelectableSubjectsMap() {
@@ -114,7 +107,6 @@ public class SubjectsBackingBean extends CustomAlertSenderBackingBean { if (currentSubjects==null) fillSubjectsFromAlertParameters();
- Map<String,String> ret = new HashMap<String, String>(); for (Subject subject : allSubjects) { String subjectId = String.valueOf(subject.getId()); if (currentSubjects==null || !currentSubjects.contains(subjectId)) { @@ -133,8 +125,9 @@ public class SubjectsBackingBean extends CustomAlertSenderBackingBean { return ret;
for (Subject subject:allSubjects) { - if (currentSubjects.contains(String.valueOf(subject.getId()))) - ret.put(subject.getName(),String.valueOf(subject.getId()) ); + String subjectId = String.valueOf(subject.getId()); + if (currentSubjects.contains(subjectId)) + ret.put(subject.getName(), subjectId); } return ret;
commit 3f765c8bc541f434646684e4e135bd0143fe90a2 Author: Heiko W. Rupp pilhuhn@fedorapeople.org Date: Tue Feb 2 12:42:50 2010 +0100
Add scriptlang alert sender plugin and fix its pom to include the domain jar
diff --git a/modules/enterprise/server/plugins/alert-scriptlang/pom.xml b/modules/enterprise/server/plugins/alert-scriptlang/pom.xml index 0932415..cfbe378 100644 --- a/modules/enterprise/server/plugins/alert-scriptlang/pom.xml +++ b/modules/enterprise/server/plugins/alert-scriptlang/pom.xml @@ -28,6 +28,13 @@
<dependencies> <dependency> + <groupId>org.rhq</groupId> + <artifactId>rhq-core-domain</artifactId> + <version>${project.version}</version> + <scope>provided</scope> <!-- by ear --> + </dependency> + + <dependency> <groupId>org.rhq</groupId> <artifactId>rhq-enterprise-server</artifactId> <version>${project.version}</version> diff --git a/modules/enterprise/server/plugins/pom.xml b/modules/enterprise/server/plugins/pom.xml index d9b612e..5c35d56 100644 --- a/modules/enterprise/server/plugins/pom.xml +++ b/modules/enterprise/server/plugins/pom.xml @@ -45,6 +45,7 @@ <module>alert-mobicents</module> <module>alert-microblog</module> <module>alert-roles</module> + <module>alert-scriptlang</module> <module>alert-snmp</module> <module>alert-subject</module> <module>cobbler</module> diff --git a/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml b/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml index a48ac7b..fd3a3f2 100644 --- a/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml +++ b/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml @@ -48,6 +48,7 @@ <pathelement location="../alert-microblog/target/alert-microblog-${project.version}.jar" /> <pathelement location="../alert-mobicents/target/alert-mobicents-${project.version}.jar" /> <pathelement location="../alert-roles/target/alert-roles-${project.version}.jar" /> + <pathelement location="../alert-scriptlang/target/alert-scriptlang-${project.version}.jar" /> <pathelement location="../alert-snmp/target/alert-snmp-${project.version}.jar" /> <pathelement location="../alert-subject/target/alert-subject-${project.version}.jar" /> <pathelement location="../cobbler/target/cobbler-${project.version}.jar" />
commit d9a314f52216f3b6b95f9b411ada8c9affd92d6f Author: Jay Shaughnessy jshaughn@redhat.com Date: Mon Feb 1 16:50:34 2010 -0500
reverting change. will have to find another way or add some more changes as setting scop provided on the domain jar causes issues in the jboss-software plugin build and maybe others.
diff --git a/modules/enterprise/server/xml-schemas/pom.xml b/modules/enterprise/server/xml-schemas/pom.xml index 9d2ab8a..ffae346 100644 --- a/modules/enterprise/server/xml-schemas/pom.xml +++ b/modules/enterprise/server/xml-schemas/pom.xml @@ -30,7 +30,6 @@ <groupId>${rhq.groupId}</groupId> <artifactId>rhq-core-domain</artifactId> <version>${project.version}</version> - <scope>provided</scope> <!-- rhq.ear --> </dependency>
<dependency>
rhq-commits@lists.fedorahosted.org