<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><style type="text/css"><!--
#msg DL { border : 1px #006 solid; background-color : #369; padding : 6px; color : #fff; }
#msg DT { float : left; width : 6em; font-weight : bold; }
#msg DL, #msg DT, #msg UL, #msg LI { font-family : arial,helvetica,sans-serif; font-size : 10pt; }
h3 { font-family : arial,helvetica,sans-serif; font-size : 10pt; font-weight : bold; }
#msg PRE { overflow : auto; white-space : normal; background-color : #ffc; border : 1px #fc0 solid; padding : 6px; }
#msg UL, PRE, .diff { overflow : auto; }
#patch h4 { font-family : arial,helvetica,sans-serif; font-size : 10pt; }
#patch h4 { padding: 8px; background : #369; color : #fff; margin : 0; }
#patch .propset h4, #patch .binary h4 {margin: 0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {background:#eeeeee;padding: 0 0 10px 0;}
#patch .propset .diff, #patch .binary .diff {padding: 10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch .add {background:#ddffdd;}
#patch .rem {background:#ffdddd;}
#patch .lines, .info {color:#888888;background:#ffffff;}
.diff { width : 100%; }
#msg DL { border : 1px #006 solid; background-color : #369; padding : 6px; color : #fff; }
#msg DT { float : left; width : 6em; font-weight : bold; }
#msg DL, #msg DT, #msg UL, #msg LI { font-family : arial,helvetica,sans-serif; font-size : 10pt; }
h3 { font-family : arial,helvetica,sans-serif; font-size : 10pt; font-weight : bold; }
#msg PRE { overflow : auto; white-space : normal; background-color : #ffc; border : 1px #fc0 solid; padding : 6px; }
#msg UL, PRE, .diff { overflow : auto; }
#patch h4 { font-family : arial,helvetica,sans-serif; font-size : 10pt; }
#patch h4 { padding: 8px; background : #369; color : #fff; margin : 0; }
#patch .propset h4, #patch .binary h4 {margin: 0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {background:#eeeeee;padding: 0 0 10px 0;}
#patch .propset .diff, #patch .binary .diff {padding: 10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch .add {background:#ddffdd;}
#patch .rem {background:#ffdddd;}
#patch .lines, .info {color:#888888;background:#ffffff;}
.diff { width : 100%; }
--></style>
<title>[rhq-project.org rhq] [3550] [RHQ-1848][RHQ-1867][RHQ-1868][RHQ-1869] get the global perms SECURITY, INVENTORY and SETTINGS to work.</title>
</head>
<body>
<div id="msg">
<dl>
<dt>Revision</dt> <dd>3550</dd>
<dt>Author</dt> <dd>mazz</dd>
<dt>Date</dt> <dd>2009-03-27 16:30:44 -0500 (Fri, 27 Mar 2009)</dd>
</dl>
<h3>Log Message</h3>
<pre>[RHQ-1848][RHQ-1867][RHQ-1868][RHQ-1869] get the global perms SECURITY, INVENTORY and SETTINGS to work. took out the administration jsp page and converted to menu bar and just rendered those items that are allowed as per the users perms. also went through the pages and made sure a user can't explicitly type in a url and be able to go to a non-permitted page. (side fix - file uploading on IE caused problems for uploading content and plugins due to the fact that IE sends up the full pathname)</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguiadminpluginInstalledPluginUIBeanjava">rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginUIBean.java</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguiadminpluginInstalledPluginsUIBeanjava">rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguihaViewAgentUIBeanjava">rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/ha/ViewAgentUIBean.java</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguihaViewServerUIBeanjava">rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/ha/ViewServerUIBean.java</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguiinventoryresourceCreateNewPackageChildResourceUIBeanjava">rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/inventory/resource/CreateNewPackageChildResourceUIBean.java</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappWEBINFstrutsconfigxml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/struts-config.xml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminAdminHeaderjsp">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/AdminHeader.jsp</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminAdminHomejsp">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/AdminHome.jsp</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminconfigDataManagerConfigFormjsp">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/DataManagerConfigForm.jsp</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminconfigEditServerConfigjsp">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/EditServerConfig.jsp</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminconfigGeneralPropertiesConfigFormjsp">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/GeneralPropertiesConfigForm.jsp</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminconfigSNMPFormjsp">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/SNMPForm.jsp</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminlicenseLicensejsp">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/license/License.jsp</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqadminlargeenvxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/largeenv.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqadminlistAlertTemplatesxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/listAlertTemplates.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqadminpluginplugindetailsxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/plugin/plugin-details.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqadminpluginpluginlistxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/plugin/plugin-list.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqcommonmenumenuxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/menu/menu.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqcontentlistChannelsxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listChannels.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqcontentlistContentSourcesxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listContentSources.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaaffinityGroupAgentsxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupAgents.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaaffinityGroupServersxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupServers.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhalistAffinityGroupsxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAffinityGroups.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhalistAgentsxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAgents.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhalistPartitionEventsxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listPartitionEvents.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhalistServersxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listServers.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaviewAffinityGroupxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAffinityGroup.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaviewAgentxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAgent.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaviewPartitionEventxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewPartitionEvent.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaviewServerxhtml">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewServer.xhtml</a></li>
<li><a href="#rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappfilteredWEBINFclassesApplicationResourcesproperties">rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp-filtered/WEB-INF/classes/ApplicationResources.properties</a></li>
<li><a href="#rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservercorepluginProductPluginDeployerjava">rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/ProductPluginDeployer.java</a></li>
<li><a href="#rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseserverresourcemetadataResourceMetadataManagerBeanjava">rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java</a></li>
<li><a href="#rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseserverresourcemetadataResourceMetadataManagerLocaljava">rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerLocal.java</a></li>
<li><a href="#rhqtrunkmodulesenterpriseserverjarsrctestjavaorgrhqenterpriseserverresourcemetadatatestUpdateSubsytemTestBasejava">rhq/trunk/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdateSubsytemTestBase.java</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguiadminpluginInstalledPluginUIBeanjava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginUIBean.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginUIBean.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginUIBean.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -22,9 +22,11 @@
</span><span class="cx"> import org.apache.commons.logging.LogFactory;
import org.rhq.core.domain.auth.Subject;
</span><span class="add">+import org.rhq.core.domain.authz.Permission;
</span><span class="cx"> import org.rhq.core.domain.plugin.Plugin;
import org.rhq.core.gui.util.FacesContextUtility;
import org.rhq.enterprise.gui.util.EnterpriseFacesContextUtility;
</span><span class="add">+import org.rhq.enterprise.server.authz.PermissionException;
</span><span class="cx"> import org.rhq.enterprise.server.resource.metadata.ResourceMetadataManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
</span><span class="lines">@@ -49,8 +51,8 @@
</span><span class="cx"> }
private Plugin lookupPlugin() {
</span><span class="add">+ hasPermission();
</span><span class="cx"> String pluginName = FacesContextUtility.getRequiredRequestParameter("plugin", String.class);
</span><span class="rem">- Subject subject = EnterpriseFacesContextUtility.getSubject();
</span><span class="cx"> return resourceMetadataManagerBean.getPlugin(pluginName);
}
</span><span class="lines">@@ -59,4 +61,15 @@
</span><span class="cx">
public void undeploy() {
}
</span><span class="add">+
+ /**
+ * Throws a permission exception if the user is not allowed to access this functionality.
+ */
+ private void hasPermission() {
+ Subject subject = EnterpriseFacesContextUtility.getSubject();
+ if (!LookupUtil.getAuthorizationManager().hasGlobalPermission(subject, Permission.MANAGE_SETTINGS)) {
+ throw new PermissionException("User [" + subject.getName()
+ + "] does not have the proper permissions to view or manage plugins");
+ }
+ }
</span><span class="cx"> }
\ No newline at end of file
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguiadminpluginInstalledPluginsUIBeanjava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/admin/plugin/InstalledPluginsUIBean.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -32,9 +32,13 @@
</span><span class="cx">
import org.jboss.deployment.scanner.URLDeploymentScannerMBean;
</span><span class="add">+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.authz.Permission;
</span><span class="cx"> import org.rhq.core.domain.plugin.Plugin;
import org.rhq.core.gui.util.FacesContextUtility;
import org.rhq.core.util.stream.StreamUtil;
</span><span class="add">+import org.rhq.enterprise.gui.util.EnterpriseFacesContextUtility;
+import org.rhq.enterprise.server.authz.PermissionException;
</span><span class="cx"> import org.rhq.enterprise.server.core.comm.ServerCommunicationsServiceMBean;
import org.rhq.enterprise.server.core.comm.ServerCommunicationsServiceUtil;
import org.rhq.enterprise.server.resource.metadata.ResourceMetadataManagerLocal;
</span><span class="lines">@@ -53,10 +57,14 @@
</span><span class="cx"> }
public Collection<Plugin> getInstalledPlugins() {
</span><span class="add">+ hasPermission();
+
</span><span class="cx"> return resourceMetadataManagerBean.getPlugins();
}
public void scan() {
</span><span class="add">+ hasPermission();
+
</span><span class="cx"> try {
URLDeploymentScannerMBean scanner = LookupUtil.getAgentPluginURLDeploymentScanner();
scanner.scan();
</span><span class="lines">@@ -69,9 +77,17 @@
</span><span class="cx"> }
public void fileUploadListener(UploadEvent event) {
</span><span class="add">+ hasPermission();
+
</span><span class="cx"> try {
File uploadedPlugin = event.getUploadItem().getFile();
String newPluginFilename = event.getUploadItem().getFileName();
</span><span class="add">+
+ // some browsers (IE in particular) passes an absolute filename, we just want the name of the file, no paths
+ if (newPluginFilename != null) {
+ newPluginFilename = new File(newPluginFilename).getName();
+ }
+
</span><span class="cx"> log.info("A new plugin [" + newPluginFilename + "] has been uploaded to [" + uploadedPlugin + "]");
if (uploadedPlugin == null || !uploadedPlugin.exists()) {
</span><span class="lines">@@ -98,4 +114,15 @@
</span><span class="cx">
return;
}
</span><span class="add">+
+ /**
+ * Throws a permission exception if the user is not allowed to access this functionality.
+ */
+ private void hasPermission() {
+ Subject subject = EnterpriseFacesContextUtility.getSubject();
+ if (!LookupUtil.getAuthorizationManager().hasGlobalPermission(subject, Permission.MANAGE_SETTINGS)) {
+ throw new PermissionException("User [" + subject.getName()
+ + "] does not have the proper permissions to view or manage plugins");
+ }
+ }
</span><span class="cx"> }
\ No newline at end of file
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguihaViewAgentUIBeanjava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/ha/ViewAgentUIBean.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/ha/ViewAgentUIBean.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/ha/ViewAgentUIBean.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -20,6 +20,8 @@
</span><span class="cx">
import javax.faces.model.DataModel;
</span><span class="add">+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.authz.Permission;
</span><span class="cx"> import org.rhq.core.domain.cloud.FailoverListDetails;
import org.rhq.core.domain.resource.Agent;
import org.rhq.core.domain.util.PageControl;
</span><span class="lines">@@ -28,6 +30,8 @@
</span><span class="cx"> import org.rhq.enterprise.gui.common.framework.PagedDataTableUIBean;
import org.rhq.enterprise.gui.common.paging.PageControlView;
import org.rhq.enterprise.gui.common.paging.PagedListDataModel;
</span><span class="add">+import org.rhq.enterprise.gui.util.EnterpriseFacesContextUtility;
+import org.rhq.enterprise.server.authz.PermissionException;
</span><span class="cx"> import org.rhq.enterprise.server.cloud.CloudManagerLocal;
import org.rhq.enterprise.server.core.AgentManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
</span><span class="lines">@@ -49,6 +53,7 @@
</span><span class="cx">
public Agent getAgent() {
if (agent == null) {
</span><span class="add">+ hasPermission();
</span><span class="cx"> int agentId = FacesContextUtility.getRequiredRequestParameter("agentId", Integer.class);
agent = agentManager.getAgentByID(agentId);
}
</span><span class="lines">@@ -78,4 +83,15 @@
</span><span class="cx"> return pageList;
}
}
</span><span class="add">+
+ /**
+ * Throws a permission exception if the user is not allowed to access this functionality.
+ */
+ private void hasPermission() {
+ Subject subject = EnterpriseFacesContextUtility.getSubject();
+ if (!LookupUtil.getAuthorizationManager().hasGlobalPermission(subject, Permission.MANAGE_INVENTORY)) {
+ throw new PermissionException("User [" + subject.getName()
+ + "] does not have the proper permissions to view or manage agents");
+ }
+ }
</span><span class="cx"> }
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguihaViewServerUIBeanjava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/ha/ViewServerUIBean.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/ha/ViewServerUIBean.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/ha/ViewServerUIBean.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -21,6 +21,8 @@
</span><span class="cx"> import javax.faces.application.FacesMessage;
import javax.faces.model.DataModel;
</span><span class="add">+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.authz.Permission;
</span><span class="cx"> import org.rhq.core.domain.cloud.Server;
import org.rhq.core.domain.resource.Agent;
import org.rhq.core.domain.util.PageControl;
</span><span class="lines">@@ -29,6 +31,8 @@
</span><span class="cx"> import org.rhq.enterprise.gui.common.framework.PagedDataTableUIBean;
import org.rhq.enterprise.gui.common.paging.PageControlView;
import org.rhq.enterprise.gui.common.paging.PagedListDataModel;
</span><span class="add">+import org.rhq.enterprise.gui.util.EnterpriseFacesContextUtility;
+import org.rhq.enterprise.server.authz.PermissionException;
</span><span class="cx"> import org.rhq.enterprise.server.cloud.CloudManagerLocal;
import org.rhq.enterprise.server.core.AgentManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
</span><span class="lines">@@ -41,6 +45,7 @@
</span><span class="cx"> private Server server;
public ViewServerUIBean() {
</span><span class="add">+ hasPermission();
</span><span class="cx"> int serverId = FacesContextUtility.getRequiredRequestParameter("serverId", Integer.class);
server = cloudManager.getServerById(serverId);
}
</span><span class="lines">@@ -93,4 +98,14 @@
</span><span class="cx"> }
}
</span><span class="add">+ /**
+ * Throws a permission exception if the user is not allowed to access this functionality.
+ */
+ private void hasPermission() {
+ Subject subject = EnterpriseFacesContextUtility.getSubject();
+ if (!LookupUtil.getAuthorizationManager().hasGlobalPermission(subject, Permission.MANAGE_INVENTORY)) {
+ throw new PermissionException("User [" + subject.getName()
+ + "] does not have the proper permissions to view or manage servers");
+ }
+ }
</span><span class="cx"> }
\ No newline at end of file
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainjavaorgrhqenterpriseguiinventoryresourceCreateNewPackageChildResourceUIBeanjava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/inventory/resource/CreateNewPackageChildResourceUIBean.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/inventory/resource/CreateNewPackageChildResourceUIBean.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/inventory/resource/CreateNewPackageChildResourceUIBean.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -18,6 +18,7 @@
</span><span class="cx"> */
package org.rhq.enterprise.gui.inventory.resource;
</span><span class="add">+import java.io.File;
</span><span class="cx"> import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
</span><span class="lines">@@ -146,6 +147,11 @@
</span><span class="cx"> ConfigurationMaskingUtility.unmaskConfiguration(deployTimeConfiguration, getConfigurationDefinition());
String packageName = fileItem.getFileName();
</span><span class="add">+ // some browsers (IE in particular) passes an absolute filename, we just want the name of the file, no paths
+ if (packageName != null) {
+ packageName = new File(packageName).getName();
+ }
+
</span><span class="cx"> // For JON 2.0 RC3, no longer request the package version on a package-backed create, simply
// use the timestamp. The timestamp will also be used when creating new packages of this type, so
// we are effectively controlling the versioning for the user
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappWEBINFstrutsconfigxml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/struts-config.xml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/struts-config.xml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/struts-config.xml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -765,8 +765,8 @@
</span><span class="cx"> scope="request"
type="org.rhq.enterprise.gui.admin.config.EditConfigAction"
input="/admin/config/Config.do?mode=edit">
</span><span class="rem">- <forward name="success" path="/Admin.do"/>
- <forward name="cancel" path="/Admin.do" redirect="true"/>
</span><span class="add">+ <forward name="success" path="/admin/config/Config.do?mode=edit"/>
+ <forward name="cancel" path="/admin/config/Config.do?mode=edit" redirect="true"/>
</span><span class="cx"> <forward name="reset" path="/admin/config/Config.do?mode=edit" redirect="true"/>
<forward name="failure" path="/admin/config/Config.do?mode=edit"/>
</action>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminAdminHeaderjsp"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/AdminHeader.jsp (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/AdminHeader.jsp 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/AdminHeader.jsp 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -5,42 +5,51 @@
</span><span class="cx"> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%--<html:link href="" onclick="window.open(help,'help','width=800,height=650,scrollbars=yes,toolbar=yes,left=80,top=80,resizable=yes'); return false;"><html:img styleClass="pagehelp" page="/images/title_pagehelp.gif" border="0" align="right"/></html:link>--%>
</span><span class="rem">-<html:link page="/Admin.do"><fmt:message key="admin.admin.AdministrationTitle"/></html:link>
</span><span class="add">+<%--<html:link page="/Admin.do"><fmt:message key="admin.admin.AdministrationTitle"/></html:link>--%>
</span><span class="cx"> <tiles:importAttribute name="location" ignore="true"/>
<c:if test="${not empty location}">
</span><span class="rem">-&gt;
</span><span class="cx"> <c:choose>
<c:when test="${location eq 'header.users'}">
<c:url var="parent" value="/admin/user/UserAdmin.do">
<c:param name="mode" value="list"/>
</c:url>
</span><span class="add">+ <a href="<c:out value="${parent}"/>"><fmt:message key="${location}"/></a>
</span><span class="cx"> </c:when>
<c:when test="${location eq 'header.roles'}">
<c:url var="parent" value="/admin/role/RoleAdmin.do">
<c:param name="mode" value="list"/>
</c:url>
</span><span class="add">+ <a href="<c:out value="${parent}"/>"><fmt:message key="${location}"/></a>
</span><span class="cx"> </c:when>
</span><span class="add">+ <%--
</span><span class="cx"> <c:when test="${location eq 'admin.home.ServerConfig'}">
<c:url var="parent" value="/admin/config/Config.do">
<c:param name="mode" value="edit"/>
</c:url>
</c:when>
</span><span class="add">+ --%>
</span><span class="cx"> <c:when test="${location eq 'admin.home.ResourceTemplates'}">
<c:url var="parent" value="/admin/config/EditDefaults.do">
<c:param name="mode" value="monitor"/>
</c:url>
</span><span class="add">+ <a href="<c:out value="${parent}"/>"><fmt:message key="${location}"/></a>
+ <c:if test="${not empty param.mode && param.mode ne 'monitor'}">
+ &gt;
+ <a href="javascript: window.location.reload()"><fmt:message key="admin.mode.${param.mode}"/></a>
+ </c:if>
</span><span class="cx"> </c:when>
<c:when test="${location eq 'admin.home.ResourceAlerts'}">
<html:link page="/admin/config/EditDefaults.do?mode=monitor">
<fmt:message key="admin.home.ResourceTemplates"/>
</html:link>
&gt;
</span><span class="add">+ <a href="<c:out value="${parent}"/>"><fmt:message key="${location}"/></a>
+ <%--
+ <c:if test="${not empty param.mode && param.mode ne 'list'}">
+ &gt;
+ <a href="javascript: window.location.reload()"><fmt:message key="admin.mode.${param.mode}"/></a>
+ </c:if>
+ --%>
</span><span class="cx"> </c:when>
</c:choose>
</span><span class="rem">-
- <a href="<c:out value="${parent}"/>"><fmt:message key="${location}"/></a>
- <c:if test="${not empty param.mode && param.mode ne 'list'}">
- &gt;
- <a href="javascript: window.location.reload()"><fmt:message key="admin.mode.${param.mode}"/></a>
- </c:if>
</span><span class="cx"> </c:if>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminAdminHomejsp"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/AdminHome.jsp (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/AdminHome.jsp 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/AdminHome.jsp 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -6,6 +6,12 @@
</span><span class="cx"> <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tld/hq.tld" prefix="hq" %>
</span><span class="add">+<!-- This page is not used anymore and will be DELETED eventually - use the menu bar instead -->
+<!-- I'm afraid to delete this jsp because I don't know where else its accessed -->
+<!-- but only let the users with MANAGE_SECURITY see it. More fine-grained -->
+<!-- auth controls are placed over the menu bar. -->
+<hq:authorization permission="MANAGE_SECURITY">
+
</span><span class="cx"> <!-- PAGE TITLE -->
<tiles:insert definition=".page.title.admin.admin">
<tiles:put name="titleKey" value="admin.admin.AdministrationTitle"/>
</span><span class="lines">@@ -13,10 +19,11 @@
</span><span class="cx"> </tiles:insert>
<!-- / -->
</span><span class="add">+<tiles:insert definition=".portlet.confirm"/>
+
</span><span class="cx"> <tiles:insert definition=".header.tab">
<tiles:put name="tabKey" value="admin.home.AuthAuthZTab"/>
</tiles:insert>
</span><span class="rem">-<tiles:insert definition=".portlet.confirm"/>
</span><span class="cx"> <!-- AUTH -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
</span><span class="lines">@@ -25,18 +32,15 @@
</span><span class="cx"> <td width="20%" class="BlockLabel"><fmt:message key="admin.home.Roles"/></td>
<td width="30%" class="BlockContent"><html:link page="/admin/role/RoleAdmin.do?mode=list"><fmt:message key="admin.home.ListRoles"/></html:link></td>
</tr>
</span><span class="rem">- <hq:authorization permission="MANAGE_SECURITY">
</span><span class="cx"> <tr>
<td width="20%" class="BlockLabel">&nbsp;</td>
<td width="30%" class="BlockContent"><html:link page="/admin/user/UserAdmin.do?mode=new"><fmt:message key="admin.home.NewUser"/></html:link></td>
<td width="20%" class="BlockLabel">&nbsp;</td>
<td width="30%" class="BlockContent"><html:link page="/admin/role/RoleAdmin.do?mode=new"><fmt:message key="admin.home.NewRole"/></html:link></td>
</tr>
</span><span class="rem">- </hq:authorization>
</span><span class="cx"> </table>
<!-- / -->
</span><span class="rem">-<hq:authorization permission="MANAGE_SETTINGS">
</span><span class="cx"> <!-- some empty space -->
<br>
<br>
</span><span class="lines">@@ -77,11 +81,9 @@
</span><span class="cx"> </tr>
--%>
</table>
</span><span class="rem">-</hq:authorization>
</span><span class="cx"> <!-- / -->
</span><span class="rem">-<hq:authorization permission="MANAGE_SETTINGS">
</span><span class="cx"> <!-- some empty space -->
<br>
<br>
</span><span class="lines">@@ -102,10 +104,8 @@
</span><span class="cx"> <td width="30%" class="BlockContent"><html:link page="/rhq/content/listChannels.xhtml"><fmt:message key="admin.home.Content.ListChannels"/></html:link></td>
</tr>
</table>
</span><span class="rem">-</hq:authorization>
</span><span class="cx"> <!-- / -->
</span><span class="rem">-<hq:authorization permission="MANAGE_SETTINGS">
</span><span class="cx"> <!-- some empty space -->
<br>
<br>
</span><span class="lines">@@ -134,7 +134,6 @@
</span><span class="cx"> <td width="30%" class="BlockContent"><html:link page="/rhq/ha/listPartitionEvents.xhtml"><fmt:message key="admin.home.Ha.ListPartitionEvents"/></html:link></td>
</tr>
</table>
</span><span class="rem">-</hq:authorization>
</span><span class="cx"> <!-- / -->
<!-- some empty space -->
</span><span class="lines">@@ -163,4 +162,6 @@
</span><span class="cx"> </table>
<!-- / -->
</span><span class="add">+</hq:authorization>
+
</span><span class="cx"> <tiles:insert definition=".page.footer"/>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminconfigDataManagerConfigFormjsp"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/DataManagerConfigForm.jsp (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/DataManagerConfigForm.jsp 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/DataManagerConfigForm.jsp 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> <tr>
<logic:messagesPresent property="maintIntervalVal">
<td class="ErrorField">
</span><span class="rem">- <html:text size="2" property="maintIntervalVal" />
</span><span class="add">+ <html:text size="3" property="maintIntervalVal" />
</span><span class="cx"> </td>
<td class="ErrorField" width="100%">
<html:select property="maintInterval">
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> </logic:messagesPresent>
<logic:messagesNotPresent property="maintIntervalVal">
<td class="BlockContent">
</span><span class="rem">- <html:text size="2" property="maintIntervalVal" />
</span><span class="add">+ <html:text size="3" property="maintIntervalVal" />
</span><span class="cx"> </td>
<td class="BlockContent" width="100%">
<html:select property="maintInterval">
</span><span class="lines">@@ -76,7 +76,7 @@
</span><span class="cx"> <tr>
<logic:messagesPresent property="rtPurgeVal">
<td class="ErrorField">
</span><span class="rem">- <html:text size="2" property="rtPurgeVal" />
</span><span class="add">+ <html:text size="3" property="rtPurgeVal" />
</span><span class="cx"> </td>
<td class="ErrorField" width="100%">
<html:select property="rtPurge">
</span><span class="lines">@@ -86,7 +86,7 @@
</span><span class="cx"> </logic:messagesPresent>
<logic:messagesNotPresent property="rtPurgeVal">
<td class="BlockContent">
</span><span class="rem">- <html:text size="2" property="rtPurgeVal" />
</span><span class="add">+ <html:text size="3" property="rtPurgeVal" />
</span><span class="cx"> </td>
<td class="BlockContent" width="100%">
<html:select property="rtPurge">
</span><span class="lines">@@ -119,7 +119,7 @@
</span><span class="cx"> <tr>
<logic:messagesPresent property="alertPurgeVal">
<td class="ErrorField">
</span><span class="rem">- <html:text size="2" property="alertPurgeVal" />
</span><span class="add">+ <html:text size="3" property="alertPurgeVal" />
</span><span class="cx"> </td>
<td class="ErrorField" width="100%">
<html:select property="alertPurge">
</span><span class="lines">@@ -129,7 +129,7 @@
</span><span class="cx"> </logic:messagesPresent>
<logic:messagesNotPresent property="alertPurgeVal">
<td class="BlockContent">
</span><span class="rem">- <html:text size="2" property="alertPurgeVal" />
</span><span class="add">+ <html:text size="3" property="alertPurgeVal" />
</span><span class="cx"> </td>
<td class="BlockContent" width="100%">
<html:select property="alertPurge">
</span><span class="lines">@@ -162,7 +162,7 @@
</span><span class="cx"> <tr>
<logic:messagesPresent property="eventPurgeVal">
<td class="ErrorField">
</span><span class="rem">- <html:text size="2" property="eventPurgeVal" />
</span><span class="add">+ <html:text size="3" property="eventPurgeVal" />
</span><span class="cx"> </td>
<td class="ErrorField" width="100%">
<html:select property="eventPurge">
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx"> </logic:messagesPresent>
<logic:messagesNotPresent property="eventPurgeVal">
<td class="BlockContent">
</span><span class="rem">- <html:text size="2" property="eventPurgeVal" />
</span><span class="add">+ <html:text size="3" property="eventPurgeVal" />
</span><span class="cx"> </td>
<td class="BlockContent" width="100%">
<html:select property="eventPurge">
</span><span class="lines">@@ -205,7 +205,7 @@
</span><span class="cx"> <tr>
<logic:messagesPresent property="traitPurgeVal">
<td class="ErrorField">
</span><span class="rem">- <html:text size="2" property="traitPurgeVal" />
</span><span class="add">+ <html:text size="3" property="traitPurgeVal" />
</span><span class="cx"> </td>
<td class="ErrorField" width="100%">
<html:select property="traitPurge">
</span><span class="lines">@@ -215,7 +215,7 @@
</span><span class="cx"> </logic:messagesPresent>
<logic:messagesNotPresent property="traitPurgeVal">
<td class="BlockContent">
</span><span class="rem">- <html:text size="2" property="traitPurgeVal" />
</span><span class="add">+ <html:text size="3" property="traitPurgeVal" />
</span><span class="cx"> </td>
<td class="BlockContent" width="100%">
<html:select property="traitPurge">
</span><span class="lines">@@ -248,7 +248,7 @@
</span><span class="cx"> <tr>
<logic:messagesPresent property="availPurgeVal">
<td class="ErrorField">
</span><span class="rem">- <html:text size="2" property="availPurgeVal" />
</span><span class="add">+ <html:text size="3" property="availPurgeVal" />
</span><span class="cx"> </td>
<td class="ErrorField" width="100%">
<html:select property="availPurge">
</span><span class="lines">@@ -258,7 +258,7 @@
</span><span class="cx"> </logic:messagesPresent>
<logic:messagesNotPresent property="availPurgeVal">
<td class="BlockContent">
</span><span class="rem">- <html:text size="2" property="availPurgeVal" />
</span><span class="add">+ <html:text size="3" property="availPurgeVal" />
</span><span class="cx"> </td>
<td class="BlockContent" width="100%">
<html:select property="availPurge">
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminconfigEditServerConfigjsp"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/EditServerConfig.jsp (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/EditServerConfig.jsp 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/EditServerConfig.jsp 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -20,6 +20,16 @@
</span><span class="cx">
<html:form action="/admin/config/EditConfig">
</span><span class="add">+<tiles:insert definition=".portlet.confirm"/>
+<logic:messagesPresent>
+<table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="ErrorBlock"><html:img page="/images/tt_error.gif" width="10" height="11" alt="" border="0"/></td>
+ <td class="ErrorBlock" width="100%"><html:errors/></td>
+ </tr>
+</table>
+</logic:messagesPresent>
+
</span><span class="cx"> <c:if test="${not empty param.debug}">
<input type="hidden" name="debug" value="${param.debug}" />
</c:if>
</span><span class="lines">@@ -44,7 +54,9 @@
</span><span class="cx"> <%--<tiles:insert page="/admin/config/MiscForm.jsp"/>--%>
<!-- FORM BUTTONS -->
</span><span class="rem">-<tiles:insert definition=".form.buttons"/>
</span><span class="add">+<tiles:insert definition=".form.buttons">
+ <tiles:put name="noCancel" value="true" />
+</tiles:insert>
</span><span class="cx">
</html:form>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminconfigGeneralPropertiesConfigFormjsp"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/GeneralPropertiesConfigForm.jsp (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/GeneralPropertiesConfigForm.jsp 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/GeneralPropertiesConfigForm.jsp 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -21,15 +21,6 @@
</span><span class="cx"> classname="org.rhq.enterprise.gui.legacy.Constants"
symbol="DAYS_LABEL" var="CONST_DAYS" />
</span><span class="rem">-<logic:messagesPresent>
-<table width="100%" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="ErrorField"><html:img page="/images/spacer.gif" width="1" height="1" border="0"/></td>
- <td align="left" class="ErrorField"><html:errors/></td>
- </tr>
-</table>
-</logic:messagesPresent>
-
</span><span class="cx"> <!-- BASE SERVER CONFIG TITLE -->
<tiles:insert definition=".header.tab">
<tiles:put name="tabKey" value="admin.settings.BaseConfigTab"/>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminconfigSNMPFormjsp"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/SNMPForm.jsp (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/SNMPForm.jsp 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/config/SNMPForm.jsp 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -13,13 +13,6 @@
</span><span class="cx"> <!-- / -->
<script>
</span><span class="rem">- function initSNMPForm() {
- var form = document.forms['SystemConfigForm'];
- snmpVersionChange(form.snmpVersion);
- }
-
- onloads.push( initSNMPForm );
-
</span><span class="cx"> function snmpVersionChange(e) {
showSnmpDiv(e.value);
}
</span><span class="lines">@@ -57,6 +50,10 @@
</span><span class="cx"> }
}
</span><span class="add">+ function initSNMPForm() {
+ var form = document.forms['SystemConfigForm'];
+ snmpVersionChange(form.snmpVersion);
+ }
</span><span class="cx"> </script>
<!-- SNMP CONFIG PROPERTIES CONTENTS -->
</span><span class="lines">@@ -165,4 +162,10 @@
</span><span class="cx"> <td class="BlockBottomLine"><div style="width: 1px; height: 1px;"/></td>
</tr>
</table>
</span><span class="add">+
+<script>
+initSNMPForm();
+</script>
+
+
</span><span class="cx"> <!-- / -->
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappadminlicenseLicensejsp"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/license/License.jsp (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/license/License.jsp 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/admin/license/License.jsp 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -1,6 +1,5 @@
</span><span class="cx"> <%@ page import="org.rhq.enterprise.server.license.License" %>
<%@ page import="java.util.Date" %>
</span><span class="rem">-</html>
</span><span class="cx"> <%@ page language="java" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html-el" prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqadminlargeenvxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/largeenv.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/largeenv.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/largeenv.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -17,16 +17,6 @@
</span><span class="cx">
<ui:param name="pageTitle" value="Large Environment Preparation"/>
</span><span class="rem">- <ui:define name="breadcrumbs">
- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
- <h:outputLink value="largeenv.xhtml">
- ${msg["largeenv.breadcrumb"]}
- </h:outputLink>
- </ui:define>
-
</span><span class="cx"> <ui:define name="body">
<br/>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqadminlistAlertTemplatesxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/listAlertTemplates.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/listAlertTemplates.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/listAlertTemplates.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -18,8 +18,8 @@
</span><span class="cx">
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["user.admin.page.title"]}
</span><span class="add">+ <h:outputLink value="/admin/config/EditDefaults.do?mode=monitor">
+ ${msg["admin.resource.templates.PageTitle"]}
</span><span class="cx"> </h:outputLink>
&gt;
<h:outputLink value="/rhq/admin/listAlertTemplates.xhtml?type=${param.type}">
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqadminpluginplugindetailsxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/plugin/plugin-details.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/plugin/plugin-details.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/plugin/plugin-details.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -12,10 +12,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="#{InstalledPluginUIBean.plugin.name}"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="plugin-list.xhtml" >
<h:outputText value="Installed Plugins"/>
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqadminpluginpluginlistxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/plugin/plugin-list.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/plugin/plugin-list.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/admin/plugin/plugin-list.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -13,10 +13,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="Installed Plugins"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="plugin-list.xhtml" >
${msg["manage-plugins.installed-plugins.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqcommonmenumenuxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/menu/menu.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/menu/menu.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/common/menu/menu.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -17,15 +17,20 @@
</span><span class="cx"> <rich:toolBar styleClass="topMenu">
<rich:toolBarGroup location="left">
</span><span class="add">+ <ui:remove>===== LOGO TO HOME PAGE =====</ui:remove>
+
</span><span class="cx"> <h:outputLink value="/">
<h:graphicImage value="/images/logo_icon.png"/>
</h:outputLink>
</span><span class="add">+ <ui:remove>===== DASHBOARD =====</ui:remove>
</span><span class="cx">
<h:outputLink value="/Dashboard.do">
<h:outputText value="#{msg['dash.home.PageTitle']}"/>
</h:outputLink>
</span><span class="add">+ <ui:remove>===== RESOURCES =====</ui:remove>
+
</span><span class="cx"> <rich:dropDownMenu>
<f:facet name="label">
<h:panelGroup>
</span><span class="lines">@@ -35,42 +40,46 @@
</span><span class="cx"> </h:panelGroup>
</f:facet>
</span><span class="add">+ <ui:remove>***** Resources > PLAFORMS *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none" icon="/images/icons/Platform_up_16.png"
onclick="window.location = '/ResourceHub.do?resourceCategory=PLATFORM'">
<h:outputText value="#{msg['resource.hub.filter.platform']}"/>
</rich:menuItem>
</span><span class="add">+ <ui:remove>***** Resources > SERVERS *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none" icon="/images/icons/Server_up_16.png"
onclick="window.location = '/ResourceHub.do?resourceCategory=SERVER'">
<h:outputText value="#{msg['resource.hub.filter.server']}"/>
</rich:menuItem>
</span><span class="add">+ <ui:remove>***** Resources > SERVICES *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none" icon="/images/icons/Service_up_16.png"
onclick="window.location = '/ResourceHub.do?resourceCategory=SERVICE'">
<h:outputText value="#{msg['resource.hub.filter.service']}"/>
</rich:menuItem>
</span><span class="rem">- <rich:menuItem submitMode="none" icon="/images/icons/Cluster_up_16.png"
- onclick="window.location = '/GroupHub.do?groupCategory=COMPATIBLE'">
- <h:outputText value="#{msg['resource.hub.filter.compatibleGroups']}"/>
- </rich:menuItem>
</span><span class="add">+ <ui:remove>***** Resources > COMPATIBLE GROUPS *****</ui:remove>
+ <rich:menuItem submitMode="none" icon="/images/icons/Cluster_up_16.png"
+ onclick="window.location = '/GroupHub.do?groupCategory=COMPATIBLE'">
+ <h:outputText value="#{msg['resource.hub.filter.compatibleGroups']}"/>
+ </rich:menuItem>
</span><span class="cx">
</span><span class="rem">- <rich:menuItem submitMode="none" icon="/images/icons/Group_up_16.png"
- onclick="window.location = '/GroupHub.do?groupCategory=MIXED'">
- <h:outputText value="#{msg['resource.hub.filter.mixedGroups']}"/>
- </rich:menuItem>
</span><span class="add">+ <ui:remove>***** Resources > MIXED GROUPS *****</ui:remove>
+ <rich:menuItem submitMode="none" icon="/images/icons/Group_up_16.png"
+ onclick="window.location = '/GroupHub.do?groupCategory=MIXED'">
+ <h:outputText value="#{msg['resource.hub.filter.mixedGroups']}"/>
+ </rich:menuItem>
</span><span class="cx">
</span><span class="rem">- <rich:menuItem submitMode="none" onclick="window.location = '/rhq/definition/group/list.xhtml'">
- <h:outputText value="#{msg['resource.hub.filter.groupDefinitions']}"/>
- </rich:menuItem>
</span><span class="add">+ <ui:remove>***** Resources > GROUP DEFINITIONS *****</ui:remove>
+ <rich:menuItem submitMode="none" onclick="window.location = '/rhq/definition/group/list.xhtml'">
+ <h:outputText value="#{msg['resource.hub.filter.groupDefinitions']}"/>
+ </rich:menuItem>
</span><span class="cx">
</span><span class="rem">-
</span><span class="add">+ <ui:remove>***** Resources > SYSTEM VIEWS *****</ui:remove>
</span><span class="cx"> <rich:menuGroup value="Subsystem Views">
</span><span class="rem">-
</span><span class="cx"> <rich:menuItem submitMode="none" icon="/images/icons/Configure_16.png"
onclick="window.location = '/rhq/subsystem/configurationUpdate.xhtml'">Configuration Changes
</rich:menuItem>
</span><span class="rem">-
</span><span class="cx"> <rich:menuItem submitMode="none" icon="/images/icons/Monitor_failed_16.png"
onclick="window.location = '/rhq/subsystem/oobHistory.xhtml'">Problem Resources
</rich:menuItem>
</span><span class="lines">@@ -83,43 +92,35 @@
</span><span class="cx"> <rich:menuItem submitMode="none" icon="/images/icons/Flag_grey_16.png"
onclick="window.location = '/rhq/subsystem/alertDefinitions.xhtml'">Alert Definitions
</rich:menuItem>
</span><span class="rem">-
</span><span class="cx"> </rich:menuGroup>
<rich:menuSeparator/>
</span><span class="add">+ <ui:remove>***** Resources > FAVORITE RESOURCES *****</ui:remove>
</span><span class="cx"> <rich:menuGroup value="Favorite Resources" icon="/images/star_on_24.png">
</span><span class="rem">-
</span><span class="cx"> <c:forEach var="resource" items="#{UserPreferencesUIBean.resourceFavorites}">
</span><span class="rem">-
</span><span class="cx"> <rich:menuItem submitMode="none"
icon="/images/icons/#{resource.resourceType.category}_up_16.png"
onclick="window.location = '#{onf:getDefaultResourceTabURL()}?id=#{resource.id}'">
<h:outputText value="#{resource.name}"/>
</rich:menuItem>
</c:forEach>
</span><span class="rem">-
</span><span class="cx"> </rich:menuGroup>
</span><span class="rem">-
</span><span class="add">+ <ui:remove>***** Resources > FAVORITE GROUPS *****</ui:remove>
</span><span class="cx"> <rich:menuGroup value="Favorite Groups" icon="/images/star_on_24.png">
</span><span class="rem">-
</span><span class="cx"> <c:forEach var="group" items="#{UserPreferencesUIBean.groupFavorites}">
</span><span class="rem">-
</span><span class="cx"> <rich:menuItem submitMode="none"
icon="/images/icons/#{group.groupCategory == 'MIXED' ? 'Group' : 'Cluster'}_up_16.png"
onclick="window.location = '/rhq/group/inventory/view.xhtml?groupId=#{group.id}'">
<h:outputText value="#{group.name}"/>
</rich:menuItem>
</c:forEach>
</span><span class="rem">-
</span><span class="cx"> </rich:menuGroup>
</span><span class="rem">-
</span><span class="add">+ <ui:remove>***** Resources > RECENTLY VIEWED *****</ui:remove>
</span><span class="cx"> <rich:menuGroup value="Recently Viewed" icon="/images/bookmark.png">
</span><span class="rem">-
</span><span class="cx"> <c:forEach var="visit" items="#{UserPreferencesUIBean.recentVisits}">
</span><span class="rem">-
</span><span class="cx"> <c:if test="#{visit.kind == 'PLATFORM' or visit.kind == 'SERVER' or visit.kind == 'SERVICE'}">
<rich:menuItem submitMode="none"
icon="/images/icons/#{visit.kind.displayName}_up_16.png"
</span><span class="lines">@@ -134,24 +135,17 @@
</span><span class="cx"> <h:outputText value="#{visit.name}"/>
</rich:menuItem>
</c:if>
</span><span class="rem">-
</span><span class="cx"> </c:forEach>
</span><span class="rem">-
</span><span class="cx"> </rich:menuGroup>
</span><span class="rem">-
-
</span><span class="cx"> <rich:menuSeparator/>
</span><span class="add">+ <ui:remove>***** Resources > SEARCH *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none" disabled="true" icon="/images/icons/Search_16.png">
<h:outputText value="Search: " style="color: black;"/>
</span><span class="rem">-
-
</span><span class="cx"> <h:panelGroup>
</span><span class="rem">-
</span><span class="cx"> <h:inputText id="selectedResource" style="width: 250px;" immediate="true"
onkeypress="return ignoreEnterKey(event);" />
</span><span class="rem">-
</span><span class="cx"> <rich:suggestionbox id="resourceSelectBox" for="selectedResource" tokens=",[]"
ajaxSingle="true" immediate="true"
suggestionAction="#{ResourceSelectUIBean.autocomplete}"
</span><span class="lines">@@ -160,8 +154,6 @@
</span><span class="cx"> style="background-color: #cccccc;"
onselect="document.location.href='#{onf:getDefaultResourceTabURL()}?id=' + #{rich:element('selectedResource')}.value"
usingSuggestObjects="false" width="700" height="400">
</span><span class="rem">-
-
</span><span class="cx"> <h:column>
<f:facet name="header">Avail</f:facet>
<h:graphicImage
</span><span class="lines">@@ -175,46 +167,95 @@
</span><span class="cx"> <f:facet name="header">Parent</f:facet>
<h:outputText value="#{result.parent.name}"/>
</h:column>
</span><span class="rem">-
</span><span class="cx"> </rich:suggestionbox>
</span><span class="rem">-
</span><span class="cx"> </h:panelGroup>
</span><span class="rem">-
-
</span><span class="cx"> </rich:menuItem>
</rich:dropDownMenu>
</span><span class="add">+ <ui:remove>===== ADMINISTRATION =====</ui:remove>
+
</span><span class="cx"> <rich:dropDownMenu>
<f:facet name="label">
<h:panelGroup>
</span><span class="rem">- <h:outputLink value="/Admin.do">
- <h:outputText value="#{msg['admin.admin.AdministrationTitle']}"/>
- </h:outputLink>
</span><span class="add">+ <h:outputText value="#{msg['admin.admin.AdministrationTitle']}"/>
</span><span class="cx"> </h:panelGroup>
</f:facet>
</span><span class="rem">- <rich:menuGroup value="Tools">
- <rich:menuItem submitMode="none"
- onclick="window.location = '/admin/config/EditDefaults.do?mode=monitor&amp;viewMode=all'">
- <h:outputText value="Monitoring Defaults"/>
</span><span class="add">+
+ <ui:remove>***** Administration > SECURITY *****</ui:remove>
+ <rich:menuGroup value="Security">
+ <rich:menuItem submitMode="none" onclick="window.location = '/admin/user/UserAdmin.do?mode=list'">
+ <h:outputText value="Users"/>
</span><span class="cx"> </rich:menuItem>
</span><span class="add">+ <rich:menuItem submitMode="none" onclick="window.location = '/admin/role/RoleAdmin.do?mode=list'">
+ <h:outputText value="Roles"/>
+ </rich:menuItem>
+ </rich:menuGroup>
</span><span class="cx">
</span><span class="rem">- <rich:menuItem submitMode="none"
- onclick="window.location = '/admin/license/LicenseAdmin.do?mode=view'">
- <h:outputText value="#{msg['header.license']}"/>
</span><span class="add">+ <ui:remove>***** Administration > SYSTEM CONFIGURATION *****</ui:remove>
+ <rich:menuGroup value="System Configuration" rendered="#{GlobalPermissionsUIBean.settings || GlobalPermissionsUIBean.inventory}">
+ <rich:menuItem submitMode="none" onclick="window.location = '/admin/config/Config.do?mode=edit'"
+ rendered="#{GlobalPermissionsUIBean.settings}">
+ <h:outputText value="Settings"/>
</span><span class="cx"> </rich:menuItem>
</span><span class="add">+ <rich:menuItem submitMode="none" onclick="window.location = '/rhq/admin/plugin/plugin-list.xhtml'"
+ rendered="#{GlobalPermissionsUIBean.settings}">
+ <h:outputText value="Plugins"/>
+ </rich:menuItem>
+ <rich:menuItem submitMode="none" onclick="window.location = '/admin/config/EditDefaults.do?mode=monitor&amp;viewMode=all'"
+ rendered="#{GlobalPermissionsUIBean.inventory}">
+ <h:outputText value="Templates"/>
+ </rich:menuItem>
</span><span class="cx"> </rich:menuGroup>
</span><span class="rem">- <rich:menuGroup value="Security">
- <rich:menuItem submitMode="none" onclick="window.location = '/admin/user/UserAdmin.do?mode=list'">
- <h:outputText value="Manage Users"/>
</span><span class="add">+ <ui:remove>***** Administration > CONTENT *****</ui:remove>
+ <rich:menuGroup value="Content" rendered="#{GlobalPermissionsUIBean.inventory}">
+ <rich:menuItem submitMode="none" onclick="window.location = '/rhq/content/listContentSources.xhtml'">
+ <h:outputText value="Content Sources"/>
</span><span class="cx"> </rich:menuItem>
</span><span class="rem">- <rich:menuItem submitMode="none" onclick="window.location = '/admin/role/RoleAdmin.do?mode=list'">
- <h:outputText value="Manage Roles"/>
</span><span class="add">+ <rich:menuItem submitMode="none" onclick="window.location = '/rhq/content/listChannels.xhtml'">
+ <h:outputText value="Channels"/>
</span><span class="cx"> </rich:menuItem>
</rich:menuGroup>
</span><span class="add">+
+ <ui:remove>***** Administration > HIGH AVAILABILITY *****</ui:remove>
+ <rich:menuGroup value="High Availability" rendered="#{GlobalPermissionsUIBean.inventory}">
+ <rich:menuItem submitMode="none" onclick="window.location = '/rhq/ha/listServers.xhtml'">
+ <h:outputText value="Servers"/>
+ </rich:menuItem>
+ <rich:menuItem submitMode="none" onclick="window.location = '/rhq/ha/listAgents.xhtml'">
+ <h:outputText value="Agents"/>
+ </rich:menuItem>
+ <rich:menuItem submitMode="none" onclick="window.location = '/rhq/ha/listAffinityGroups.xhtml'">
+ <h:outputText value="Affinity Groups"/>
+ </rich:menuItem>
+ <rich:menuItem submitMode="none" onclick="window.location = '/rhq/ha/listPartitionEvents.xhtml'">
+ <h:outputText value="Partition Events"/>
+ </rich:menuItem>
+ </rich:menuGroup>
+
+ <ui:remove>***** Administration > AGENT DISTRIBUTION *****</ui:remove>
+ <rich:menuGroup value="Agent Distribution">
+ <rich:menuItem submitMode="none" onclick="window.location = '/agentupdate/version'">
+ <h:outputText value="Agent Update Binary Version Info"/>
+ </rich:menuItem>
+ <rich:menuItem submitMode="none" onclick="window.location = '/agentupdate/download'">
+ <h:outputText value="Download Agent Update Binary"/>
+ </rich:menuItem>
+ <rich:menuItem submitMode="none" onclick="window.location = '/downloads'">
+ <h:outputText value="Agent Connectors"/>
+ </rich:menuItem>
+ </rich:menuGroup>
+
+ <rich:menuItem submitMode="none"
+ onclick="window.location = '/admin/license/LicenseAdmin.do?mode=view'"
+ rendered="#{GlobalPermissionsUIBean.settings}">
+ <h:outputText value="License"/>
+ </rich:menuItem>
</span><span class="cx"> </rich:dropDownMenu>
</span><span class="add">+ <ui:remove>===== HELP =====</ui:remove>
+
</span><span class="cx"> <rich:dropDownMenu>
<f:facet name="label">
<h:panelGroup>
</span><span class="lines">@@ -222,12 +263,14 @@
</span><span class="cx"> </h:panelGroup>
</f:facet>
</span><span class="add">+ <ui:remove>***** Help > DOCUMENTATION *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none"
onclick="window.location = 'http://www.redhat.com/docs/en-US/JBoss_ON/'"
target="blank_">
<h:outputText value="Online Documentation"/>
</rich:menuItem>
</span><span class="add">+ <ui:remove>***** Help > SUPPORT CASE *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none"
onclick="window.location = 'https://support.redhat.com/jbossnetwork/restricted/addCase.html'"
target="blank_">
</span><span class="lines">@@ -236,13 +279,12 @@
</span><span class="cx">
<rich:menuSeparator/>
</span><span class="add">+ <ui:remove>***** Help > ABOUT *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none" id="aboutLink" icon="/images/icons/availability_grey_16.png">
<h:outputText value="#{msg['header.about.link']}"/>
<rich:componentControl for="aboutPanel" attachTo="aboutLink" operation="show" event="onclick"/>
</rich:menuItem>
</rich:dropDownMenu>
</span><span class="rem">-
-
</span><span class="cx"> </rich:toolBarGroup>
</span><span class="lines">@@ -256,6 +298,7 @@
</span><span class="cx"> </f:facet>
</a4j:status>
</span><span class="add">+ <ui:remove>===== LOGGED IN AS =====</ui:remove>
</span><span class="cx">
<rich:dropDownMenu>
<f:facet name="label">
</span><span class="lines">@@ -263,22 +306,25 @@
</span><span class="cx"> <h:outputText value="Logged in as #{UserPreferencesUIBean.subject.name}"/>
</h:panelGroup>
</f:facet>
</span><span class="add">+
+ <ui:remove>***** Logged in as > EDIT DETAILS *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none" onclick="window.location = '/admin/user/UserAdmin.do?mode=edit&amp;u=#{UserPreferencesUIBean.subject.id}'">
<h:outputText value="Edit Details"/>
</rich:menuItem>
</span><span class="add">+ <ui:remove>***** Logged in as > CHANGE PASSWORD *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none" onclick="window.location = '/admin/user/UserAdmin.do?mode=editPass&amp;u=#{UserPreferencesUIBean.subject.id}'">
<h:outputText value="Change Password"/>
</rich:menuItem>
<rich:menuSeparator/>
</span><span class="add">+ <ui:remove>***** Logged in as > LOGOUT *****</ui:remove>
</span><span class="cx"> <rich:menuItem submitMode="none" onclick="window.location = '/Logout.do'">
<h:outputText value="Logout"/>
</rich:menuItem>
</rich:dropDownMenu>
</span><span class="rem">-
</span><span class="cx"> </rich:toolBarGroup>
</rich:toolBar>
</span><span class="lines">@@ -298,44 +344,43 @@
</span><span class="cx"> <p>
<span class="DisplaySubhead"><h:outputText value="#{msg['footer.aboutLink']}"/></span><br/>
<span class="DisplayLabel"><h:outputText
</span><span class="rem">- value="#{msg['footer.version']}: #{msg['product.version']}"/></span><br/>
- <span class="DisplayLabel"><h:outputText
- value="#{msg['footer.buildNumber']}: #{msg['product.buildNumber']}"/></span>
</span><span class="add">+ value="#{msg['footer.version']}: #{msg['product.version']}"/></span><br/>
+ <span class="DisplayLabel"><h:outputText
+ value="#{msg['footer.buildNumber']}: #{msg['product.buildNumber']}"/></span>
</span><span class="cx"> </p>
<p>
<map id="redhat-jboss-logo-map" name="redhat-jboss-logo-map">
<area href="http://www.redhat.com/" target="_top" alt="Red Hat Homepage" title="Red Hat" shape="rect" coords="0,0,100,42" />
<area href="http://www.jboss.org/" target="_top" alt="JBoss Homepage" title="JBoss" shape="rect" coords="100,0,200,42" />
</span><span class="rem">- </map>
</span><span class="add">+ </map>
</span><span class="cx">
</span><span class="rem">- <h:graphicImage value="/images/redhat-jboss-logo.gif" usemap="#redhat-jboss-logo-map" style="border: none;"/>
</span><span class="add">+ <h:graphicImage value="/images/redhat-jboss-logo.gif" usemap="#redhat-jboss-logo-map" style="border: none;"/>
</span><span class="cx"> </p>
<p>
</span><span class="rem">- <f:verbatim><h:outputText value="#{msg['footer.copyright']}"/></f:verbatim> <h:outputText
- value="#{msg['about.Copyright.Content']}"/>
</span><span class="add">+ <f:verbatim><h:outputText value="#{msg['footer.copyright']}"/></f:verbatim>
+ <h:outputText value="#{msg['about.Copyright.Content']}"/>
</span><span class="cx"> </p>
<p>
</span><span class="rem">-
</span><span class="cx"> <a href="http://jboss.org/jopr">
<h:graphicImage value="/images/logo_icon.png"/>
Jopr Project
</a>
</span><span class="rem">-
</span><span class="add">+ <ui:remove>
</span><span class="cx"> <!--<h:outputText value="#{msg['about.MoreInfo.Label']}"/><br/>-->
<!--
<a href='mailto:<h:outputText value="#{msg['about.MoreInfo.LinkSales']}"/>'><h:outputText value="#{msg['about.MoreInfo.LinkSales']}"/></a><br/>
<a href='mailto:<h:outputText value="#{msg['about.MoreInfo.LinkSupport']}"/>'><h:outputText value="#{msg['about.MoreInfo.LinkSupport']}"/></a>
-->
</span><span class="add">+ </ui:remove>
</span><span class="cx"> </p>
</span><span class="rem">- <input type="button" value="Ok" onclick="Richfaces.hideModalPanel('aboutPanel');"/>
</span><span class="add">+ <input type="button" value="OK" onclick="Richfaces.hideModalPanel('aboutPanel');"/>
</span><span class="cx"> </rich:modalPanel>
</span><span class="rem">-
</span><span class="cx"> </h:form>
</a4j:region>
\ No newline at end of file
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqcontentlistChannelsxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listChannels.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listChannels.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listChannels.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -17,10 +17,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="Channels"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listChannels.xhtml">
${msg["channel.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqcontentlistContentSourcesxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listContentSources.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listContentSources.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/content/listContentSources.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -17,10 +17,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="Content Sources"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listContentSources.xhtml">
${msg["contentsource.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaaffinityGroupAgentsxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupAgents.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupAgents.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupAgents.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -19,10 +19,6 @@
</span><span class="cx"> <ui:param name="mode" value="#{param.mode}" />
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["user.admin.page.title"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listAffinityGroups.xhtml">
${msg["ha.affinity.group.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaaffinityGroupServersxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupServers.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupServers.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/affinityGroupServers.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -19,10 +19,6 @@
</span><span class="cx"> <ui:param name="mode" value="#{param.mode}" />
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["user.admin.page.title"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listAffinityGroups.xhtml">
${msg["ha.affinity.group.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhalistAffinityGroupsxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAffinityGroups.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAffinityGroups.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAffinityGroups.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -17,10 +17,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="${msg['admin.home.Ha.ListAffinityGroups']}"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listAffinityGroups.xhtml">
${msg["ha.affinity.group.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhalistAgentsxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAgents.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAgents.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listAgents.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -17,10 +17,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="${msg['admin.home.Ha.ListAgents']}"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listAgents.xhtml">
${msg["ha.agent.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhalistPartitionEventsxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listPartitionEvents.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listPartitionEvents.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listPartitionEvents.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -19,10 +19,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="${msg['admin.home.Ha.ListPartitionEvents']}"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listPartitionEvents.xhtml">
${msg["ha.affinity.partitionevents.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhalistServersxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listServers.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listServers.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/listServers.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -17,10 +17,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="${msg['admin.home.Ha.ListHaServers']}"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["admin.admin.AdministrationTitle"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listServers.xhtml">
${msg["ha.server.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaviewAffinityGroupxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAffinityGroup.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAffinityGroup.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAffinityGroup.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -19,10 +19,6 @@
</span><span class="cx"> <ui:param name="mode" value="#{param.mode}" />
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["user.admin.page.title"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listAffinityGroups.xhtml">
${msg["ha.affinity.group.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaviewAgentxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAgent.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAgent.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewAgent.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -19,10 +19,6 @@
</span><span class="cx"> <ui:param name="mode" value="#{param.mode}" />
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["user.admin.page.title"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listAgents.xhtml">
${msg["ha.agent.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaviewPartitionEventxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewPartitionEvent.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewPartitionEvent.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewPartitionEvent.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -17,10 +17,6 @@
</span><span class="cx"> <ui:param name="pageTitle" value="Partition Event Details"/>
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["user.admin.page.title"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listPartitionEvents.xhtml">
${msg["ha.affinity.partitionevents.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebapprhqhaviewServerxhtml"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewServer.xhtml (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewServer.xhtml 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp/rhq/ha/viewServer.xhtml 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -19,10 +19,6 @@
</span><span class="cx"> <ui:param name="mode" value="#{param.mode}" />
<ui:define name="breadcrumbs">
</span><span class="rem">- <h:outputLink value="/Admin.do">
- ${msg["user.admin.page.title"]}
- </h:outputLink>
- &gt;
</span><span class="cx"> <h:outputLink value="listServers.xhtml">
${msg["ha.server.list.breadcrumb"]}
</h:outputLink>
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseguiportalwarsrcmainwebappfilteredWEBINFclassesApplicationResourcesproperties"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp-filtered/WEB-INF/classes/ApplicationResources.properties (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp-filtered/WEB-INF/classes/ApplicationResources.properties 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/gui/portal-war/src/main/webapp-filtered/WEB-INF/classes/ApplicationResources.properties 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -553,7 +553,7 @@
</span><span class="cx"> admin.home.MonitoringDefaults.existing=Utilized types only
admin.home.MonitoringDefaults.all=All types
</span><span class="rem">-admin.home.ResourceTemplates=Monitoring Defaults Configuration
</span><span class="add">+admin.home.ResourceTemplates=${product.shortName} Monitoring Defaults Configuration
</span><span class="cx"> admin.home.ResourceAlerts=Policy Based Alert Definitions
admin.home.TypeAlerts=Resource Type Alert Definitions
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseservercorepluginProductPluginDeployerjava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/ProductPluginDeployer.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/ProductPluginDeployer.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/plugin/ProductPluginDeployer.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -58,6 +58,7 @@
</span><span class="cx"> import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.plugin.Plugin;
import org.rhq.core.domain.util.MD5Generator;
</span><span class="add">+import org.rhq.enterprise.server.auth.SubjectManagerLocal;
</span><span class="cx"> import org.rhq.enterprise.server.core.concurrency.LatchedServiceCircularityException;
import org.rhq.enterprise.server.core.concurrency.LatchedServiceController;
import org.rhq.enterprise.server.core.concurrency.LatchedServiceException;
</span><span class="lines">@@ -612,7 +613,8 @@
</span><span class="cx"> // since we assume we are called in the proper deployment order, this should not fail
// if we are called when hot-deploying a plugin whose dependencies aren't deployed, this will fail
ResourceMetadataManagerLocal metadataManager = LookupUtil.getResourceMetadataManager();
</span><span class="rem">- metadataManager.registerPlugin(plugin, pluginDescriptor, localPluginFile);
</span><span class="add">+ SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager();
+ metadataManager.registerPlugin(subjectManager.getOverlord(), plugin, pluginDescriptor, localPluginFile);
</span><span class="cx"> } catch (Exception e) {
log.error("Failed to register RHQ plugin file [" + deploymentInfo.shortName + "] at ["
+ deploymentInfo.localUrl + "]", e);
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseserverresourcemetadataResourceMetadataManagerBeanjava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerBean.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> import org.rhq.core.clientapi.agent.metadata.SubCategoriesMetadataParser;
import org.rhq.core.clientapi.descriptor.plugin.PluginDescriptor;
import org.rhq.core.domain.auth.Subject;
</span><span class="add">+import org.rhq.core.domain.authz.Permission;
</span><span class="cx"> import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
import org.rhq.core.domain.content.PackageType;
import org.rhq.core.domain.event.EventDefinition;
</span><span class="lines">@@ -61,6 +62,7 @@
</span><span class="cx"> import org.rhq.core.util.jdbc.JDBCUtil;
import org.rhq.enterprise.server.RHQConstants;
import org.rhq.enterprise.server.auth.SubjectManagerLocal;
</span><span class="add">+import org.rhq.enterprise.server.authz.RequiredPermission;
</span><span class="cx"> import org.rhq.enterprise.server.configuration.metadata.ConfigurationMetadataManagerLocal;
import org.rhq.enterprise.server.event.EventManagerLocal;
import org.rhq.enterprise.server.measurement.MeasurementDefinitionManagerLocal;
</span><span class="lines">@@ -122,7 +124,9 @@
</span><span class="cx"> return q.getResultList();
}
</span><span class="rem">- public void registerPlugin(Plugin plugin, PluginDescriptor pluginDescriptor, File pluginFile) throws Exception {
</span><span class="add">+ @RequiredPermission(Permission.MANAGE_SETTINGS)
+ public void registerPlugin(Subject whoami, Plugin plugin, PluginDescriptor pluginDescriptor, File pluginFile)
+ throws Exception {
</span><span class="cx"> // TODO GH: Consider how to remove features from plugins in updates without breaking everything
Plugin existingPlugin = null;
boolean newOrUpdated = false;
</span><span class="lines">@@ -465,17 +469,18 @@
</span><span class="cx">
private void linkSubCategoryToParents(ResourceType resourceType) {
</span><span class="rem">- if (resourceType.getSubCategory()==null)
</span><span class="add">+ if (resourceType.getSubCategory() == null)
</span><span class="cx"> return; // Nothing to do
ResourceSubCategory mySubCategory = resourceType.getSubCategory();
ResourceSubCategory existingCat = SubCategoriesMetadataParser.findSubCategoryOnResourceTypeAncestor(
</span><span class="rem">- resourceType, mySubCategory.getName());
- if (existingCat!=null)
</span><span class="add">+ resourceType, mySubCategory.getName());
+ if (existingCat != null)
</span><span class="cx"> resourceType.setSubCategory(existingCat);
else
</span><span class="rem">- throw new IllegalStateException("Subcategory " + mySubCategory.getName() + " defined on resource type " +
- resourceType.getName() + " in plugin " + resourceType.getPlugin() + " is not defined in a parent type");
</span><span class="add">+ throw new IllegalStateException("Subcategory " + mySubCategory.getName() + " defined on resource type "
+ + resourceType.getName() + " in plugin " + resourceType.getPlugin()
+ + " is not defined in a parent type");
</span><span class="cx">
}
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseserverjarsrcmainjavaorgrhqenterpriseserverresourcemetadataResourceMetadataManagerLocaljava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerLocal.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerLocal.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/metadata/ResourceMetadataManagerLocal.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -25,6 +25,7 @@
</span><span class="cx"> import javax.persistence.NoResultException;
import org.rhq.core.clientapi.descriptor.plugin.PluginDescriptor;
</span><span class="add">+import org.rhq.core.domain.auth.Subject;
</span><span class="cx"> import org.rhq.core.domain.plugin.Plugin;
/**
</span><span class="lines">@@ -44,7 +45,7 @@
</span><span class="cx"> * @param metadata The plugin descriptor file
* @param pluginFile the actual plugin file whose content will be stored in the database (will be ignored if null)
*/
</span><span class="rem">- void registerPlugin(Plugin plugin, PluginDescriptor metadata, File pluginFile) throws Exception;
</span><span class="add">+ void registerPlugin(Subject whoami, Plugin plugin, PluginDescriptor metadata, File pluginFile) throws Exception;
</span><span class="cx">
/**
* Returns the list of all plugins deployed in the server.
</span></pre></div>
<a id="rhqtrunkmodulesenterpriseserverjarsrctestjavaorgrhqenterpriseserverresourcemetadatatestUpdateSubsytemTestBasejava"></a>
<div class="modfile"><h4>Modified: rhq/trunk/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdateSubsytemTestBase.java (3549 => 3550)</h4>
<pre class="diff">
<span class="info">--- rhq/trunk/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdateSubsytemTestBase.java 2009-03-27 20:07:53 UTC (rev 3549)
+++ rhq/trunk/modules/enterprise/server/jar/src/test/java/org/rhq/enterprise/server/resource/metadata/test/UpdateSubsytemTestBase.java 2009-03-27 21:30:44 UTC (rev 3550)
</span><span class="lines">@@ -122,7 +122,7 @@
</span><span class="cx"> Plugin testPlugin = new Plugin(PLUGIN_NAME, "foo.jar", md5);
testPlugin.setDisplayName("ResourceMetaDataManagerBeanTest: " + pathToDescriptor);
PluginDescriptor descriptor = loadPluginDescriptor(pathToDescriptor);
</span><span class="rem">- metadataManager.registerPlugin(testPlugin, descriptor, null);
</span><span class="add">+ metadataManager.registerPlugin(LookupUtil.getSubjectManager().getOverlord(), testPlugin, descriptor, null);
</span><span class="cx"> getEntityManager().flush();
}
</span>
</pre>
</div>
</div>
</body>
</html>
|