[rhq] Branch 'feature/rest' - 69 commits - etc/apt etc/eclipse-tools etc/m2 etc/samples etc/scripts modules/common modules/core modules/enterprise modules/helpers modules/integration-tests modules/jopr modules/plugins modules/pom.xml pom.xml release.sh rhq_bash.lib
by Heiko W. Rupp
etc/apt/pom.xml | 9
etc/eclipse-tools/maven/RHQ | 33 -
etc/m2/smartgwt-war-archetype/pom.xml | 6
etc/samples/perspectives/sample-perspective/app/pom.xml | 5
etc/samples/perspectives/sample-perspective/pom.xml | 9
etc/samples/provisioning/sample-bundle/pom.xml | 5
etc/scripts/create-jbossas-bundle.sh | 95 +++
modules/common/ant-bundle/pom.xml | 9
modules/common/drift/pom.xml | 9
modules/common/filetemplate-bundle/pom.xml | 9
modules/common/jboss-as/pom.xml | 10
modules/common/pom.xml | 7
modules/core/comm-api/pom.xml | 9
modules/core/dbutils/pom.xml | 6
modules/core/dbutils/src/main/scripts/dbsetup/obsolete-schema.xml | 5
modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml | 9
modules/core/domain/pom.xml | 7
modules/core/domain/src/main/java/org/rhq/core/domain/common/ProductInfo.java | 12
modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java | 59 +
modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftSnapshotRequest.java | 14
modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java | 45 -
modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java | 4
modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java | 19
modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java | 15
modules/core/gui/pom.xml | 7
modules/core/native-system/pom.xml | 9
modules/core/plugin-api/pom.xml | 9
modules/core/plugin-container/pom.xml | 11
modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java | 1
modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/FilterFileVisitor.java | 7
modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java | 21
modules/core/pom.xml | 9
modules/core/util/pom.xml | 9
modules/core/util/src/main/java/org/rhq/core/util/file/FileUtil.java | 35 -
modules/enterprise/agent/pom.xml | 9
modules/enterprise/agentupdate/pom.xml | 6
modules/enterprise/binding/pom.xml | 52 +
modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManagers.java | 73 +-
modules/enterprise/comm/pom.xml | 5
modules/enterprise/gui/base-perspective-jar/pom.xml | 5
modules/enterprise/gui/base-perspective-war/pom.xml | 5
modules/enterprise/gui/content_http-war/pom.xml | 9
modules/enterprise/gui/coregui/pom.xml | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java | 18
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java | 9
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java | 9
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java | 21
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java | 12
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java | 93 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java | 81 +-
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java | 14
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java | 10
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardContainer.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java | 36 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortletFactory.java | 10
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java | 20
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java | 21
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java | 41 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java | 46 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/util/MessagePortlet.java | 9
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java | 61 --
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java | 88 ++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java | 53 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java | 9
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java | 39 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftSnapshotView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java | 20
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java | 19
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java | 20
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java | 1
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/SystemGWTService.java | 20
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java | 58 +
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java | 31 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java | 13
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java | 2
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java | 12
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java | 9
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java | 95 +--
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java | 7
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java | 9
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReport.java | 301 ++++++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java | 191 ++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java | 33 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java | 21
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReportResourceSearchView.java | 134 ----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java | 27
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PackageVersionFileUploadServlet.java | 3
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java | 29
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java | 5
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 44 -
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties | 36 -
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties | 47 -
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties | 53 +
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties | 45 -
modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/drift/Pinned_active.png |binary
modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/drift/Pinned_inactive.png |binary
modules/enterprise/gui/installer-war/pom.xml | 6
modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ConfigurationBean.java | 36 +
modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/PropertyItem.java | 17
modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerInformation.java | 51 +
modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerProperties.java | 9
modules/enterprise/gui/installer-war/src/main/resources/org/rhq/enterprise/installer/ProductInfo.properties | 9
modules/enterprise/gui/pom.xml | 9
modules/enterprise/gui/portal-war/pom.xml | 10
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/upload/FileUploadUIBean.java | 4
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/BaseDispatchAction.java | 7
modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/hub/HubForm.java | 14
modules/enterprise/gui/rest-war/pom.xml | 14
modules/enterprise/gui/webdav-war/pom.xml | 9
modules/enterprise/pom.xml | 9
modules/enterprise/remoting/cli/pom.xml | 6
modules/enterprise/remoting/cli/src/etc/rhq-cli.sh | 23
modules/enterprise/remoting/cli/src/main/samples/bundles.js | 154 +++++
modules/enterprise/remoting/cli/src/main/samples/deploy-to-and-restart-JBAS.js | 244 ++++++++
modules/enterprise/remoting/cli/src/main/samples/util.js | 172 +++++
modules/enterprise/remoting/cli/src/main/scripts/rhq-client.build.xml | 2
modules/enterprise/remoting/client-api/pom.xml | 9
modules/enterprise/remoting/client-api/src/main/java/org/rhq/enterprise/client/RemoteClient.java | 14
modules/enterprise/remoting/webservices/pom.xml | 6
modules/enterprise/server/client-api/src/main/java/org/rhq/enterprise/client/LocalClient.java | 5
modules/enterprise/server/container-lib/pom.xml | 9
modules/enterprise/server/container/pom.xml | 9
modules/enterprise/server/container/src/main/scripts/rhq-container.build.xml | 8
modules/enterprise/server/ear/pom.xml | 10
modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBeanTest.java | 15
modules/enterprise/server/jar/pom.xml | 8
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServer.java | 12
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java | 81 +-
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerRemote.java | 2
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftServerServiceImpl.java | 2
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java | 48 +
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerBean.java | 11
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerLocal.java | 2
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/drift/DriftServerPluginFacet.java | 2
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java | 32 -
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java | 17
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java | 5
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java | 19
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/RHQApplication.java | 16
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java | 3
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemInfoManagerBean.java | 132 ++++
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemInfoManagerLocal.java | 48 +
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerBean.java | 13
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerLocal.java | 10
modules/enterprise/server/plugins/alert-cli/pom.xml | 9
modules/enterprise/server/plugins/alert-email/pom.xml | 9
modules/enterprise/server/plugins/alert-irc/pom.xml | 10
modules/enterprise/server/plugins/alert-log4j/pom.xml | 10
modules/enterprise/server/plugins/alert-microblog/pom.xml | 11
modules/enterprise/server/plugins/alert-mobicents/pom.xml | 9
modules/enterprise/server/plugins/alert-operations/pom.xml | 6
modules/enterprise/server/plugins/alert-roles/pom.xml | 6
modules/enterprise/server/plugins/alert-scriptlang/pom.xml | 12
modules/enterprise/server/plugins/alert-sms/pom.xml | 6
modules/enterprise/server/plugins/alert-snmp/pom.xml | 11
modules/enterprise/server/plugins/alert-subject/pom.xml | 16
modules/enterprise/server/plugins/ant-bundle/pom.xml | 11
modules/enterprise/server/plugins/cloud/pom.xml | 6
modules/enterprise/server/plugins/cobbler/pom.xml | 6
modules/enterprise/server/plugins/disk/pom.xml | 11
modules/enterprise/server/plugins/drift-mongodb/pom.xml | 7
modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java | 9
modules/enterprise/server/plugins/drift-rhq/pom.xml | 9
modules/enterprise/server/plugins/drift-rhq/src/main/java/org/rhq/enterprise/server/plugins/drift/JPADriftServerPluginComponent.java | 5
modules/enterprise/server/plugins/filetemplate-bundle/pom.xml | 9
modules/enterprise/server/plugins/groovy-script/pom.xml | 5
modules/enterprise/server/plugins/jboss-software/pom.xml | 10
modules/enterprise/server/plugins/packagetype-cli/pom.xml | 16
modules/enterprise/server/plugins/perspectives/core/pom.xml | 10
modules/enterprise/server/plugins/perspectives/policy/app/pom.xml | 5
modules/enterprise/server/plugins/perspectives/policy/pom.xml | 5
modules/enterprise/server/plugins/pom.xml | 9
modules/enterprise/server/plugins/rhnhosted/pom.xml | 11
modules/enterprise/server/plugins/url/pom.xml | 10
modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml | 9
modules/enterprise/server/plugins/yum/pom.xml | 9
modules/enterprise/server/pom.xml | 9
modules/enterprise/server/safe-invoker/pom.xml | 9
modules/enterprise/server/sars/agent-sar/pom.xml | 6
modules/enterprise/server/sars/pom.xml | 5
modules/enterprise/server/xml-schemas/pom.xml | 9
modules/helpers/pluginAnnotations/pom.xml | 5
modules/helpers/pluginGen/pom.xml | 6
modules/helpers/pluginGen/src/main/resources/pom.ftl | 1
modules/helpers/pom.xml | 11
modules/helpers/rtfilter/pom.xml | 6
modules/integration-tests/apache-plugin-test/pom.xml | 6
modules/integration-tests/jboss-as-7-plugin-test/pom.xml | 9
modules/integration-tests/mod_cluster-plugin-test/pom.xml | 1
modules/integration-tests/pom.xml | 51 -
modules/jopr/dist/agent/pom.xml | 9
modules/jopr/dist/pom.xml | 9
modules/jopr/dist/server/pom.xml | 7
modules/jopr/etc/jbas5-jnp-client/README | 16
modules/jopr/etc/jbas5-jnp-client/client.sh | 6
modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java | 27
modules/jopr/modules-plugins-pom.xml | 157 ++---
modules/jopr/modules-pom.xml | 255 ++++----
modules/jopr/pom.xml | 8
modules/jopr/tools/jbas5-plugin-descriptor-gen/pom.xml | 5
modules/plugins/JBossOSGi/pom.xml | 5
modules/plugins/aliases/pom.xml | 6
modules/plugins/ant-bundle/pom.xml | 11
modules/plugins/apache/pom.xml | 6
modules/plugins/apache/src/main/java/org/rhq/plugins/apache/ApacheDirectoryDiscoveryComponent.java | 2
modules/plugins/apache/src/main/resources/META-INF/rhq-plugin.xml | 1
modules/plugins/byteman/pom.xml | 11
modules/plugins/cobbler/pom.xml | 7
modules/plugins/cron/pom.xml | 6
modules/plugins/filetemplate-bundle/pom.xml | 9
modules/plugins/grub/pom.xml | 6
modules/plugins/hadoop/pom.xml | 4
modules/plugins/hibernate/pom.xml | 9
modules/plugins/hosts/pom.xml | 6
modules/plugins/iis/pom.xml | 13
modules/plugins/iptables/pom.xml | 9
modules/plugins/jboss-as-5/pom.xml | 9
modules/plugins/jboss-as-5/src/main/resources/META-INF/rhq-plugin.xml | 2
modules/plugins/jboss-as-5/testsuite/pom.xml | 8
modules/plugins/jboss-as-7/pom.xml | 1
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java | 6
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java | 6
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/AbstractBaseDiscovery.java | 13
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseProcessDiscovery.java | 238 ++++---
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JmsComponent.java | 3
modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASDiscovery.java | 130 ++--
modules/plugins/jboss-as/pom.xml | 11
modules/plugins/jboss-cache-v3/pom.xml | 6
modules/plugins/jboss-cache/pom.xml | 9
modules/plugins/jdbctrace/pom.xml | 10
modules/plugins/jira/pom.xml | 10
modules/plugins/jmx/pom.xml | 11
modules/plugins/lsof/pom.xml | 11
modules/plugins/mysql/pom.xml | 9
modules/plugins/netservices/pom.xml | 9
modules/plugins/onewire/pom.xml | 9
modules/plugins/oracle/pom.xml | 9
modules/plugins/pattern-generator/pom.xml | 10
modules/plugins/perftest/pom.xml | 9
modules/plugins/platform/pom.xml | 13
modules/plugins/pom.xml | 9
modules/plugins/postfix/pom.xml | 6
modules/plugins/postgres/pom.xml | 9
modules/plugins/rhq-agent/pom.xml | 9
modules/plugins/rhq-server/pom.xml | 9
modules/plugins/samba/pom.xml | 6
modules/plugins/script/pom.xml | 9
modules/plugins/script2/pom.xml | 10
modules/plugins/services/pom.xml | 3
modules/plugins/snmptrapd/pom.xml | 9
modules/plugins/sshd/pom.xml | 6
modules/plugins/sudoers/pom.xml | 6
modules/plugins/tomcat/pom.xml | 9
modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java | 47 +
modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java | 4
modules/plugins/twitter/pom.xml | 4
modules/plugins/validate-all-plugins/pom.xml | 9
modules/plugins/virt/pom.xml | 6
modules/pom.xml | 8
pom.xml | 41 -
release.sh | 8
rhq_bash.lib | 15
265 files changed, 3454 insertions(+), 2427 deletions(-)
New commits:
commit 096cb99394259a950b92c81781405ad87fb206f6
Merge: 123ac05 90081e7
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Fri Nov 25 17:56:43 2011 +0100
Merge branch 'master' into feature/rest
Conflicts:
modules/enterprise/server/container/pom.xml
modules/enterprise/server/ear/pom.xml
diff --cc modules/enterprise/server/ear/pom.xml
index b792ab8,258a946e..941c88a
--- a/modules/enterprise/server/ear/pom.xml
+++ b/modules/enterprise/server/ear/pom.xml
@@@ -95,7 -89,11 +89,11 @@@
<groupId>org.rhq</groupId>
<artifactId>rhq-core-domain</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ </exclusion>
- </exclusions>
+ </exclusions>
</dependency>
<dependency>
diff --cc modules/jopr/modules-plugins-pom.xml
index dc1fa28,3b602ea..1bb52cf
--- a/modules/jopr/modules-plugins-pom.xml
+++ b/modules/jopr/modules-plugins-pom.xml
@@@ -1,83 -1,74 +1,74 @@@
--<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-- <modelVersion>4.0.0</modelVersion>
--
-- <parent>
-- <groupId>org.jboss.on</groupId>
-- <artifactId>jopr-modules-parent</artifactId>
-- <version>2.4.0-SNAPSHOT</version>
-- </parent>
--
-- <!-- Plugin poms should not set their parent pom to this artifact. Instead, set to "jopr-modules-parent". This is due to
-- the fact that this pom runs integration tests *on* the plugins. This pom must process in the reactor after the
-- plugins themselves, as such, it can't be their parent. -->
-- <groupId>org.jboss.on</groupId>
-- <artifactId>jopr-plugins-parent</artifactId>
-- <version>2.3.0.EmbJopr.1.3.0-1</version>
-- <packaging>pom</packaging>
-- <name>Jopr Plugins</name>
-- <description>parent POM for all Jopr plugins</description>
--
- <scm>
- <connection>scm:svn:http://svn.jboss.org/repos/jopr/tags/Jopr_2_3_0_EmbJopr_1_3_0-1/m...</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/jopr/tags/Jopr_2_3_0_EmbJopr_1_3_0-1/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/</scm.module.path>
- </properties>
-
-- <dependencies>
-- <dependency>
-- <groupId>${rhq.groupId}</groupId>
-- <artifactId>rhq-jmx-plugin</artifactId>
-- <version>${rhq.version}</version>
-- <scope>test</scope>
-- </dependency>
-- </dependencies>
--
-- <!-- plugins - order is important -->
-- <modules>
-- <module>tomcat</module>
-- <module>jboss-as</module>
-- <module>hibernate</module>
-- <module>rhq-server</module>
-- <module>jboss-cache</module>
-- <module>jboss-as-5</module>
-- <module>jboss-cache-v3</module>
-- </modules>
--
-- <build>
-- <plugins>
-- <plugin>
-- <artifactId>maven-antrun-plugin</artifactId>
-- <executions>
-- <execution>
-- <phase>integration-test</phase>
-- <configuration>
-- <tasks>
-- <property name="test.classpath" refid="maven.test.classpath" />
-- <echo>Validating plugins...</echo>
-- <java classname="org.rhq.core.pc.plugin.PluginValidator" failonerror="true" fork="true">
-- <classpath>
-- <pathelement path="${test.classpath}" />
-- <pathelement location="hibernate/target/jopr-hibernate-plugin-${project.version}.jar" />
-- <pathelement location="tomcat/target/jopr-tomcat-plugin-${project.version}.jar" />
-- <pathelement location="jboss-as/target/jopr-jboss-as-plugin-${project.version}.jar" />
-- <!-- TODO: Figure out why this is causing NoClassDefFoundErrors and fix it. -->
-- <!--<pathelement location="jboss-as-5/target/jopr-jboss-as-5-plugin-${project.version}.jar" />-->
-- <pathelement location="rhq-server/target/jopr-rhq-server-plugin-${project.version}.jar" />
-- </classpath>
-- <sysproperty key="org.apache.commons.logging.Log" value="org.apache.commons.logging.impl.SimpleLog" />
-- </java>
-- </tasks>
-- </configuration>
-- <goals>
-- <goal>run</goal>
-- </goals>
-- </execution>
-- </executions>
-- </plugin>
-- </plugins>
-- </build>
--
--</project>
++<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
++ <modelVersion>4.0.0</modelVersion>
++
++ <parent>
++ <groupId>org.jboss.on</groupId>
++ <artifactId>jopr-modules-parent</artifactId>
++ <version>2.4.0-SNAPSHOT</version>
++ </parent>
++
++ <!-- Plugin poms should not set their parent pom to this artifact. Instead, set to "jopr-modules-parent". This is due to
++ the fact that this pom runs integration tests *on* the plugins. This pom must process in the reactor after the
++ plugins themselves, as such, it can't be their parent. -->
++ <groupId>org.jboss.on</groupId>
++ <artifactId>jopr-plugins-parent</artifactId>
++ <version>2.3.0.EmbJopr.1.3.0-1</version>
++ <packaging>pom</packaging>
++ <name>Jopr Plugins</name>
++ <description>parent POM for all Jopr plugins</description>
++
++ <dependencies>
++ <dependency>
++ <groupId>${rhq.groupId}</groupId>
++ <artifactId>rhq-jmx-plugin</artifactId>
++ <version>${rhq.version}</version>
++ <scope>test</scope>
++ </dependency>
++ </dependencies>
++
++ <!-- plugins - order is important -->
++ <modules>
++ <module>tomcat</module>
++ <module>jboss-as</module>
++ <module>hibernate</module>
++ <module>rhq-server</module>
++ <module>jboss-cache</module>
++ <module>jboss-as-5</module>
++ <module>jboss-cache-v3</module>
++ </modules>
++
++ <build>
++ <plugins>
++ <plugin>
++ <artifactId>maven-antrun-plugin</artifactId>
++ <executions>
++ <execution>
++ <phase>integration-test</phase>
++ <configuration>
++ <tasks>
++ <property name="test.classpath" refid="maven.test.classpath" />
++ <echo>Validating plugins...</echo>
++ <java classname="org.rhq.core.pc.plugin.PluginValidator" failonerror="true" fork="true">
++ <classpath>
++ <pathelement path="${test.classpath}" />
++ <pathelement location="hibernate/target/jopr-hibernate-plugin-${project.version}.jar" />
++ <pathelement location="tomcat/target/jopr-tomcat-plugin-${project.version}.jar" />
++ <pathelement location="jboss-as/target/jopr-jboss-as-plugin-${project.version}.jar" />
++ <!-- TODO: Figure out why this is causing NoClassDefFoundErrors and fix it. -->
++ <!--<pathelement location="jboss-as-5/target/jopr-jboss-as-5-plugin-${project.version}.jar" />-->
++ <pathelement location="rhq-server/target/jopr-rhq-server-plugin-${project.version}.jar" />
++ </classpath>
++ <sysproperty key="org.apache.commons.logging.Log" value="org.apache.commons.logging.impl.SimpleLog" />
++ </java>
++ </tasks>
++ </configuration>
++ <goals>
++ <goal>run</goal>
++ </goals>
++ </execution>
++ </executions>
++ </plugin>
++ </plugins>
++ </build>
++
++</project>
diff --cc modules/jopr/modules-pom.xml
index 7571c50,67e763b..de9ca10
--- a/modules/jopr/modules-pom.xml
+++ b/modules/jopr/modules-pom.xml
@@@ -1,131 -1,124 +1,124 @@@
--<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
--
-- <modelVersion>4.0.0</modelVersion>
--
-- <parent>
-- <groupId>org.jboss.on</groupId>
-- <artifactId>jopr-parent</artifactId>
-- <version>2.4.0-SNAPSHOT</version>
-- </parent>
--
-- <groupId>org.jboss.on</groupId>
-- <artifactId>jopr-modules-parent</artifactId>
-- <packaging>pom</packaging>
--
-- <name>Jopr Modules</name>
-- <description>parent POM for all Jopr modules</description>
--
- <scm>
- <connection>scm:svn:http://svn.jboss.org/repos/jopr/trunk/modules/</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/jopr/trunk/modules/</developerConnection>
- </scm>
-
-- <properties>
- <scm.module.path>modules/</scm.module.path>
-
-- <!-- dependency versions -->
-- <hibernate-all.version>1.0.0.Alpha9</hibernate-all.version>
-- <persistence-api.version>1.0</persistence-api.version>
-- </properties>
--
-- <!-- These dependencies are (mostly) common to the plugin artifacts built under the
-- Jopr umbrella. They are not specific to the build a one particular artifact but
-- placed here to simplify the child poms. -->
-- <dependencies>
--
-- <dependency>
-- <groupId>${rhq.groupId}</groupId>
-- <artifactId>rhq-core-util</artifactId>
-- <version>${rhq.version}</version>
-- <scope>provided</scope> <!-- by PC -->
-- </dependency>
--
-- <dependency>
-- <groupId>${rhq.groupId}</groupId>
-- <artifactId>rhq-core-domain</artifactId>
-- <version>${rhq.version}</version>
-- <scope>provided</scope> <!-- by PC -->
-- </dependency>
--
-- <dependency>
-- <groupId>${rhq.groupId}</groupId>
-- <artifactId>rhq-core-plugin-api</artifactId>
-- <version>${rhq.version}</version>
-- <scope>provided</scope> <!-- by PC -->
-- </dependency>
--
-- <dependency>
-- <groupId>${rhq.groupId}</groupId>
-- <artifactId>rhq-core-native-system</artifactId>
-- <version>${rhq.version}</version>
-- <scope>provided</scope> <!-- by PC -->
-- </dependency>
--
-- <dependency>
-- <groupId>${rhq.groupId}</groupId>
-- <artifactId>rhq-core-plugin-container</artifactId>
-- <version>${rhq.version}</version>
-- <scope>test</scope>
-- </dependency>
--
-- <!-- Third-party libs -->
-- <dependency>
-- <groupId>javax.xml.bind</groupId>
-- <artifactId>jaxb-api</artifactId>
-- <scope>provided</scope>
-- </dependency>
--
-- <dependency>
-- <groupId>com.sun.xml.bind</groupId>
-- <artifactId>jaxb-impl</artifactId>
-- <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
-- <scope>provided</scope>
-- </dependency>
--
-- <!-- TODO: This is a fix for the Javac bug requiring annotations to be available when compiling dependent classes. It is fixed in JDK 6. -->
-- <dependency>
-- <groupId>javax.persistence</groupId>
-- <artifactId>persistence-api</artifactId>
-- <version>${persistence-api.version}</version>
-- <scope>provided</scope> <!-- by ON container -->
-- </dependency>
--
-- <!-- TODO: This is a fix for the Javac bug requiring annotations to be available when compiling dependent classes; it is fixed in JDK 6. -->
-- <dependency>
-- <groupId>jboss.jboss-embeddable-ejb3</groupId>
-- <artifactId>hibernate-all</artifactId>
-- <version>${hibernate-all.version}</version>
-- <scope>provided</scope> <!-- by ON container -->
-- </dependency>
--
-- </dependencies>
--
-- <modules>
-- <module>common</module>
-- <module>plugins</module>
-- </modules>
--
-- <profiles>
--
-- <!-- enterprise-only stuff -->
-- <profile>
-- <id>enterprise</id>
-- <activation>
-- <activeByDefault>true</activeByDefault>
-- </activation>
-- <modules>
-- <module>serverplugins</module>
-- </modules>
-- </profile>
--
-- <!-- same as enterprise profile, except includes dist -->
-- <profile>
-- <id>dist</id>
-- <modules>
-- <module>serverplugins</module>
-- <module>dist</module>
-- </modules>
-- </profile>
--
-- </profiles>
--</project>
++<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
++
++ <modelVersion>4.0.0</modelVersion>
++
++ <parent>
++ <groupId>org.jboss.on</groupId>
++ <artifactId>jopr-parent</artifactId>
++ <version>2.4.0-SNAPSHOT</version>
++ </parent>
++
++ <groupId>org.jboss.on</groupId>
++ <artifactId>jopr-modules-parent</artifactId>
++ <packaging>pom</packaging>
++
++ <name>Jopr Modules</name>
++ <description>parent POM for all Jopr modules</description>
++
++ <properties>
++ <!-- dependency versions -->
++ <hibernate-all.version>1.0.0.Alpha9</hibernate-all.version>
++ <persistence-api.version>1.0</persistence-api.version>
++ </properties>
++
++ <!-- These dependencies are (mostly) common to the plugin artifacts built under the
++ Jopr umbrella. They are not specific to the build a one particular artifact but
++ placed here to simplify the child poms. -->
++ <dependencies>
++
++ <dependency>
++ <groupId>${rhq.groupId}</groupId>
++ <artifactId>rhq-core-util</artifactId>
++ <version>${rhq.version}</version>
++ <scope>provided</scope> <!-- by PC -->
++ </dependency>
++
++ <dependency>
++ <groupId>${rhq.groupId}</groupId>
++ <artifactId>rhq-core-domain</artifactId>
++ <version>${rhq.version}</version>
++ <scope>provided</scope> <!-- by PC -->
++ </dependency>
++
++ <dependency>
++ <groupId>${rhq.groupId}</groupId>
++ <artifactId>rhq-core-plugin-api</artifactId>
++ <version>${rhq.version}</version>
++ <scope>provided</scope> <!-- by PC -->
++ </dependency>
++
++ <dependency>
++ <groupId>${rhq.groupId}</groupId>
++ <artifactId>rhq-core-native-system</artifactId>
++ <version>${rhq.version}</version>
++ <scope>provided</scope> <!-- by PC -->
++ </dependency>
++
++ <dependency>
++ <groupId>${rhq.groupId}</groupId>
++ <artifactId>rhq-core-plugin-container</artifactId>
++ <version>${rhq.version}</version>
++ <scope>test</scope>
++ </dependency>
++
++ <!-- Third-party libs -->
++ <dependency>
++ <groupId>javax.xml.bind</groupId>
++ <artifactId>jaxb-api</artifactId>
++ <scope>provided</scope>
++ </dependency>
++
++ <dependency>
++ <groupId>com.sun.xml.bind</groupId>
++ <artifactId>jaxb-impl</artifactId>
++ <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
++ <scope>provided</scope>
++ </dependency>
++
++ <!-- TODO: This is a fix for the Javac bug requiring annotations to be available when compiling dependent classes. It is fixed in JDK 6. -->
++ <dependency>
++ <groupId>javax.persistence</groupId>
++ <artifactId>persistence-api</artifactId>
++ <version>${persistence-api.version}</version>
++ <scope>provided</scope> <!-- by ON container -->
++ </dependency>
++
++ <!-- TODO: This is a fix for the Javac bug requiring annotations to be available when compiling dependent classes; it is fixed in JDK 6. -->
++ <dependency>
++ <groupId>jboss.jboss-embeddable-ejb3</groupId>
++ <artifactId>hibernate-all</artifactId>
++ <version>${hibernate-all.version}</version>
++ <scope>provided</scope> <!-- by ON container -->
++ </dependency>
++
++ </dependencies>
++
++ <modules>
++ <module>common</module>
++ <module>plugins</module>
++ </modules>
++
++ <profiles>
++
++ <!-- enterprise-only stuff -->
++ <profile>
++ <id>enterprise</id>
++ <activation>
++ <activeByDefault>true</activeByDefault>
++ </activation>
++ <modules>
++ <module>serverplugins</module>
++ </modules>
++ </profile>
++
++ <!-- same as enterprise profile, except includes dist -->
++ <profile>
++ <id>dist</id>
++ <modules>
++ <module>serverplugins</module>
++ <module>dist</module>
++ </modules>
++ </profile>
++
++ </profiles>
++</project>
commit 123ac05d5c93d5f66961e435ccfb67d907c86287
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Fri Nov 25 10:23:05 2011 +0100
Turn down logging. Prevent a LazyLoadException for schedules.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java
index e670afb..ce4dd43 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/AbstractRestBean.java
@@ -146,7 +146,7 @@ public class AbstractRestBean {
protected <T>T getFromCache(Fqn fqn,Class<T> clazz) {
Object o=null;
if (treeCache.exists(fqn)) {
- log.info("Hit for " + fqn.toString());
+ log.debug("Hit for " + fqn.toString());
try{
Node n = treeCache.get(fqn);
Set<Integer> readers= (Set<Integer>) n.get("readers");
@@ -154,11 +154,10 @@ public class AbstractRestBean {
o = n.get("item");
}
else {
- log.info("No object for caller " +caller.toString() + " found");
+ log.debug("No object for caller " +caller.toString() + " found");
}
} catch (CacheException e) {
- e.printStackTrace(); // TODO: Customise this generated block
- log.info("Miss for " + fqn.toString());
+ log.debug("Miss for " + fqn.toString());
}
}
return (T)o;
@@ -187,9 +186,9 @@ public class AbstractRestBean {
treeCache.put(fqn,"readers",readers);
treeCache.put(fqn,"item",o);
success = true;
- log.info("Put " + fqn);
+ log.debug("Put " + fqn);
} catch (CacheException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.warn(e.getMessage());
}
return success;
}
@@ -235,7 +234,7 @@ public class AbstractRestBean {
childParentMap.put(res.getId(), pid);
treeCache.put(resourceMeta,"childParentMap",childParentMap);
} catch (CacheException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.warn(e.getMessage());
}
}
@@ -269,7 +268,7 @@ public class AbstractRestBean {
ret.add(getFromCache(resId, Resource.class));
}
} catch (CacheException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.warn(e.getMessage());
}
}
@@ -287,7 +286,7 @@ public class AbstractRestBean {
if (visibleResources.contains(resourceid))
res = getFromCache(resourceid,Resource.class);
} catch (CacheException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.warn(e.getMessage());
}
}
@@ -316,7 +315,7 @@ public class AbstractRestBean {
if (treeCache.exists(fqn)) {
try {
treeCache.remove(fqn);
- log.info("Cancel " + fqn);
+ log.debug("Cancel " + fqn);
return true;
} catch (CacheException e) {
return false;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java
index e500a33..91ed23a 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/ResourceHandlerBean.java
@@ -200,7 +200,7 @@ public class ResourceHandlerBean extends AbstractRestBean implements ResourceHan
if (scheduleType.equals("metric"))
scheduleType=DataType.MEASUREMENT.toString().toLowerCase();
- Resource res = fetchResource(resourceId);
+ Resource res = resMgr.getResource(caller,resourceId); // Don't fetch(), as this would yield a LazyLoadException
Set<MeasurementSchedule> schedules = res.getSchedules();
List<MetricSchedule> ret = new ArrayList<MetricSchedule>(schedules.size());
@@ -290,6 +290,7 @@ public class ResourceHandlerBean extends AbstractRestBean implements ResourceHan
Link link = new Link();
link.setRel("alert");
link.setHref("/alert/" + al.getId());
+ links.add(link);
}
return links;
}
commit 90081e71f34681d194767d00705d485a393ee133
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Thu Nov 24 12:56:28 2011 +0100
[BZ 755653] - Make sure role membership is not updated through
the updateResourceGroup() methods.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java
index 564cef3..156253c 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java
@@ -409,6 +409,10 @@ public class ResourceGroup extends Group {
@ManyToMany
private Set<Resource> implicitResources;
+ //TODO ResourceGroup probably isn't the right owning side of this relationship
+ //this means that any update of a group can update the role membership,
+ //which is not something one normally does. Maybe the more logical owner of this
+ //relationship would be the Role.
@JoinTable(name = "RHQ_ROLE_RESOURCE_GROUP_MAP", joinColumns = { @JoinColumn(name = "RESOURCE_GROUP_ID") }, inverseJoinColumns = { @JoinColumn(name = "ROLE_ID") })
@ManyToMany
private Set<Role> roles = new HashSet<Role>();
@@ -562,15 +566,22 @@ public class ResourceGroup extends Group {
}
public Set<Role> getRoles() {
+ //even though the field has an initializer, it can end up
+ //being null after deserialization. Because there is no
+ //setter and there are some other public methods depending
+ //on this not being null, let's make it lazy init.
+ if (roles == null) {
+ roles = new HashSet<Role>();
+ }
return roles;
}
public void addRole(Role role) {
- this.roles.add(role);
+ getRoles().add(role);
}
public void removeRole(Role role) {
- this.roles.remove(role);
+ getRoles().remove(role);
}
@NotNull
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
index b8e52c4..82a91dc 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
@@ -206,6 +206,11 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
+ "] does not have permission to modify Resource group with id [" + groupId + "].");
}
+ //roles are not to be updated by this call but the group entity
+ //owns the relationship. Let's make sure we don't change the assigned roles here.
+ group.getRoles().clear();
+ group.getRoles().addAll(attachedGroup.getRoles());
+
if (changeType == null) {
changeType = RecursivityChangeType.None;
if (attachedGroup.isRecursive() == true && group.isRecursive() == false) {
commit 18d73b987d8023c52c00d6fc99b73cab14528e44
Author: Jan Martiska <jmartisk(a)redhat.com>
Date: Thu Nov 24 13:50:58 2011 +0100
changed maven profiles for integration tests
diff --git a/modules/integration-tests/pom.xml b/modules/integration-tests/pom.xml
index 0341e53..0290729 100644
--- a/modules/integration-tests/pom.xml
+++ b/modules/integration-tests/pom.xml
@@ -36,10 +36,11 @@
It is fixed in JDK 6.
-->
<dependency>
- <groupId>javax.persistence</groupId>
- <artifactId>persistence-api</artifactId>
- <version>1.0</version>
- <scope>provided</scope> <!-- by RHQ container -->
+ <groupId>javax.persistence</groupId>
+ <artifactId>persistence-api</artifactId>
+ <version>1.0</version>
+ <scope>provided</scope>
+ <!-- by RHQ container -->
</dependency>
<!--
@@ -47,27 +48,30 @@
it is fixed in JDK 6.
-->
<dependency>
- <groupId>jboss.jboss-embeddable-ejb3</groupId>
- <artifactId>hibernate-all</artifactId>
- <version>1.0.0.Alpha9</version>
- <scope>provided</scope> <!-- by RHQ container -->
+ <groupId>jboss.jboss-embeddable-ejb3</groupId>
+ <artifactId>hibernate-all</artifactId>
+ <version>1.0.0.Alpha9</version>
+ <scope>provided</scope>
+ <!-- by RHQ container -->
</dependency>
</dependencies>
<profiles>
<profile>
- <id>as7-integration-test</id>
- <modules>
- <module>jboss-as-7-plugin-test</module>
- </modules>
- </profile>
- <profile>
- <id>apache-plugin-test</id>
- <modules>
- <module>apache-plugin-test</module>
- </modules>
- </profile>
+ <id>integration-tests</id>
+ <modules>
+ <module>apache-plugin-test</module>
+ <!--<module>mod_cluster-plugin-test</module>-->
+ </modules>
+ </profile>
+ <profile>
+ <id>as7-integration-test</id>
+ <!-- this one is separate from others, requires special setup -->
+ <modules>
+ <module>jboss-as-7-plugin-test</module>
+ </modules>
+ </profile>
</profiles>
commit 884eb4f2a4a609ff9541d9d8693133f79518a520
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Wed Nov 23 15:26:04 2011 +0100
[BZ 690957] - EWS Tomcat is identical to "normal" tomcat when installed through RPM (at least wrt system services installed)
Make sure that the operation execution logic doesn't get confused by not being able to distinguish between them.
diff --git a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
index 7709b86..542f212 100644
--- a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
+++ b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
@@ -575,6 +575,14 @@ public class TomcatDiscoveryComponent implements ResourceDiscoveryComponent, Man
return (isEWS(catalinaHome) && catalinaHome.endsWith(EWS_TOMCAT_6));
}
+ public static boolean isRPMTomcat5(String catalinaHome) {
+ return catalinaHome.endsWith(EWS_TOMCAT_5);
+ }
+
+ public static boolean isRPMTomcat6(String catalinaHome) {
+ return catalinaHome.endsWith(EWS_TOMCAT_6);
+ }
+
private void populateJMXConfiguration(Configuration configuration, String[] commandLine) {
// null for manual add, properties will already be set
if (null == commandLine) {
diff --git a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java
index ce542a9..f1e78f4 100644
--- a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java
+++ b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java
@@ -252,7 +252,7 @@ public class TomcatServerOperationsDelegate {
private ProcessExecution getRpmStart(Configuration pluginConfiguration) {
ProcessExecution processExecution;
String catalinaHome = this.serverComponent.getCatalinaHome().getPath();
- String rpm = TomcatDiscoveryComponent.isEWSTomcat6(catalinaHome) ? TomcatDiscoveryComponent.EWS_TOMCAT_6
+ String rpm = TomcatDiscoveryComponent.isRPMTomcat6(catalinaHome) ? TomcatDiscoveryComponent.EWS_TOMCAT_6
: TomcatDiscoveryComponent.EWS_TOMCAT_5;
processExecution = new ProcessExecution("service");
@@ -335,7 +335,7 @@ public class TomcatServerOperationsDelegate {
private ProcessExecution getRpmShutdown() {
ProcessExecution processExecution;
String catalinaHome = this.serverComponent.getCatalinaHome().getPath();
- String rpm = TomcatDiscoveryComponent.isEWSTomcat6(catalinaHome) ? TomcatDiscoveryComponent.EWS_TOMCAT_6
+ String rpm = TomcatDiscoveryComponent.isRPMTomcat6(catalinaHome) ? TomcatDiscoveryComponent.EWS_TOMCAT_6
: TomcatDiscoveryComponent.EWS_TOMCAT_5;
processExecution = new ProcessExecution("service");
commit f6cee08b05e8cebd4c28c6d7cb6de52ec0c5d180
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Nov 23 13:49:39 2011 +0100
BZ 755544 prevent NPE when no resource or group or metric were selected.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
index 87d1199..d91fc3b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
@@ -54,10 +54,10 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "ResourceGroupMetric";
- // A default displayed, persisted name for the portlet
+ // A default displayed, persisted name for the portlet
public static final String NAME = MSG.view_portlet_defaultName_groupMetric();
- // set on initial configuration, the window for this portlet view.
+ // set on initial configuration, the window for this portlet view.
private PortletWindow portletWindow;
public static final String CFG_RESOURCE_GROUP_ID = "resourceGroupId";
@@ -79,8 +79,13 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
}
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- setEntityId(storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID).getIntegerValue());
- setDefinitionId(storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID).getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID).getIntegerValue();
+ if (integerValue!=null)
+ setEntityId(integerValue);
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null)
+ setDefinitionId(propertySimple.getIntegerValue());
}
}
@@ -92,11 +97,12 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
protected void onDraw() {
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- super.onDraw();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
removeMembers(getMembers());
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ super.onDraw();
}
}
@@ -113,7 +119,7 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
.extendLocatorId("Selector"), GroupCategory.COMPATIBLE, false);
resourceGroupSelector.setWidth(700);
resourceGroupSelector.setHeight(300);
- //TODO, would probaby be nice to find a way to seed assigned with the current group
+ //TODO, would probaby be nice to find a way to seed assigned with the current group
//ListGridRecord rec = new ListGridRecord();
//rec.setAttribute("id", getEntityId());
//rec.setAttribute("name", "current");
@@ -152,10 +158,14 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
final DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- form.setValue(CFG_RESOURCE_GROUP_ID, storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID)
- .getIntegerValue());
- form.setValue(CFG_DEFINITION_ID, storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID)
- .getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID)
+ .getIntegerValue();
+ if (integerValue!=null)
+ form.setValue(CFG_RESOURCE_GROUP_ID, integerValue);
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null)
+ form.setValue(CFG_DEFINITION_ID, propertySimple.getIntegerValue());
}
selectorItem.setCanvas(resourceGroupSelector);
@@ -184,10 +194,11 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
removeMembers(getMembers());
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- renderGraph();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID);
+ if (simple == null | simple.getIntegerValue()==null) {
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ renderGraph();
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
index ad18fcb..7187066 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
@@ -48,10 +48,10 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "ResourceMetric";
- // A default displayed, persisted name for the portlet
+ // A default displayed, persisted name for the portlet
public static final String NAME = MSG.view_portlet_defaultName_resourceMetric();
- // set on initial configuration, the window for this portlet view.
+ // set on initial configuration, the window for this portlet view.
private PortletWindow portletWindow;
public static final String CFG_RESOURCE_ID = "resourceId";
@@ -73,8 +73,19 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
}
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- setEntityId(storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID).getIntegerValue());
- setDefinitionId(storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID).getIntegerValue());
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (propertySimple!=null) {
+ Integer integerValue = propertySimple.getIntegerValue();
+ if (integerValue!=null)
+ setEntityId(integerValue);
+ }
+ propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null) {
+
+ Integer integerValue = propertySimple.getIntegerValue();
+ if (integerValue!=null)
+ setDefinitionId(integerValue);
+ }
}
}
@@ -86,11 +97,12 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
protected void onDraw() {
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- super.onDraw();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
removeMembers(getMembers());
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ super.onDraw();
}
}
@@ -133,10 +145,15 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
});
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- form.setValue(CFG_RESOURCE_ID, storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID)
- .getIntegerValue());
- form.setValue(CFG_DEFINITION_ID, storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID)
- .getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID).getIntegerValue();
+ if (integerValue!=null) {
+ form.setValue(CFG_RESOURCE_ID, integerValue);
+ }
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null) {
+ form.setValue(CFG_DEFINITION_ID, propertySimple.getIntegerValue());
+ }
}
form.setFields(resourceLookupComboBoxItem, metric);
@@ -164,10 +181,11 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
removeMembers(getMembers());
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- renderGraph();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ renderGraph();
}
}
commit bbb3015a3d7f7cbf8238853e262c64cf1740d381
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Nov 22 16:31:21 2011 -0500
[Bug 756171 - The UI does not have a way to see the template from which a drift definition is derived]
Add template and attached info to the definitions view. This implements
#2 of the three proposed enhancements and should be enough for the
first release. It adds two new columns, "Attached?" and "Template",
which indicate whether the definition is attached or not,and to what
template. Note that detached definitions still have an associated template,
and may be re-attached.
Users with manage_settings can link to the template, for others the field
is not a link.
Given a lack of real-estate, the interval and drift handling columns have
been removed from the list row, and are now viewable only from the edit
view.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
index 90440dd..b29e9a6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
@@ -21,6 +21,8 @@ package org.rhq.enterprise.gui.coregui.client.drift;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
+import java.util.HashSet;
+import java.util.Set;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
@@ -36,6 +38,7 @@ import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
+import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.common.EntityContext;
import org.rhq.core.domain.criteria.DriftDefinitionCriteria;
import org.rhq.core.domain.drift.DriftChangeSet;
@@ -49,6 +52,8 @@ import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.PermissionsLoadedListener;
+import org.rhq.enterprise.gui.coregui.client.PermissionsLoader;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
import org.rhq.enterprise.gui.coregui.client.gwt.DriftGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
@@ -76,12 +81,15 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
public static final String ATTR_CHANGE_SET_VERSION = "changesetVersion";
public static final String ATTR_COMPLIANCE = "compliance";
public static final String ATTR_COMPLIANCE_ICON = "complianceIcon";
+ public static final String ATTR_ATTACHED = "attached";
+ public static final String ATTR_TEMPLATE = "template";
public static final String DRIFT_HANDLING_MODE_NORMAL = MSG.view_drift_table_driftHandlingMode_normal();
public static final String DRIFT_HANDLING_MODE_PLANNED = MSG.view_drift_table_driftHandlingMode_plannedChanges();
private DriftGWTServiceAsync driftService = GWTServiceLookup.getDriftService();
private EntityContext entityContext;
+ private Set<Permission> globalPermissions;
public DriftDefinitionDataSource() {
this(EntityContext.forSubsystemView());
@@ -168,17 +176,42 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
});
fields.add(inComplianceField);
+ /*
ListGridField driftHandlingModeField = new ListGridField(ATTR_DRIFT_HANDLING_MODE, MSG
.view_drift_table_driftHandlingMode());
fields.add(driftHandlingModeField);
+ */
+ /*
ListGridField intervalField = new ListGridField(ATTR_INTERVAL, MSG.common_title_interval());
fields.add(intervalField);
+ */
ListGridField baseDirField = new ListGridField(ATTR_BASE_DIR_STRING, MSG.view_drift_table_baseDir());
changeSetTimeField.setCanSortClientOnly(true);
fields.add(baseDirField);
+ ListGridField attachedField = new ListGridField(ATTR_ATTACHED, MSG.view_drift_table_attached());
+ fields.add(attachedField);
+
+ ListGridField templateField = new ListGridField(ATTR_TEMPLATE, MSG.view_drift_table_template());
+ templateField.setCellFormatter(new CellFormatter() {
+ public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
+ DriftDefinition def = (DriftDefinition) listGridRecord.getAttributeAsObject(ATTR_ENTITY);
+ if (null != globalPermissions && globalPermissions.contains(Permission.MANAGE_SETTINGS)) {
+ int typeId = def.getResource().getResourceType().getId();
+ int templateId = def.getTemplate().getId();
+ String link = LinkManager.getDriftTemplateLink(typeId, templateId);
+ return SeleniumUtility.getLocatableHref(link, o.toString(), null);
+
+ } else {
+ return o.toString();
+ }
+ }
+ });
+ templateField.setCanSortClientOnly(true);
+ fields.add(templateField);
+
ListGridField editField = new ListGridField(ATTR_EDIT, MSG.common_title_edit());
editField.setType(ListGridFieldType.IMAGE);
editField.setAlign(Alignment.CENTER);
@@ -229,9 +262,11 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
nameField.setWidth("20%");
enabledField.setWidth(60);
inComplianceField.setWidth(100);
- driftHandlingModeField.setWidth("10%");
- intervalField.setWidth(100);
+ //driftHandlingModeField.setWidth("10%");
+ //intervalField.setWidth(100);
baseDirField.setWidth("*");
+ attachedField.setWidth(70);
+ templateField.setWidth("25%");
pinnedField.setWidth(70);
changeSetField.setWidth(70);
changeSetTimeField.setWidth(100);
@@ -244,9 +279,11 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
changeSetTimeField.setWidth(100);
enabledField.setWidth(60);
inComplianceField.setWidth(100);
- driftHandlingModeField.setWidth("15%");
- intervalField.setWidth(70);
+ //driftHandlingModeField.setWidth("15%");
+ //intervalField.setWidth(70);
baseDirField.setWidth("*");
+ attachedField.setWidth(70);
+ templateField.setWidth("25%");
pinnedField.setWidth(70);
editField.setWidth(70);
}
@@ -265,8 +302,21 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
processResponse(request.getRequestId(), response);
}
- public void onSuccess(PageList<DriftDefinitionComposite> result) {
- dataRetrieved(result, response, request);
+ public void onSuccess(final PageList<DriftDefinitionComposite> result) {
+
+ // if we don't have them grab the global perms to see later if we can link to to templates.
+ if (null == globalPermissions) {
+ new PermissionsLoader().loadExplicitGlobalPermissions(new PermissionsLoadedListener() {
+ @Override
+ public void onPermissionsLoaded(Set<Permission> permissions) {
+ globalPermissions = (permissions != null) ? permissions : new HashSet<Permission>();
+ dataRetrieved(result, response, request);
+ }
+ });
+
+ } else {
+ dataRetrieved(result, response, request);
+ }
}
});
}
@@ -326,12 +376,14 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
}
criteria.fetchConfiguration(true);
+ criteria.fetchTemplate(true);
// filter out unsortable fields (i.e. fields sorted client-side only)
PageControl pageControl = getPageControl(request);
pageControl.removeOrderingField(ATTR_BASE_DIR_STRING);
pageControl.removeOrderingField(ATTR_CHANGE_SET_CTIME);
pageControl.removeOrderingField(ATTR_CHANGE_SET_VERSION);
+ pageControl.removeOrderingField(ATTR_TEMPLATE);
criteria.setPageControl(pageControl);
return criteria;
@@ -353,7 +405,7 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
ListGridRecord record = new ListGridRecord();
// We need this for Detect Now support
- record.setAttribute(ATTR_ENTITY, from.getDriftDefinition());
+ record.setAttribute(ATTR_ENTITY, def);
record.setAttribute(ATTR_ID, def.getId());
record.setAttribute(ATTR_NAME, def.getName());
@@ -369,6 +421,8 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
record.setAttribute(ATTR_EDIT, ImageManager.getEditIcon());
record.setAttribute(ATTR_IS_PINNED, def.isPinned() ? ImageManager.getPinnedIcon() : ImageManager
.getUnpinnedIcon());
+ record.setAttribute(ATTR_ATTACHED, def.isAttached() ? MSG.common_val_yes() : MSG.common_val_no());
+ record.setAttribute(ATTR_TEMPLATE, def.getTemplate().getName());
record.setAttribute(ATTR_CHANGE_SET_VERSION, (null != changeSet) ? String.valueOf(changeSet.getVersion()) : MSG
.common_label_none());
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index 5a5f154..c8df668 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -1206,6 +1206,7 @@ view_drift_success_deleteTemplate = Successfully deleted {0} drift templates
view_drift_success_detectNow = Successfully submitted drift detection run request
view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+view_drift_table_attached = Attached?
view_drift_table_baseDir = Base Directory
view_drift_table_driftHandlingMode = Drift Handling
view_drift_table_driftHandlingMode_normal = normal
@@ -1224,6 +1225,7 @@ view_drift_table_resourceDef = Resource Drift Detection Definition
view_drift_table_resourceHistory = Resource Drift History
view_drift_table_snapshot = Snapshot
view_drift_table_snapshotTime = Snapshot Time
+view_drift_table_template = Template
view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index c5d56d5..76bbf6a 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -1054,6 +1054,7 @@ view_dashboards_title = Dashboard
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+##view_drift_table_attached = Attached?
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1072,6 +1073,7 @@ view_dashboards_title = Dashboard
##view_drift_table_resourceHistory = Resource Drift History
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
+##view_drift_table_template = Template
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index d673c42..1242729 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -1196,6 +1196,7 @@ view_dashboards_title = ダッシュボード
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+##view_drift_table_attached = Attached?
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1214,6 +1215,7 @@ view_dashboards_title = ダッシュボード
##view_drift_table_resourceHistory = Resource Drift History
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
+##view_drift_table_template = Template
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
index 56e46b1..6acfd8a 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
@@ -1225,6 +1225,7 @@ view_drift_success_delete = Drifts {0} exclu�dos com sucesso!
view_drift_success_detectNow = Requisi��o de detec��o de drift submetida com sucesso.
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+##view_drift_table_attached = Attached?
##view_drift_table_baseDir = Diret�rio Base
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1243,6 +1244,7 @@ view_drift_success_detectNow = Requisi��o de detec��o de drift submetida
##view_drift_table_resourceHistory = Hist�rico de Drift do Recurso
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
+##view_drift_table_template = Template
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
index 670769e..89b23e8 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
@@ -1205,6 +1205,7 @@ view_dashboards_title = \u7edf\u8ba1\u8868\u76d8
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+##view_drift_table_attached = Attached?
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1223,6 +1224,7 @@ view_dashboards_title = \u7edf\u8ba1\u8868\u76d8
##view_drift_table_resourceHistory = Resource Drift History
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
+##view_drift_table_template = Template
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
commit b33a34080654eb5305c5a2e46ad18d730b95ed85
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Nov 22 16:27:16 2011 -0500
[BZ 756106] ensure resource classloader is initialized in processSyncInfo() prior to making any resource component facet
calls (https://bugzilla.redhat.com/show_bug.cgi?id=756106)
diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
index e815315..2a5bd2f 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
+ * Copyright (C) 2005-2011 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -2494,6 +2494,9 @@ public class InventoryManager extends AgentService implements ContainerService,
log.info("Got unknown resource: " + syncInfo.getId());
} else {
Resource resource = container.getResource();
+ // Ensure the Resource classloader is initialized on the Resource container.
+ initResourceContainer(resource);
+
if (log.isDebugEnabled()) {
log.debug("Local Resource: id=" + resource.getId() + ", status=" + resource.getInventoryStatus()
+ ", mtime=" + resource.getMtime());
commit d211435be4d13204d34c3e3c90fea7f0b7c645e6
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Nov 22 13:41:02 2011 -0500
Add new required method to mongo drift server impl
diff --git a/modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java b/modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java
index 028c1dd..a98ff59 100644
--- a/modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java
+++ b/modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java
@@ -359,4 +359,10 @@ public class MongoDBDriftServer implements DriftServerPluginFacet, ServerPluginC
// TODO Auto-generated method stub
return null;
}
+
+ @Override
+ public byte[] getDriftFileAsByteArray(Subject subject, String hash) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
commit 77d9e38f36a5401ecb287ffea42335fc5c9e9463
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Nov 22 13:40:42 2011 -0500
[Bug 753659 - Exception thrown when clicking Back to List after pinning snapshot to template]
A subtle issue having to do with the fact that pinning can remove
existing entities therefore invalidating previous views. A couple of
changes to address this and make things, hopefully, more intuitive:
- When navigating from the deifinitions list to the initial snapshot the
"Back to List" button now brings you directly back to the defs list. It
previously would bring you to the carousel, which was confusing because
that's not where you navigated from.
- When pinning a snapshot to a template the wizard will, if successful,
navigate you back to the definitions list view automatically. This
higher level view is guaranteed to be valid, and will reflect any new
pinning-related state changes. On cancel or failure the use will
remain on the snapshot view.
will
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
index d3ef464..ef99372 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/LinkManager.java
@@ -28,6 +28,7 @@ import org.rhq.enterprise.gui.coregui.client.admin.roles.RolesView;
import org.rhq.enterprise.gui.coregui.client.admin.templates.DriftDefinitionTemplateTypeView;
import org.rhq.enterprise.gui.coregui.client.admin.users.UsersView;
import org.rhq.enterprise.gui.coregui.client.components.table.StringIDTableSection;
+import org.rhq.enterprise.gui.coregui.client.drift.DriftDefinitionsView;
/**
* @author Greg Hinkle
@@ -514,7 +515,13 @@ public class LinkManager {
}
public static String getDriftDefinitionEditLink(int resourceId, int driftDefId) {
- return "#Resource/" + resourceId + "/Drift/Definitions/" + driftDefId + "/Edit";
+ return "#Resource/" + resourceId + "/Drift/Definitions/" + driftDefId + "/"
+ + DriftDefinitionsView.DetailView.Edit.name();
+ }
+
+ public static String getDriftDefinitionInitialSnapshotLink(int resourceId, int driftDefId) {
+ return "#Resource/" + resourceId + "/Drift/Definitions/" + driftDefId + "/"
+ + DriftDefinitionsView.DetailView.InitialSnapshot.name();
}
public static String getDriftCarouselDriftLink(int resourceId, int driftDefId, String driftId) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
index 0781f22..90440dd 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
@@ -112,8 +112,8 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
public void onRecordClick(RecordClickEvent event) {
switch (entityContext.getType()) {
case Resource:
- CoreGUI.goToView(LinkManager.getDriftCarouselSnapshotLink(entityContext.getResourceId(), event
- .getRecord().getAttributeAsInt(ATTR_ID), 0));
+ CoreGUI.goToView(LinkManager.getDriftDefinitionInitialSnapshotLink(entityContext.getResourceId(),
+ event.getRecord().getAttributeAsInt(ATTR_ID)));
break;
default:
throw new IllegalArgumentException("Entity Type not supported");
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java
index 118e074..619fba3 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java
@@ -65,10 +65,14 @@ public class DriftDefinitionsView extends TableSection<DriftDefinitionDataSource
private static final Criteria INITIAL_CRITERIA = new Criteria();
+ public enum DetailView {
+ Carousel, Edit, InitialSnapshot
+ };
+
private EntityContext context;
private boolean hasWriteAccess;
private DriftDefinitionDataSource dataSource;
- private boolean useEditDetailsView;
+ private DetailView detailsView = DetailView.Carousel;
static {
DriftCategory[] categoryValues = DriftCategory.values();
@@ -243,10 +247,17 @@ public class DriftDefinitionsView extends TableSection<DriftDefinitionDataSource
@Override
public void renderView(ViewPath viewPath) {
- // we have two detail views for drift defs, the config editor and the carousel. figure out which one we're
- // dealing with. The default is the carousel, anything further in the path we assume to be /Edit
- if (!viewPath.isEnd()) {
- this.useEditDetailsView = !viewPath.isNextEnd() && "Edit".equals(viewPath.getNext().getPath());
+ // we have three detail views for drift defs, the carousel, the the config editor, and the initial snapshot.
+ // Figure out which one we're dealing with. The default is the carousel.
+ this.detailsView = DetailView.Carousel;
+
+ if (!viewPath.isEnd() && !viewPath.isNextEnd()) {
+ if (DetailView.Edit.name().equals(viewPath.getNext().getPath())) {
+ this.detailsView = DetailView.Edit;
+
+ } else if (DetailView.InitialSnapshot.name().equals(viewPath.getNext().getPath())) {
+ this.detailsView = DetailView.InitialSnapshot;
+ }
}
super.renderView(viewPath);
@@ -254,11 +265,17 @@ public class DriftDefinitionsView extends TableSection<DriftDefinitionDataSource
@Override
public Canvas getDetailsView(Integer driftDefId) {
- if (this.useEditDetailsView) {
- return new DriftDefinitionEditView(extendLocatorId("DefinitionEdit"), context, driftDefId, hasWriteAccess);
- }
+ switch (detailsView) {
+ case Edit:
+ return new DriftDefinitionEditView(extendLocatorId("Edit"), context, driftDefId, hasWriteAccess);
+
+ case InitialSnapshot:
+ return new DriftSnapshotView(extendLocatorId("InitialSnapshot"), null, context.getResourceId(), driftDefId,
+ 0, hasWriteAccess);
- return new DriftCarouselView(extendLocatorId("Carousel"), context, driftDefId, hasWriteAccess);
+ default:
+ return new DriftCarouselView(extendLocatorId("Carousel"), context, driftDefId, hasWriteAccess);
+ }
}
public EntityContext getContext() {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftSnapshotView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftSnapshotView.java
index 7d9a782..5ad8311 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftSnapshotView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftSnapshotView.java
@@ -239,7 +239,7 @@ public class DriftSnapshotView extends Table<DriftSnapshotDataSource> {
}
private void pinToTemplate() {
- DriftPinTemplateWizard.showWizard(driftDefId, version, DriftSnapshotView.this);
+ DriftPinTemplateWizard.showWizard(driftDefId, version);
// we can refresh the table buttons immediately since the wizard is a dialog, the
// user can't access enabled buttons anyway.
DriftSnapshotView.this.refreshTableInfo();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java
index 7f6c683..46b69b6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java
@@ -30,7 +30,7 @@ import org.rhq.core.domain.resource.Resource;
import org.rhq.core.domain.resource.ResourceType;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
-import org.rhq.enterprise.gui.coregui.client.components.table.Table;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
import org.rhq.enterprise.gui.coregui.client.components.wizard.WizardStep;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
@@ -41,13 +41,9 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message;
*/
public class DriftPinTemplateWizard extends AbstractDriftPinTemplateWizard {
- private Table<?> table;
-
- public DriftPinTemplateWizard(ResourceType resourceType, DriftDefinition driftDef, int snapshotVersion,
- Table<?> table) {
+ public DriftPinTemplateWizard(ResourceType resourceType, DriftDefinition driftDef, int snapshotVersion) {
super(resourceType, driftDef, snapshotVersion);
- this.table = table;
final ArrayList<WizardStep> steps = new ArrayList<WizardStep>();
@@ -108,19 +104,20 @@ public class DriftPinTemplateWizard extends AbstractDriftPinTemplateWizard {
new Message(MSG.view_drift_wizard_pinTemplate_success(template.getName()),
Message.Severity.Info));
getView().closeDialog();
- DriftPinTemplateWizard.this.table.refresh();
+ CoreGUI.goToView(LinkManager.getDriftDefinitionsLink(getSnapshotDriftDef().getResource().getId()),
+ true);
}
public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(MSG.view_drift_wizard_pinTemplate_failure(template.getName()),
- caught);
+ CoreGUI.getErrorHandler().handleError(
+ MSG.view_drift_wizard_pinTemplate_failure(template.getName()), caught);
getView().closeDialog();
}
});
}
- public static void showWizard(final int snapshpotDriftDefId, final int snapshotVersion, final Table<?> table) {
+ public static void showWizard(final int snapshpotDriftDefId, final int snapshotVersion) {
// get the relevant DriftDefinition
DriftDefinitionCriteria ddc = new DriftDefinitionCriteria();
@@ -153,7 +150,7 @@ public class DriftPinTemplateWizard extends AbstractDriftPinTemplateWizard {
public void onTypesLoaded(ResourceType type) {
DriftPinTemplateWizard wizard = new DriftPinTemplateWizard(type, driftDef,
- snapshotVersion, table);
+ snapshotVersion);
wizard.startWizard();
}
});
commit 6fd3fb7dd614593adb01affb91a9ac97cc9d0633
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Tue Nov 22 10:42:38 2011 -0500
[BZ 755564] null check to avoid NPE. summary must be non-null as per data model
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java
index 5738e74..725ab53 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java
@@ -141,7 +141,9 @@ public class ResourceError implements Serializable {
}
public void setSummary(String summary) {
- if (summary != null && summary.length() > MAX_SUMMARY_LENGTH) {
+ if (summary == null) {
+ summary = "An error occurred.";
+ } else if (summary.length() > MAX_SUMMARY_LENGTH) {
summary = summary.substring(0, MAX_SUMMARY_LENGTH - 3) + "...";
}
this.summary = summary;
commit 4917e09cd2575b093be2753d88be0176cfca551b
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Nov 21 15:38:50 2011 -0500
[Bug 755712 - Drift carousel view previous button generates exception]
Fix some issues with carousel filtering/next/previous buttons. There
were a few issues in play.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
index 8503487..55e3cbc 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
@@ -433,8 +433,11 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
if (null != carouselStartFilter) {
int newEnd = carouselStartFilter + 1;
setCarouselEndFilter(newEnd);
+
+ // it's ok if this is higher than the current max, the actual fetch will make sure the
+ // values are sane.
+ setCarouselStartFilter(carouselStartFilter + carouselSizeFilter);
}
- setCarouselStartFilter(null);
buildCarousel(true);
}
@@ -449,6 +452,7 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
newStart = (newStart < carouselSizeFilter) ? carouselSizeFilter : newStart;
setCarouselStartFilter(newStart);
}
+
setCarouselEndFilter(null);
buildCarousel(true);
@@ -803,7 +807,7 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
}
try {
- carouselStartFilter = Integer.valueOf((String) criteriaMap.get(FILTER_CAROUSEL_START));
+ carouselStartFilter = (Integer) criteriaMap.get(FILTER_CAROUSEL_START);
} catch (Exception e) {
carouselStartFilter = null;
}
@@ -1054,12 +1058,6 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
}
protected void setCarouselStartFilter(Integer carouselStartFilter) {
- // bump up the start filter max if need be
- Integer max = getCarouselStartFilterMax();
- if (null != max && max < carouselStartFilter) {
- setCarouselStartFilterMax(carouselStartFilter);
- }
-
this.carouselStartFilter = carouselStartFilter;
if (null != carouselStartFilter) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java
index 4489472..544ef81 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java
@@ -70,7 +70,7 @@ public class DriftCarouselView extends BookmarkableCarousel implements DetailsVi
private int driftDefId;
private EntityContext context;
private boolean hasWriteAccess;
- private Integer maxCarouselEndFilter;
+ private Integer maxSnapshotVersion;
private ArrayList<Record> selectedRecords = new ArrayList<Record>();
private boolean useDriftDetailsView;
@@ -157,11 +157,9 @@ public class DriftCarouselView extends BookmarkableCarousel implements DetailsVi
}
});
+ // descending order, so highest changeset version first
if (null == carouselStart) {
carouselStart = changeSet.getVersion();
- if (null == maxCarouselEndFilter) {
- maxCarouselEndFilter = carouselStart;
- }
}
carouselEnd = changeSet.getVersion();
@@ -169,20 +167,20 @@ public class DriftCarouselView extends BookmarkableCarousel implements DetailsVi
break;
}
}
+ if (null == maxSnapshotVersion || maxSnapshotVersion < carouselStart) {
+ maxSnapshotVersion = carouselStart;
+ setCarouselStartFilterMax(maxSnapshotVersion);
+ }
+
+ setCarouselStartFilter(carouselStart);
+ setCarouselEndFilter(carouselEnd);
+ setCarouselSizeFilter(carouselSize);
if (!isRefresh) {
DriftCarouselView.super.onDraw();
} else {
DriftCarouselView.this.refreshCarouselInfo();
}
-
- Integer currentStartFilterMax = getCarouselStartFilterMax();
- if (null == currentStartFilterMax || currentStartFilterMax < carouselStart) {
- setCarouselStartFilterMax(carouselStart);
- }
- setCarouselStartFilter(carouselStart);
- setCarouselEndFilter(carouselEnd);
- setCarouselSizeFilter(carouselSize);
}
public void onFailure(Throwable caught) {
@@ -220,30 +218,29 @@ public class DriftCarouselView extends BookmarkableCarousel implements DetailsVi
* @param changeSetCriteria
*/
private void addCarouselCriteria(GenericDriftChangeSetCriteria changeSetCriteria) {
- Integer carouselStartFilter;
- Integer carouselEndFilter;
-
- // if no startFilter is set then include changesets up to the most recent
- try {
- carouselStartFilter = Integer.valueOf(getCarouselStartFilter());
- if (carouselStartFilter > 0) {
- changeSetCriteria.addFilterEndVersion(String.valueOf(carouselStartFilter));
- }
- } catch (Exception e) {
- carouselStartFilter = null;
+ Integer startVersion; // low snapshot version (carouselEndFilter)
+ Integer endVersion; // high snapshot version (carouselStartFilter)
+
+ // if no startFilter is set then don't limit the endVersion
+ endVersion = getCarouselStartFilter();
+ if (null != endVersion) {
+ changeSetCriteria.addFilterEndVersion(String.valueOf(endVersion));
}
// if no endFilter is set then include changesets greater than 0 (never include 0, the initial snapshot)
- try {
- carouselEndFilter = Integer.valueOf(getCarouselEndFilter());
- if (carouselEndFilter < 1) {
- carouselEndFilter = 1;
- } else if (carouselEndFilter <= maxCarouselEndFilter) {
- changeSetCriteria.addFilterStartVersion(String.valueOf(carouselEndFilter));
- }
- } catch (Exception e) {
- carouselEndFilter = null;
+ // else ensure endFilter is not greater than makes sense
+ startVersion = getCarouselEndFilter();
+ if (null == startVersion || 1 > startVersion) {
+ startVersion = 1;
+
+ } else if (null != endVersion && startVersion > endVersion) {
+ startVersion = endVersion;
+ }
+
+ if (null != maxSnapshotVersion && startVersion > maxSnapshotVersion) {
+ startVersion = maxSnapshotVersion;
}
+ changeSetCriteria.addFilterStartVersion(String.valueOf(startVersion));
// apply the drift-level carousel filters in order to filter out changesets that have no applicab;e drift
Criteria criteria = getCurrentCriteria();
commit fdfebdfa7f78a219a9c391450ff0ddd3152536cb
Author: John Sanda <jsanda(a)redhat.com>
Date: Mon Nov 21 13:08:54 2011 -0500
Handle agent being down when pinning snapshot to definition
Prior to this commit when you pinned a snapshot to a definition, an
error would be reported in the UI if the agent was down or otherwise
unreachable; however, the server side operation completed successfully.
This commit adds exception handling and logging to deal with the agent
being unreachable.
This commit includes another critical change which is updating the
resource's mtime. Without updating the mtime, the definition's update is
not picked up during inventory sync when the agent restarts.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
index e3c5602..7c1d3e1 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
@@ -610,6 +610,7 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
driftDef.setPinned(true);
driftManager.updateDriftDefinition(subject, driftDef);
+ driftDef.getResource().setAgentSynchronizationNeeded();
DriftSnapshotRequest snapshotRequest = new DriftSnapshotRequest(driftDefId, snapshotVersion);
DriftSnapshot snapshot = getSnapshot(subject, snapshotRequest);
@@ -629,9 +630,14 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
throw new RuntimeException("Failed to pin snapshot", e);
}
- AgentClient agent = agentManager.getAgentClient(subjectManager.getOverlord(), driftDef.getResource().getId());
- DriftAgentService driftService = agent.getDriftAgentService();
- driftService.pinSnapshot(driftDef.getResource().getId(), driftDef.getName(), snapshot);
+ try {
+ AgentClient agent = agentManager.getAgentClient(subjectManager.getOverlord(), driftDef.getResource().getId());
+ DriftAgentService driftService = agent.getDriftAgentService();
+ driftService.pinSnapshot(driftDef.getResource().getId(), driftDef.getName(), snapshot);
+ } catch (Exception e) {
+ log.warn("Unable to notify agent that DriftDefinition[driftDefinitionId: " + driftDefId +
+ ", driftDefinitionName: " + driftDef.getName() + "] has been pinned. The agent may be down.", e);
+ }
}
@TransactionAttribute(NOT_SUPPORTED)
commit 4a2cd52f16d8d9d61d1035e975dc48758357b6b9
Author: John Sanda <jsanda(a)redhat.com>
Date: Sun Nov 20 11:13:59 2011 -0500
Fixing issue with duplicate snapshot getting reported
When drift has already been reported for a pinned definition and when
the agent is restarted with a clean data directory, the agent would
report a duplicate snapshot to the server. The agent would report the
previously reported change set. The problem was that during inventory
sync DriftManager was not getting back the correct snapshot when it was
requesting the last drift snapshot from the server. I traced the problem
back to DriftSnapshotRequest. I added another constructor to more easily
specify a version range.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftSnapshotRequest.java b/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftSnapshotRequest.java
index 1ec26af..9ed9774 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftSnapshotRequest.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftSnapshotRequest.java
@@ -80,6 +80,20 @@ public class DriftSnapshotRequest implements Serializable {
}
/**
+ * Creates a snapshot request with the specified version range
+ *
+ * @param driftDefinitionId The id of the drift definition
+ * @param startVersion The snapshot start version inclusive
+ * @param endVersion The snapshot end version inclusive
+ */
+ public DriftSnapshotRequest(int driftDefinitionId, Integer startVersion, Integer endVersion) {
+ this.driftDefinitionId = driftDefinitionId;
+ this.startVersion = startVersion;
+ version = endVersion;
+ includeDriftInstances = true;
+ }
+
+ /**
* Get the requested snapshot version for the specified drift definition, narrowed to
* files in the specified directory.
* </br>
diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
index cf4fc07..c70b546 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/DriftManager.java
@@ -211,6 +211,7 @@ public class DriftManager extends AgentService implements DriftAgentService, Dri
snapshot.getVersion(), snapshot.getVersion());
File deltaFile = new File(currentSnapshotFile.getParentFile(), "drift-changeset.txt");
Headers deltaHeaders = createHeaders(resource.getId(), driftDefinition);
+ deltaHeaders.setVersion(snapshot.getVersion());
deltaHeaders.setType(DRIFT);
writeSnapshotToFile(deltaSnapshot, deltaFile, deltaHeaders);
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftServerServiceImpl.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftServerServiceImpl.java
index dec9a6f..b22caa7 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftServerServiceImpl.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftServerServiceImpl.java
@@ -109,7 +109,7 @@ public class DriftServerServiceImpl implements DriftServerService {
Subject overlord = getSubjectManager().getOverlord();
return getDriftManager().getSnapshot(overlord,
- new DriftSnapshotRequest(driftDefinitionId, endVersion, startVersion, null, false, true));
+ new DriftSnapshotRequest(driftDefinitionId, startVersion, endVersion));
}
@Override
commit 28c35ecb0001cdd8fd68d9e870e819b7ab60c665
Author: John Sanda <jsanda(a)redhat.com>
Date: Sat Nov 19 10:12:38 2011 -0500
Adding method to retrieve drift content as byte array
Yesterday I discovered an issue while working on a CLI script that was
trying to fetch drift file content. Whitespace characters like \n and \t
were getting stripped out and replaced with a single whitespace
character. After a lot of debugging I determined that this is happening
in the transport layer which is jboss remoting. Fetching file content as
a byte array and then constructing a string on the client side bypasses
this issue.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
index 851372d..e3c5602 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
@@ -684,6 +684,13 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
}
@Override
+ public byte[] getDriftFileAsByteArray(Subject subject, String hash) {
+ log.debug("Retrieving drift file content for " + hash);
+ DriftServerPluginFacet driftServerPlugin = getServerPlugin();
+ return driftServerPlugin.getDriftFileAsByteArray(subject, hash);
+ }
+
+ @Override
public FileDiffReport generateUnifiedDiff(Subject subject, Drift<?, ?> drift) {
log.debug("Generating diff for " + drift);
String oldContent = getDriftFileBits(subject, drift.getOldDriftFile().getHashId());
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerRemote.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerRemote.java
index f75602b..1d3dc82 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerRemote.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerRemote.java
@@ -104,6 +104,8 @@ public interface DriftManagerRemote {
*/
String getDriftFileBits(Subject subject, String hash);
+ byte[] getDriftFileAsByteArray(Subject subject, String hash);
+
/**
* Calculate and return requested Drift Snapshot.
*
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerBean.java
index dce9398..142e959 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerBean.java
@@ -29,6 +29,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.nio.charset.Charset;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
@@ -497,14 +498,18 @@ public class JPADriftServerBean implements JPADriftServerLocal {
@Override
public String getDriftFileBits(String hash) {
// TODO add security
+ return new String(getDriftFileAsByteArray(hash), Charset.defaultCharset());
+ }
+
+ @Override
+ public byte[] getDriftFileAsByteArray(String hash) {
try {
JPADriftFileBits content = (JPADriftFileBits) entityManager.createNamedQuery(
JPADriftFileBits.QUERY_FIND_BY_ID).setParameter("hashId", hash).getSingleResult();
if (content.getDataSize() == null || content.getDataSize() < 1) {
- return "";
+ return new byte[] {};
}
- byte[] bytes = StreamUtil.slurp(content.getBlob().getBinaryStream());
- return new String(bytes);
+ return StreamUtil.slurp(content.getBlob().getBinaryStream());
} catch (SQLException e) {
e.printStackTrace();
return null;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerLocal.java
index 76b125a..0cd1e78 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/JPADriftServerLocal.java
@@ -131,4 +131,6 @@ public interface JPADriftServerLocal {
int purgeOrphanedDriftFiles(Subject subject, long purgeMillis);
String getDriftFileBits(String hash);
+
+ byte[] getDriftFileAsByteArray(String hash);
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/drift/DriftServerPluginFacet.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/drift/DriftServerPluginFacet.java
index 97e402e..a9d7f30 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/drift/DriftServerPluginFacet.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/plugin/pc/drift/DriftServerPluginFacet.java
@@ -146,4 +146,6 @@ public interface DriftServerPluginFacet {
* @return The content as a string
*/
String getDriftFileBits(Subject subject, String hash);
+
+ byte[] getDriftFileAsByteArray(Subject subject, String hash);
}
diff --git a/modules/enterprise/server/plugins/drift-rhq/src/main/java/org/rhq/enterprise/server/plugins/drift/JPADriftServerPluginComponent.java b/modules/enterprise/server/plugins/drift-rhq/src/main/java/org/rhq/enterprise/server/plugins/drift/JPADriftServerPluginComponent.java
index 2da3167..9ebc2fc 100644
--- a/modules/enterprise/server/plugins/drift-rhq/src/main/java/org/rhq/enterprise/server/plugins/drift/JPADriftServerPluginComponent.java
+++ b/modules/enterprise/server/plugins/drift-rhq/src/main/java/org/rhq/enterprise/server/plugins/drift/JPADriftServerPluginComponent.java
@@ -132,4 +132,9 @@ public class JPADriftServerPluginComponent implements DriftServerPluginFacet, Se
public String getDriftFileBits(Subject subject, String hash) {
return getJPADriftServer().getDriftFileBits(hash);
}
+
+ @Override
+ public byte[] getDriftFileAsByteArray(Subject subject, String hash) {
+ return getJPADriftServer().getDriftFileAsByteArray(hash);
+ }
}
commit d545b1925aa9712236ee636a6f4d66e7a88d5846
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Nov 18 17:16:55 2011 -0500
Integrated new drift pinned icons into code.
- Note, kept unpinned as is (grey, left pointing) but put new active
pinned (green, downpointing) icon in place. There is a new inactive
pinned icon (similar if not same to previous greyed, downpointing), but
it's not incorporated into any views as of now.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
index 1b8b978..3d95849 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/ImageManager.java
@@ -99,7 +99,14 @@ public class ImageManager {
* Returns a generic pinned icon.
*/
public static String getPinnedIcon() {
- return "[SKIN]/headerIcons/pin_down.png";
+ return "subsystems/drift/Pinned_active.png";
+ }
+
+ /**
+ * Returns a generic pinned icon.
+ */
+ public static String getPinnedInactiveIcon() {
+ return "subsystems/drift/Pinned_inactive.png";
}
public static String getDriftIcon() {
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/drift/Pinned_active.png b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/drift/Pinned_active.png
new file mode 100644
index 0000000..3c98f46
Binary files /dev/null and b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/drift/Pinned_active.png differ
diff --git a/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/drift/Pinned_inactive.png b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/drift/Pinned_inactive.png
new file mode 100644
index 0000000..f3e3ffa
Binary files /dev/null and b/modules/enterprise/gui/coregui/src/main/webapp/images/subsystems/drift/Pinned_inactive.png differ
commit d8a00d8623e694df6bdd2926d0cfc523029d1bd5
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Fri Nov 18 17:13:36 2011 -0500
Create new Drift Compliance Report
Similar to the Inventory Summary report with two differences:
1. Constrained to types that provide drift monitoring
2. Adds compliance columns
- Restored Inventory Summary Report to its former self, removing the
compliance stuff that had been added. This makes it more focused and
faster.
- Added separate SLSB support for the new report.
- Fixed a problem in the compliance queries that generated the wrong
resource count.
- Fixed sorting issue for compliance column in report's resource view
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
index c2dbe74..dd5da1b 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
@@ -740,31 +740,31 @@ import org.rhq.core.domain.util.Summary;
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id " //
+ "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name "),
- // @NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_REPORT, query = "" //
- // + "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount( " //
- // + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), r.version) " //
- // + "FROM Resource r " //
- // + "WHERE r.inventoryStatus = 'COMMITTED' " //
- // + "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version " //
- // + "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
+ @NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_REPORT, query = "" //
+ + "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount( " //
+ + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), r.version) " //
+ + "FROM Resource r " //
+ + "WHERE r.inventoryStatus = 'COMMITTED' " //
+ + "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version " //
+ + "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
@NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE, query = ""
+ "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount("
- + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), "
+ + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(distinct r), "
+ "r.version, size(templates), 0) "
- + "FROM Resource r JOIN r.resourceType type LEFT JOIN type.driftDefinitionTemplates templates "
- + "WHERE r.inventoryStatus = 'COMMITTED' AND 0 = (" + " SELECT COUNT(defs) "
- + " FROM r.driftDefinitions defs " + " WHERE NOT defs.complianceStatus = 0) "
+ + "FROM Resource r JOIN r.resourceType type JOIN type.driftDefinitionTemplates templates "
+ + "WHERE r.inventoryStatus = 'COMMITTED' AND " //
+ + " 0 = ( SELECT COUNT(defs) FROM r.driftDefinitions defs WHERE NOT defs.complianceStatus = 0) "
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version "
+ "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
@NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_OUT_OF_COMPLIANCE, query = ""
+ "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount("
- + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), "
+ + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(distinct r), "
+ "r.version, size(templates), 1) "
- + "FROM Resource r JOIN r.resourceType type LEFT JOIN type.driftDefinitionTemplates templates "
- + "WHERE r.inventoryStatus = 'COMMITTED' AND 0 < (" + " SELECT COUNT(defs) "
- + " FROM r.driftDefinitions defs " + " WHERE defs.complianceStatus <> 0) "
+ + "FROM Resource r JOIN r.resourceType type JOIN type.driftDefinitionTemplates templates "
+ + "WHERE r.inventoryStatus = 'COMMITTED' AND " //
+ + " 0 < ( SELECT COUNT(defs) FROM r.driftDefinitions defs WHERE defs.complianceStatus <> 0) "
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version "
+ "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version ") })
@SequenceGenerator(name = "RHQ_RESOURCE_SEQ", sequenceName = "RHQ_RESOURCE_ID_SEQ")
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java
index 030dcc6..877686f 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java
@@ -41,6 +41,15 @@ public class ResourceInstallCount implements Serializable {
public ResourceInstallCount() {
}
+ public ResourceInstallCount(String typeName, String typePlugin, ResourceCategory category, int typeId, long count) {
+ this(typeName, typePlugin, category, typeId, count, null, -1, -1);
+ }
+
+ public ResourceInstallCount(String typeName, String typePlugin, ResourceCategory category, int typeId, long count,
+ String version) {
+ this(typeName, typePlugin, category, typeId, count, version, -1, -1);
+ }
+
public ResourceInstallCount(String typeName, String typePlugin, ResourceCategory category, int typeId, long count,
String version, int numDriftTemplates, int inCompliance) {
this.count = count;
@@ -53,16 +62,6 @@ public class ResourceInstallCount implements Serializable {
this.inCompliance = inCompliance == 0;
}
-
- public ResourceInstallCount(String typeName, String typePlugin, ResourceCategory category, int typeId, long count) {
- this.count = count;
- this.typeName = typeName;
- this.typePlugin = typePlugin;
- this.category = category;
- this.typeId = typeId;
- }
-
-
public long getCount() {
return count;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
index f44cf8e..5842483 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
@@ -71,6 +71,10 @@ public interface ResourceGWTService extends RemoteService {
PageList<ProblemResourceComposite> findProblemResources(long ctime, int maxItems) throws RuntimeException;
+ List<ResourceInstallCount> findResourceComplianceCounts() throws RuntimeException;
+
+ List<ResourceInstallCount> findResourceInstallCounts(boolean groupByVersions) throws RuntimeException;
+
Resource getPlatformForResource(int resourceId) throws RuntimeException;
Map<Resource, List<Resource>> getQueuedPlatformsAndServers(HashSet<InventoryStatus> statuses, PageControl pc)
@@ -94,5 +98,4 @@ public interface ResourceGWTService extends RemoteService {
List<Integer> uninventoryResources(int[] resourceIds) throws RuntimeException;
- List<ResourceInstallCount> findResourceInstallCounts(boolean groupByVersions) throws RuntimeException;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReport.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReport.java
new file mode 100644
index 0000000..51e9282
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReport.java
@@ -0,0 +1,301 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2011 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2, as
+ * published by the Free Software Foundation, and/or the GNU Lesser
+ * General Public License, version 2.1, also as published by the Free
+ * Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License and the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the GNU Lesser General Public License along with this program;
+ * if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.rhq.enterprise.gui.coregui.client.report;
+
+import java.util.HashMap;
+import java.util.List;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.data.Criteria;
+import com.smartgwt.client.data.DSRequest;
+import com.smartgwt.client.data.DSResponse;
+import com.smartgwt.client.data.Record;
+import com.smartgwt.client.types.ListGridFieldType;
+import com.smartgwt.client.widgets.events.DoubleClickEvent;
+import com.smartgwt.client.widgets.events.DoubleClickHandler;
+import com.smartgwt.client.widgets.grid.CellFormatter;
+import com.smartgwt.client.widgets.grid.HoverCustomizer;
+import com.smartgwt.client.widgets.grid.ListGrid;
+import com.smartgwt.client.widgets.grid.ListGridField;
+import com.smartgwt.client.widgets.grid.ListGridRecord;
+
+import org.rhq.core.domain.resource.ResourceCategory;
+import org.rhq.core.domain.resource.composite.ResourceInstallCount;
+import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.ImageManager;
+import org.rhq.enterprise.gui.coregui.client.ViewPath;
+import org.rhq.enterprise.gui.coregui.client.components.table.Table;
+import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
+import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+
+/**
+ * A tweaked version of the InventorySummary report that narrows the relevant types to those that support Drift
+ * monitoring, and shows the compliance state of each type.
+ *
+ * @author Jay Shaughnessy
+ */
+public class DriftComplianceReport extends LocatableVLayout implements BookmarkableView {
+
+ public static final ViewName VIEW_ID = new ViewName("DriftCompliance", MSG.view_reports_driftCompliance());
+
+ private ResourceSearchView resourceList;
+
+ public DriftComplianceReport(String locatorId) {
+ super(locatorId);
+
+ setHeight100();
+ setWidth100();
+ }
+
+ @Override
+ public void renderView(ViewPath viewPath) {
+ if (!viewPath.isEnd()) {
+ int resourceTypeId = Integer.parseInt(viewPath.getCurrent().getPath());
+ viewPath.next();
+ Criteria criteria;
+ if (!viewPath.isEnd()) {
+ String resourceVersion = viewPath.getCurrent().getPath();
+ criteria = createResourceSearchViewCriteria(resourceTypeId, resourceVersion);
+ } else {
+ criteria = createResourceSearchViewCriteria(resourceTypeId);
+ }
+ showResourceList(criteria);
+ } else {
+ hideResourceList();
+ }
+ }
+
+ @Override
+ protected void onInit() {
+ super.onInit();
+
+ addMember(new DriftComplianceReportTable(extendLocatorId("table")));
+ }
+
+ protected Criteria createResourceSearchViewCriteria(int resourceTypeId) {
+ Criteria criteria = new Criteria();
+ criteria.addCriteria(ResourceDataSourceField.TYPE.propertyName(), resourceTypeId);
+ return criteria;
+ }
+
+ protected Criteria createResourceSearchViewCriteria(int resourceTypeId, String resourceVersion) {
+ Criteria criteria = new Criteria();
+ criteria.addCriteria(ResourceDataSourceField.TYPE.propertyName(), resourceTypeId);
+ criteria.addCriteria("version", resourceVersion);
+ return criteria;
+ }
+
+ private void showResourceList(Criteria criteria) {
+ hideResourceList();
+ resourceList = new DriftComplianceReportResourceSearchView(extendLocatorId("resourceList"), criteria);
+ addMember(resourceList);
+ markForRedraw();
+ }
+
+ private void hideResourceList() {
+ if (resourceList != null) {
+ removeMember(resourceList);
+ resourceList.destroy();
+ resourceList = null;
+ }
+ markForRedraw();
+ }
+
+ class DriftComplianceReportTable extends Table<DriftComplianceReportTable.DataSource> {
+
+ public DriftComplianceReportTable(String locatorId) {
+ super(locatorId, VIEW_ID.getTitle());
+ setDataSource(new DataSource());
+ }
+
+ @Override
+ protected void configureTable() {
+ ListGridField fieldTypeName = new ListGridField(DataSource.Field.TYPENAME, MSG.common_title_resource_type());
+ ListGridField fieldPlugin = new ListGridField(DataSource.Field.TYPEPLUGIN, MSG.common_title_plugin());
+ ListGridField fieldCategory = new ListGridField(DataSource.Field.CATEGORY, MSG.common_title_category());
+ ListGridField fieldVersion = new ListGridField(DataSource.Field.VERSION, MSG.common_title_version());
+ ListGridField fieldCount = new ListGridField(DataSource.Field.COUNT, MSG.common_title_count());
+
+ ListGridField fieldInCompliance = new ListGridField(DataSource.Field.IN_COMPLIANCE, MSG
+ .common_title_in_compliance());
+ HashMap<String, String> complianceIcons = new HashMap<String, String>();
+ complianceIcons.put("true", ImageManager.getAvailabilityIcon(true));
+ complianceIcons.put("false", ImageManager.getAvailabilityIcon(false));
+ fieldInCompliance.setValueIcons(complianceIcons);
+ fieldInCompliance.setType(ListGridFieldType.ICON);
+ fieldInCompliance.setCanSortClientOnly(true);
+
+ fieldTypeName.setWidth("35%");
+ fieldPlugin.setWidth("10%");
+ fieldCategory.setWidth(70);
+ fieldVersion.setWidth("*");
+ fieldCount.setWidth(60);
+ fieldInCompliance.setWidth(100);
+
+ // TODO (ips, 11/11/11): The groupBy functionality is very buggy in SmartGWT 2.4. Once they fix it
+ // uncomment these lines to allow grouping by the plugin or category fields.
+ /*getListGrid().setCanGroupBy(true);
+ fieldTypeName.setCanGroupBy(false);
+ fieldVersion.setCanGroupBy(false);
+ fieldCount.setCanGroupBy(false);
+ fieldInCompliance.setCanGroupBy(false);*/
+
+ fieldTypeName.setCellFormatter(new CellFormatter() {
+ @Override
+ public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
+ String url = getResourceTypeTableUrl(record);
+ if (url == null) {
+ return value.toString();
+ }
+
+ return "<a href=\"" + url + "\">" + value.toString() + "</a>";
+ }
+ });
+
+ fieldCategory.setType(ListGridFieldType.ICON);
+ fieldCategory.setShowValueIconOnly(true);
+ HashMap<String, String> categoryIcons = new HashMap<String, String>(3);
+ categoryIcons
+ .put(ResourceCategory.PLATFORM.name(), ImageManager.getResourceIcon(ResourceCategory.PLATFORM));
+ categoryIcons.put(ResourceCategory.SERVER.name(), ImageManager.getResourceIcon(ResourceCategory.SERVER));
+ categoryIcons.put(ResourceCategory.SERVICE.name(), ImageManager.getResourceIcon(ResourceCategory.SERVICE));
+ fieldCategory.setValueIcons(categoryIcons);
+ fieldCategory.setShowHover(true);
+ fieldCategory.setHoverCustomizer(new HoverCustomizer() {
+ @Override
+ public String hoverHTML(Object value, ListGridRecord record, int rowNum, int colNum) {
+ String cat = record.getAttribute(DataSource.Field.CATEGORY);
+ if (ResourceCategory.PLATFORM.name().equals(cat)) {
+ return MSG.common_title_platform();
+ } else if (ResourceCategory.SERVER.name().equals(cat)) {
+ return MSG.common_title_server();
+ } else if (ResourceCategory.SERVICE.name().equals(cat)) {
+ return MSG.common_title_service();
+ }
+ return "";
+ }
+ });
+
+ setListGridDoubleClickHandler(new DoubleClickHandler() {
+ @Override
+ public void onDoubleClick(DoubleClickEvent event) {
+ ListGrid lg = (ListGrid) event.getSource();
+ ListGridRecord selected = lg.getSelectedRecord();
+ String url = getResourceTypeTableUrl(selected);
+ if (url != null) {
+ CoreGUI.goToView(url);
+ }
+ }
+ });
+
+ setListGridFields(fieldTypeName, fieldPlugin, fieldCategory, fieldVersion, fieldCount, fieldInCompliance);
+ }
+
+ private String getResourceTypeTableUrl(ListGridRecord selected) {
+ String url = null;
+ if (selected != null) {
+ int resourceTypeId = selected.getAttributeAsInt(DataSource.Field.TYPEID);
+ String version = selected.getAttribute(DataSource.Field.VERSION);
+ if (version == null) {
+ url = "#Reports/Inventory/DriftCompliance/" + resourceTypeId;
+ } else {
+ url = "#Reports/Inventory/DriftCompliance/" + resourceTypeId + "/" + version;
+ }
+ }
+ return url;
+ }
+
+ class DataSource extends RPCDataSource<ResourceInstallCount, org.rhq.core.domain.criteria.Criteria> {
+
+ public class Field {
+ public static final String COUNT = "count"; // long that we convert to int
+ public static final String TYPENAME = "typeName"; // String
+ public static final String TYPEPLUGIN = "typePlugin"; // String
+ public static final String CATEGORY = "category"; // ResourceCategory
+ public static final String TYPEID = "typeId"; // int
+ public static final String VERSION = "version"; // String
+ public static final String OBJECT = "object";
+ public static final String IN_COMPLIANCE = "inCompliance";
+ }
+
+ @Override
+ public ResourceInstallCount copyValues(Record from) {
+ return (ResourceInstallCount) from.getAttributeAsObject(DataSource.Field.OBJECT);
+ }
+
+ @Override
+ public ListGridRecord copyValues(ResourceInstallCount from) {
+ ListGridRecord record = new ListGridRecord();
+
+ record.setAttribute(Field.COUNT, Long.valueOf(from.getCount()).intValue()); // we'll never have over Integer.MAX_VALUE, overflow not a worry
+ record.setAttribute(Field.TYPENAME, from.getTypeName());
+ record.setAttribute(Field.TYPEPLUGIN, from.getTypePlugin());
+ record.setAttribute(Field.CATEGORY, from.getCategory().name());
+ record.setAttribute(Field.TYPEID, from.getTypeId());
+ record.setAttribute(Field.VERSION, from.getVersion());
+ record.setAttribute(Field.OBJECT, from);
+
+ if (from.getNumDriftTemplates() > 0) {
+ record.setAttribute(Field.IN_COMPLIANCE, Boolean.toString(from.isInCompliance()));
+ }
+
+ return record;
+ }
+
+ @Override
+ protected org.rhq.core.domain.criteria.Criteria getFetchCriteria(DSRequest request) {
+ // we don't use criterias for this datasource, just return null
+ return null;
+ }
+
+ @Override
+ protected void executeFetch(final DSRequest request, final DSResponse response,
+ final org.rhq.core.domain.criteria.Criteria unused) {
+ ResourceGWTServiceAsync resourceService = GWTServiceLookup.getResourceService();
+
+ resourceService.findResourceComplianceCounts(new AsyncCallback<List<ResourceInstallCount>>() {
+
+ @Override
+ public void onSuccess(List<ResourceInstallCount> result) {
+ response.setData(buildRecords(result));
+ response.setTotalRows(result.size());
+ processResponse(request.getRequestId(), response);
+ }
+
+ @Override
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(MSG.view_reports_inventorySummary_failFetch(), caught);
+ response.setStatus(DSResponse.STATUS_FAILURE);
+ processResponse(request.getRequestId(), response);
+ }
+ });
+ }
+ }
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
new file mode 100644
index 0000000..e076aae
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
@@ -0,0 +1,191 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2011 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2, as
+ * published by the Free Software Foundation, and/or the GNU Lesser
+ * General Public License, version 2.1, also as published by the Free
+ * Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License and the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the GNU Lesser General Public License along with this program;
+ * if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.rhq.enterprise.gui.coregui.client.report;
+
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
+
+import java.util.EnumSet;
+import java.util.List;
+
+import com.smartgwt.client.data.Criteria;
+import com.smartgwt.client.data.DSRequest;
+import com.smartgwt.client.data.DSResponse;
+import com.smartgwt.client.widgets.events.DoubleClickEvent;
+import com.smartgwt.client.widgets.events.DoubleClickHandler;
+import com.smartgwt.client.widgets.grid.CellFormatter;
+import com.smartgwt.client.widgets.grid.ListGrid;
+import com.smartgwt.client.widgets.grid.ListGridField;
+import com.smartgwt.client.widgets.grid.ListGridRecord;
+
+import org.rhq.core.domain.criteria.ResourceCriteria;
+import org.rhq.core.domain.drift.DriftComplianceStatus;
+import org.rhq.core.domain.drift.DriftDefinition;
+import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.domain.util.PageControl;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.ImageManager;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.table.IconField;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.ResourceDetailView;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
+import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
+import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
+
+/**
+ * Extends the ResourceSearchView with drift compliance information.
+ *
+ * @author Jay Shaughnessy
+ * @author John Sanda
+ */
+public class DriftComplianceReportResourceSearchView extends ResourceSearchView {
+
+ private final int resourceTypeId;
+
+ public DriftComplianceReportResourceSearchView(String locatorId, Criteria criteria) {
+ super(locatorId, criteria);
+
+ setInitialCriteriaFixed(true);
+
+ this.resourceTypeId = criteria.getAttributeAsInt(ResourceDataSourceField.TYPE.propertyName());
+ };
+
+ // suppress unchecked warnings because the superclass has different generic types for the datasource
+ @SuppressWarnings("unchecked")
+ @Override
+ protected RPCDataSource getDataSourceInstance() {
+ return new DataSource();
+ }
+
+ @Override
+ protected List<ListGridField> createFields() {
+
+ List<ListGridField> fields = super.createFields();
+
+ // replace the cell formatter on the name field to go directly to drift tab
+ ListGridField nameField = null;
+ for (ListGridField field : fields) {
+ if (NAME.propertyName().equals(field.getName())) {
+ nameField = field;
+ break;
+ }
+ }
+ nameField.setCellFormatter(new CellFormatter() {
+ public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
+ String url = LinkManager.getResourceTabLink(record.getAttributeAsInt("id"),
+ ResourceDetailView.Tab.DRIFT, null);
+ String name = StringUtility.escapeHtml(value.toString());
+ return SeleniumUtility.getLocatableHref(url, name, null);
+ }
+ });
+
+ IconField inComplianceField = new IconField(DataSource.ATTR_IN_COMPLIANCE, MSG.common_title_in_compliance(), 95);
+ inComplianceField.setCanSortClientOnly(true);
+ fields.add(inComplianceField);
+
+ return fields;
+ }
+
+ @Override
+ protected void configureTable() {
+ super.configureTable();
+
+ // replace the doubleClickHandler to go directly to drift tab
+ setListGridDoubleClickHandler(new DoubleClickHandler() {
+ public void onDoubleClick(DoubleClickEvent event) {
+ ListGrid listGrid = (ListGrid) event.getSource();
+ ListGridRecord[] selectedRows = listGrid.getSelection();
+ if (selectedRows != null && selectedRows.length == 1) {
+ String selectedId = selectedRows[0].getAttribute("id");
+ CoreGUI.goToView(LinkManager.getResourceTabLink(Integer.valueOf(selectedId),
+ ResourceDetailView.Tab.DRIFT, null));
+ }
+ }
+ });
+
+ }
+
+ private class DataSource extends ResourceDatasource {
+
+ private static final String ATTR_IN_COMPLIANCE = "inCompliance";
+
+ private ResourceType resourceType;
+
+ @Override
+ public void executeFetch(final DSRequest request, final DSResponse response, final ResourceCriteria criteria) {
+
+ if (null == resourceType) {
+
+ ResourceTypeRepository.Cache.getInstance().getResourceTypes(resourceTypeId,
+ EnumSet.of(ResourceTypeRepository.MetadataType.driftDefinitionTemplates),
+ new ResourceTypeRepository.TypeLoadedCallback() {
+
+ public void onTypesLoaded(ResourceType type) {
+ resourceType = type;
+ DataSource.super.executeFetch(request, response, criteria);
+ }
+ });
+
+ } else {
+ super.executeFetch(request, response, criteria);
+ }
+ }
+
+ @Override
+ protected ResourceCriteria getFetchCriteria(DSRequest request) {
+ ResourceCriteria criteria = super.getFetchCriteria(request);
+ criteria.fetchDriftDefinitions(true);
+
+ // filter out unsortable fields (i.e. fields sorted client-side only)
+ PageControl pageControl = getPageControl(request);
+ pageControl.removeOrderingField(ATTR_IN_COMPLIANCE);
+ criteria.setPageControl(pageControl);
+
+ return criteria;
+ }
+
+ @Override
+ public ListGridRecord copyValues(Resource from) {
+ ListGridRecord record = super.copyValues(from);
+
+ if (!resourceType.getDriftDefinitionTemplates().isEmpty()) {
+ record.setAttribute(ATTR_IN_COMPLIANCE, ImageManager.getAvailabilityIcon(!isOutOfCompliance(from)));
+ }
+ return record;
+ }
+
+ private boolean isOutOfCompliance(Resource resource) {
+ for (DriftDefinition def : resource.getDriftDefinitions()) {
+ if (def.getComplianceStatus() != DriftComplianceStatus.IN_COMPLIANCE) {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
index 06da7a5..73c88ec 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
@@ -112,20 +112,20 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
});
- NavigationItem recentConfigurationChangesItem = new NavigationItem(ResourceConfigurationHistoryListView.VIEW_ID,
- "subsystems/configure/Configure_16.png", new ViewFactory() {
+ NavigationItem recentConfigurationChangesItem = new NavigationItem(
+ ResourceConfigurationHistoryListView.VIEW_ID, "subsystems/configure/Configure_16.png", new ViewFactory() {
public Canvas createView() {
- return new ResourceConfigurationHistoryListView(extendLocatorId(ResourceConfigurationHistoryListView.VIEW_ID.getName()),
- getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
+ return new ResourceConfigurationHistoryListView(
+ extendLocatorId(ResourceConfigurationHistoryListView.VIEW_ID.getName()), getGlobalPermissions()
+ .contains(Permission.MANAGE_INVENTORY));
}
});
NavigationItem recentOperationsItem = new NavigationItem(OperationHistoryView.SUBSYSTEM_VIEW_ID,
"subsystems/control/Operation_16.png", new ViewFactory() {
public Canvas createView() {
- return new SubsystemOperationHistoryListView(
- extendLocatorId(OperationHistoryView.SUBSYSTEM_VIEW_ID.getName()), getGlobalPermissions()
- .contains(Permission.MANAGE_INVENTORY));
+ return new SubsystemOperationHistoryListView(extendLocatorId(OperationHistoryView.SUBSYSTEM_VIEW_ID
+ .getName()), getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
}
});
@@ -138,8 +138,8 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
});
- NavigationItem alertDefinitionsItem = new NavigationItem(new ViewName("AlertDefinitions",
- MSG.view_reports_alertDefinitions()), "subsystems/alert/Alerts_16.png", new ViewFactory() {
+ NavigationItem alertDefinitionsItem = new NavigationItem(new ViewName("AlertDefinitions", MSG
+ .view_reports_alertDefinitions()), "subsystems/alert/Alerts_16.png", new ViewFactory() {
public Canvas createView() {
return new AlertDefinitionReportView(extendLocatorId(AlertDefinitionReportView.VIEW_ID.getName()));
}
@@ -174,14 +174,22 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
}, getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
- NavigationItem platformSystemInfoItem = new NavigationItem(PlatformSummaryPortlet.VIEW_ID,
- ImageManager.getResourceIcon(ResourceCategory.PLATFORM), new ViewFactory() {
- public Canvas createView() {
- return new PlatformSummaryPortlet(extendLocatorId(PlatformSummaryPortlet.VIEW_ID.getName()));
- }
- });
+ NavigationItem platformSystemInfoItem = new NavigationItem(PlatformSummaryPortlet.VIEW_ID, ImageManager
+ .getResourceIcon(ResourceCategory.PLATFORM), new ViewFactory() {
+ public Canvas createView() {
+ return new PlatformSummaryPortlet(extendLocatorId(PlatformSummaryPortlet.VIEW_ID.getName()));
+ }
+ });
+
+ NavigationItem driftComplianceItem = new NavigationItem(DriftComplianceReport.VIEW_ID, ImageManager
+ .getDriftIcon(), new ViewFactory() {
+ public Canvas createView() {
+ return new DriftComplianceReport(extendLocatorId(DriftComplianceReport.VIEW_ID.getName()));
+ }
+ }, getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
- return new NavigationSection(SECTION_INVENTORY_VIEW_ID, inventorySummaryItem, platformSystemInfoItem);
+ return new NavigationSection(SECTION_INVENTORY_VIEW_ID, inventorySummaryItem, platformSystemInfoItem,
+ driftComplianceItem);
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
index 818ab5a..72b5b6b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
@@ -112,7 +112,7 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
private void showResourceList(Criteria criteria) {
hideResourceList();
- resourceList = new ResourceInstallReportResourceSearchView(extendLocatorId("resourceList"), criteria);
+ resourceList = new ResourceSearchView(extendLocatorId("resourceList"), criteria);
addMember(resourceList);
markForRedraw();
}
@@ -141,28 +141,18 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
ListGridField fieldVersion = new ListGridField(DataSource.Field.VERSION, MSG.common_title_version());
ListGridField fieldCount = new ListGridField(DataSource.Field.COUNT, MSG.common_title_count());
- ListGridField fieldInCompliance = new ListGridField(DataSource.Field.IN_COMPLIANCE, MSG
- .common_title_in_compliance());
- HashMap<String, String> complianceIcons = new HashMap<String, String>();
- complianceIcons.put("true", ImageManager.getAvailabilityIcon(true));
- complianceIcons.put("false", ImageManager.getAvailabilityIcon(false));
- fieldInCompliance.setValueIcons(complianceIcons);
- fieldInCompliance.setType(ListGridFieldType.ICON);
-
fieldTypeName.setWidth("35%");
fieldPlugin.setWidth("10%");
fieldCategory.setWidth(70);
fieldVersion.setWidth("*");
fieldCount.setWidth(60);
- fieldInCompliance.setWidth(100);
// TODO (ips, 11/11/11): The groupBy functionality is very buggy in SmartGWT 2.4. Once they fix it
// uncomment these lines to allow grouping by the plugin or category fields.
/*getListGrid().setCanGroupBy(true);
fieldTypeName.setCanGroupBy(false);
fieldVersion.setCanGroupBy(false);
- fieldCount.setCanGroupBy(false);
- fieldInCompliance.setCanGroupBy(false);*/
+ fieldCount.setCanGroupBy(false); */
fieldTypeName.setCellFormatter(new CellFormatter() {
@Override
@@ -212,7 +202,7 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
}
});
- setListGridFields(fieldTypeName, fieldPlugin, fieldCategory, fieldVersion, fieldCount, fieldInCompliance);
+ setListGridFields(fieldTypeName, fieldPlugin, fieldCategory, fieldVersion, fieldCount);
}
private String getResourceTypeTableUrl(ListGridRecord selected) {
@@ -239,7 +229,6 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
public static final String TYPEID = "typeId"; // int
public static final String VERSION = "version"; // String
public static final String OBJECT = "object";
- public static final String IN_COMPLIANCE = "inCompliance";
}
@Override
@@ -259,10 +248,6 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
record.setAttribute(Field.VERSION, from.getVersion());
record.setAttribute(Field.OBJECT, from);
- if (from.getNumDriftTemplates() > 0) {
- record.setAttribute(Field.IN_COMPLIANCE, Boolean.toString(from.isInCompliance()));
- }
-
return record;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReportResourceSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReportResourceSearchView.java
deleted file mode 100644
index 59c7ed2..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReportResourceSearchView.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2011 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation, and/or the GNU Lesser
- * General Public License, version 2.1, also as published by the Free
- * Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License and the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License
- * and the GNU Lesser General Public License along with this program;
- * if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.rhq.enterprise.gui.coregui.client.report;
-
-import java.util.EnumSet;
-import java.util.List;
-
-import com.smartgwt.client.data.Criteria;
-import com.smartgwt.client.data.DSRequest;
-import com.smartgwt.client.data.DSResponse;
-import com.smartgwt.client.widgets.grid.ListGridField;
-import com.smartgwt.client.widgets.grid.ListGridRecord;
-
-import org.rhq.core.domain.criteria.ResourceCriteria;
-import org.rhq.core.domain.drift.DriftComplianceStatus;
-import org.rhq.core.domain.drift.DriftDefinition;
-import org.rhq.core.domain.resource.Resource;
-import org.rhq.core.domain.resource.ResourceType;
-import org.rhq.enterprise.gui.coregui.client.ImageManager;
-import org.rhq.enterprise.gui.coregui.client.components.table.IconField;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
-import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-
-/**
- * @author Jay Shaughnessy
- * @author John Sanda
- */
-public class ResourceInstallReportResourceSearchView extends ResourceSearchView {
-
- private final int resourceTypeId;
-
- public ResourceInstallReportResourceSearchView(String locatorId, Criteria criteria) {
- super(locatorId, criteria);
-
- setInitialCriteriaFixed(true);
-
- this.resourceTypeId = criteria.getAttributeAsInt(ResourceDataSourceField.TYPE.propertyName());
- };
-
- // suppress unchecked warnings because the superclass has different generic types for the datasource
- @SuppressWarnings("unchecked")
- @Override
- protected RPCDataSource getDataSourceInstance() {
- return new DataSource();
- }
-
- @Override
- protected List<ListGridField> createFields() {
-
- List<ListGridField> fields = super.createFields();
-
- IconField inComplianceField = new IconField(DataSource.ATTR_IN_COMPLIANCE, MSG.common_title_in_compliance(), 95);
- fields.add(inComplianceField);
-
- return fields;
- }
-
- private class DataSource extends ResourceDatasource {
-
- private static final String ATTR_IN_COMPLIANCE = "inCompliance";
-
- private ResourceType resourceType;
-
- @Override
- public void executeFetch(final DSRequest request, final DSResponse response, final ResourceCriteria criteria) {
-
- if (null == resourceType) {
-
- ResourceTypeRepository.Cache.getInstance().getResourceTypes(resourceTypeId,
- EnumSet.of(ResourceTypeRepository.MetadataType.driftDefinitionTemplates),
- new ResourceTypeRepository.TypeLoadedCallback() {
-
- public void onTypesLoaded(ResourceType type) {
- resourceType = type;
- DataSource.super.executeFetch(request, response, criteria);
- }
- });
-
- } else {
- super.executeFetch(request, response, criteria);
- }
- }
-
- @Override
- protected ResourceCriteria getFetchCriteria(DSRequest request) {
- ResourceCriteria criteria = super.getFetchCriteria(request);
- criteria.fetchDriftDefinitions(true);
- return criteria;
- }
-
- @Override
- public ListGridRecord copyValues(Resource from) {
- ListGridRecord record = super.copyValues(from);
-
- if (!resourceType.getDriftDefinitionTemplates().isEmpty()) {
- record.setAttribute(ATTR_IN_COMPLIANCE, ImageManager.getAvailabilityIcon(!isOutOfCompliance(from)));
- }
- return record;
- }
-
- private boolean isOutOfCompliance(Resource resource) {
- for (DriftDefinition def : resource.getDriftDefinitions()) {
- if (def.getComplianceStatus() != DriftComplianceStatus.IN_COMPLIANCE) {
- return true;
- }
- }
- return false;
- }
- }
-
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
index 89e217e..d124879 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
@@ -151,6 +151,25 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
}
}
+ public List<ResourceInstallCount> findResourceComplianceCounts() throws RuntimeException {
+ try {
+ List<ResourceInstallCount> result = resourceManager.findResourceComplianceCounts(getSessionSubject());
+ return SerialUtility.prepare(result, "ResourceService.findResourceComplianceCounts");
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
+ }
+ }
+
+ public List<ResourceInstallCount> findResourceInstallCounts(boolean groupByVersions) throws RuntimeException {
+ try {
+ List<ResourceInstallCount> result = resourceManager.findResourceInstallCounts(getSessionSubject(),
+ groupByVersions);
+ return SerialUtility.prepare(result, "ResourceService.findResourceInstallCounts");
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
+ }
+ }
+
/** Locate ProblemResourcesComposites and generate the disambiguation reports for them.
* Criteria passed in not currently used.
*/
@@ -367,14 +386,4 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
throw getExceptionToThrowToClient(t);
}
}
-
- public List<ResourceInstallCount> findResourceInstallCounts(boolean groupByVersions) throws RuntimeException {
- try {
- List<ResourceInstallCount> result = resourceManager.findResourceInstallCounts(getSessionSubject(),
- groupByVersions);
- return SerialUtility.prepare(result, "ResourceService.findResourceInstallCounts");
- } catch (Throwable t) {
- throw getExceptionToThrowToClient(t);
- }
- }
}
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index ad245ed..5a5f154 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -625,8 +625,8 @@ view_admin_systemSettings_TraitPurge_desc = How old measurement trait data must
view_admin_systemSettings_TraitPurge_name = Delete Measurement Traits Older Than
view_admin_systemSettings_cannotLoadServerDetails = Cannot load server details
view_admin_systemSettings_cannotLoadSettings = Cannot obtain the current system settings
-view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
+view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
view_admin_systemSettings_fixBeforeSaving = Please fix the invalid values before saving
view_admin_systemSettings_group_baseline = Automatic Baseline Configuration Properties
view_admin_systemSettings_group_dataMgr = Data Manager Configuration Properties
@@ -1674,6 +1674,7 @@ view_reportsTop_title = Reports
view_reports_alertDefinitions = Alert Definitions
view_reports_alertDefinitions_parentHover = Click to go to the parent alert definition
view_reports_alertDefinitions_resTypeLoadError = Cannot get the template resource type - unable to view the alert template.
+view_reports_driftCompliance = Drift Compliance
view_reports_inventorySummary_failFetch = Failed to get inventory summary
view_reports_platforms = Platform Utilization
view_reports_subsystems = Subsystems
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index d0f4a19..c5d56d5 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -24,7 +24,7 @@ common_button_create_child = Kind-Ressource erzeugen
common_button_delete = Löschen
common_button_delete_all = Alle Löschen
common_button_disable = Deaktivieren
-## common_button_dump_sysInfo_to_log = System information ins Logfile schreiben
+##common_button_dump_sysInfo_to_log = System information ins Logfile schreiben
common_button_edit = Bearbeiten
common_button_enable = Aktivieren
common_button_execute = Ausführen
@@ -527,10 +527,10 @@ view_admin_systemSettings_AlertPurge_name = Lösche Alarme, die älter sind als
view_admin_systemSettings_AvailabilityPurge_name = Lösche Verfügbarkeitsdaten, die älter sind als
##view_admin_systemSettings_DriftFilePurge_desc = How old unused and orphaned drift files must be before being purged from backend storage. This is specified in days.
view_admin_systemSettings_DriftFilePurge_name = Lösche ungenutzte Drift-Dateine, die älter sind als
-view_admin_systemSettings_dumpedToLog = System informationen wurden erfolgreich in die Server-Log-Datei geschrieben
-view_admin_systemSettings_dumpToLogFailed = Schreiben der Systeminformation in die Server-Log-Datei ist fehlgeschlagen
view_admin_systemSettings_LDAPBindPW_name = Passwort
view_admin_systemSettings_TraitPurge_name = Lösche Trait-Daten, die älter sind als
+view_admin_systemSettings_dumpToLogFailed = Schreiben der Systeminformation in die Server-Log-Datei ist fehlgeschlagen
+view_admin_systemSettings_dumpedToLog = System informationen wurden erfolgreich in die Server-Log-Datei geschrieben
##view_admin_systemSettings_group_drift = Drift Server Configuration Settings
view_admin_systemSettings_saveFailure = Das Speichern der Systemeinstellungen ist fehlgeschlagen
view_admin_systemSettings_savedSettings = Sie haben die Systemeinstellungen erfolgreich gespeichert
@@ -1041,7 +1041,7 @@ view_dashboards_title = Dashboard
##view_drift_category_fileRemoved = File Removed
##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
-view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
+##view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
@@ -1455,6 +1455,10 @@ view_remoteAgentInstall_stopAgent = Agent anhalten
view_reportsTop_description = Dieser Abschnitt bietet Zugang zu applikationsweiten Berichten
view_reportsTop_title = Berichte
view_reports_alertDefinitions = Alarmierungskriterien
+##view_reports_alertDefinitions_parentHover = Click to go to the parent alert definition
+##view_reports_alertDefinitions_resTypeLoadError = Cannot get the template resource type - unable to view the alert template.
+##view_reports_driftCompliance = Drift Compliance
+##view_reports_inventorySummary_failFetch = Failed to get inventory summary
view_reports_platforms = Cpu- und Speicherauslastung
view_reports_subsystems = Subsysteme
##view_resourceResourceGroupList_error_fetchFailure = Failed to fetch Resource''s groups.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index 26cf259..d673c42 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -24,7 +24,7 @@ common_button_create_child = 子を作成
common_button_delete = 削除
common_button_delete_all = すべてを削除
common_button_disable = 無効
-## common_button_dump_sysInfo_to_log = Dump system info to log file
+##common_button_dump_sysInfo_to_log = Dump system info to log file
common_button_edit = 編集
common_button_enable = 有効
##common_button_execute = Execute
@@ -624,8 +624,8 @@ view_admin_systemSettings_TraitPurge_desc = データベースから除去され
view_admin_systemSettings_TraitPurge_name = 次より古い測定トレイトの削除
view_admin_systemSettings_cannotLoadServerDetails = サーバー詳細をロードできません
view_admin_systemSettings_cannotLoadSettings = 現在のシステム設定を取得できません
-## view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
-## view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
+##view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
+##view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
view_admin_systemSettings_fixBeforeSaving = 保存前に無効な値を修正してください
view_admin_systemSettings_group_baseline = 自動ベースライン構成プロパティ
view_admin_systemSettings_group_dataMgr = データマネージャー構成プロパティ
@@ -1183,7 +1183,7 @@ view_dashboards_title = ダッシュボード
##view_drift_category_fileRemoved = File Removed
##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
-view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
+##view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
@@ -1662,6 +1662,7 @@ view_reportsTop_title = レポート
view_reports_alertDefinitions = アラート定義
view_reports_alertDefinitions_parentHover = クリックすると親のアラート定義へ行きます
view_reports_alertDefinitions_resTypeLoadError = テンプレートリソースタイプを取得できません - アラートテンプレートの閲覧ができません
+##view_reports_driftCompliance = Drift Compliance
view_reports_inventorySummary_failFetch = インベントリサマリーの取得に失敗しました
view_reports_platforms = プラットフォーム利用率
view_reports_subsystems = サブシステム
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
index 0a79c3d..56e46b1 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
@@ -22,7 +22,7 @@ common_button_create_child = Criar filho
common_button_delete = Excluir
common_button_delete_all = Excluir Todos
common_button_disable = Desabilitar
-## common_button_dump_sysInfo_to_log = Dump system info to log file
+##common_button_dump_sysInfo_to_log = Dump system info to log file
common_button_edit = Editar
common_button_enable = Habilitar
##common_button_execute = Execute
@@ -593,8 +593,6 @@ view_admin_systemSettings_BaselineDataSet_name = Baseline Dataset
view_admin_systemSettings_BaselineFrequency_desc = The frequency which the auto-calculation of baselines will be performed. If 0, baseline auto-calculation is disabled. This is specified in days.
view_admin_systemSettings_BaselineFrequency_name = Baseline Calculation Frequency
view_admin_systemSettings_DataMaintenance_desc = How often database maintenance is performed (for example, vacuuming if using Postgres). This is specified in hours.
-## view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
-## view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
view_admin_systemSettings_DataMaintenance_name = Database Maintenance Period
view_admin_systemSettings_DataReindex_desc = If enabled, certain database tables will be re-indexed periodically.
view_admin_systemSettings_DataReindex_name = Reindex Data Tables Nightly
@@ -634,6 +632,8 @@ view_admin_systemSettings_TraitPurge_desc = How old measurement trait data must
view_admin_systemSettings_TraitPurge_name = Delete Measurement Traits Older Than
view_admin_systemSettings_cannotLoadServerDetails = Cannot load server details
view_admin_systemSettings_cannotLoadSettings = Cannot obtain the current system settings
+##view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
+##view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
view_admin_systemSettings_fixBeforeSaving = Please fix the invalid values before saving
view_admin_systemSettings_group_baseline = Automatic Baseline Configuration Properties
view_admin_systemSettings_group_dataMgr = Data Manager Configuration Properties
@@ -1212,7 +1212,7 @@ view_drift_category_fileChanged = Arquivo alterado
##view_drift_category_fileRemoved = Arquivo removido
##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
-view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
+##view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
view_drift_failure_detectNow = Falha ao submeter a requisi��o de detec��o do drift
@@ -1778,9 +1778,10 @@ view_remoteAgentInstall_updateStatus = Status da Atualiza\u00E7\u00E3o
view_reportsTop_description = This section provides access to global reports.
view_reportsTop_title = Relat\u00F3rios
view_reports_alertDefinitions = Defini\u00E7\u00E3o de Alertas
-view_reports_alertDefinitions_parentHover = Click to go to the parent alert definition
-view_reports_alertDefinitions_resTypeLoadError = Cannot get the template resource type - unable to view the alert template.
-view_reports_inventorySummary_failFetch = Failed to get inventory summary
+##view_reports_alertDefinitions_parentHover = Click to go to the parent alert definition
+##view_reports_alertDefinitions_resTypeLoadError = Cannot get the template resource type - unable to view the alert template.
+##view_reports_driftCompliance = Drift Compliance
+##view_reports_inventorySummary_failFetch = Failed to get inventory summary
view_reports_platforms = Utiliza\u00E7\u00E3o de Mem\u00F3ria e CPU
view_reports_subsystems = Subsistemas
view_resourceResourceGroupList_error_fetchFailure = Failed to fetch Resource''s groups.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
index 9937a45..670769e 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
@@ -22,7 +22,7 @@ common_button_create_child = Create Child
common_button_delete = \u5220\u9664
common_button_delete_all = \u5220\u9664\u6240\u6709
common_button_disable = \u7981\u7528
-## common_button_dump_sysInfo_to_log = Dump system info to log file
+##common_button_dump_sysInfo_to_log = Dump system info to log file
common_button_edit = \u7f16\u8f91
common_button_enable = \u542f\u7528
##common_button_execute = Execute
@@ -622,8 +622,8 @@ view_admin_systemSettings_TraitPurge_desc = How old measurement trait data must
view_admin_systemSettings_TraitPurge_name = Delete Measurement Traits Older Than
view_admin_systemSettings_cannotLoadServerDetails = \u65e0\u6cd5\u52a0\u8f7d\u670d\u52a1\u5668\u8be6\u60c5
view_admin_systemSettings_cannotLoadSettings = \u65e0\u6cd5\u83b7\u5f97\u5f53\u524d\u7cfb\u7edf\u914d\u7f6e
-## view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
-## view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
+##view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
+##view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
view_admin_systemSettings_fixBeforeSaving = \u4fdd\u5b58\u524d\u8bf7\u4fee\u590d\u9519\u8bef
view_admin_systemSettings_group_baseline = \u81ea\u52a8Baseline\u914d\u7f6e\u5c5e\u6027
view_admin_systemSettings_group_dataMgr = \u6570\u636e\u7ba1\u7406\u5668\u57fa\u672c\u5c5e\u6027
@@ -1192,7 +1192,7 @@ view_dashboards_title = \u7edf\u8ba1\u8868\u76d8
##view_drift_category_fileRemoved = File Removed
##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
-view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
+##view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
@@ -1672,6 +1672,7 @@ view_reportsTop_title = \u62a5\u8868
view_reports_alertDefinitions = \u544a\u8b66\u5b9a\u4e49
view_reports_alertDefinitions_parentHover = \u70b9\u51fb\u5230\u7236\u7ea7\u544a\u8b66\u83dc\u5355
view_reports_alertDefinitions_resTypeLoadError = \u65e0\u6cd5\u83b7\u53d6\u8d44\u6e90\u6a21\u677f\u7c7b\u578b - \u65e0\u6cd5\u67e5\u770b\u544a\u8b66\u6a21\u677f.
+##view_reports_driftCompliance = Drift Compliance
view_reports_inventorySummary_failFetch = \u83b7\u53d6\u7edf\u8ba1\u6e05\u5355\u5931\u8d25
view_reports_platforms = \u5e73\u53f0\u4f7f\u7528\u7387\u62a5\u8868
view_reports_subsystems = \u5b50\u7cfb\u7edf\u62a5\u8868
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
index c2ac7db..f2d05c5 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
@@ -2047,8 +2047,8 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
ResourceError error = entityManager.find(ResourceError.class, resourceErrorId);
if (error != null) {
- if (!authorizationManager.hasResourcePermission(user, Permission.MODIFY_RESOURCE,
- error.getResource().getId())) {
+ if (!authorizationManager.hasResourcePermission(user, Permission.MODIFY_RESOURCE, error.getResource()
+ .getId())) {
throw new PermissionException("Cannot delete Resource error [" + resourceErrorId + "]. User [" + user
+ "] does not have permission to modify Resource [" + error.getResource().getName() + "].");
}
@@ -2373,20 +2373,25 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
@SuppressWarnings("unchecked")
@RequiredPermission(Permission.MANAGE_INVENTORY)
public List<ResourceInstallCount> findResourceInstallCounts(Subject subject, boolean groupByVersions) {
+ String queryName = groupByVersions ? Resource.QUERY_RESOURCE_VERSION_REPORT : Resource.QUERY_RESOURCE_REPORT;
+ Query query = entityManager.createNamedQuery(queryName);
+ List<ResourceInstallCount> results = query.getResultList();
+
+ return results;
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ @RequiredPermission(Permission.MANAGE_INVENTORY)
+ public List<ResourceInstallCount> findResourceComplianceCounts(Subject subject) {
Query query = null;
List<ResourceInstallCount> results = null;
- if (!groupByVersions) {
- query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_REPORT);
- results = query.getResultList();
- } else {
- //query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_REPORT);
- query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE);
- results = query.getResultList();
+ query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE);
+ results = query.getResultList();
- query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_OUT_OF_COMPLIANCE);
- results.addAll(query.getResultList());
- }
+ query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_OUT_OF_COMPLIANCE);
+ results.addAll(query.getResultList());
return results;
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
index 1d1ec69..7f71cbe 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
@@ -484,6 +484,8 @@ public interface ResourceManagerLocal {
*/
List<Integer> uninventoryResources(Subject subject, int[] resourceIds);
+ List<ResourceInstallCount> findResourceComplianceCounts(Subject subject);
+
List<ResourceInstallCount> findResourceInstallCounts(Subject subject, boolean groupByVersions);
PageList<ResourceComposite> findResourceCompositesByCriteria(Subject subject, ResourceCriteria criteria);
commit c995682f3467f88dd2d41d4b031b2dbd5be980c1
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Fri Nov 18 16:45:32 2011 -0500
[BZ 726689] upgrade Javassist from 3.8.0.GA to 3.9.0.GA to prevent intermittent NPEs on JSF-based pages
(https://bugzilla.redhat.com/show_bug.cgi?id=726689)
diff --git a/modules/enterprise/binding/pom.xml b/modules/enterprise/binding/pom.xml
index 6f2287b..0a9dd46 100644
--- a/modules/enterprise/binding/pom.xml
+++ b/modules/enterprise/binding/pom.xml
@@ -192,9 +192,10 @@
</dependency>
<dependency>
- <groupId>jboss</groupId>
+ <groupId>javassist</groupId>
<artifactId>javassist</artifactId>
</dependency>
+
</dependencies>
<build>
diff --git a/modules/enterprise/gui/portal-war/pom.xml b/modules/enterprise/gui/portal-war/pom.xml
index ffc2b42..8ea3d46 100644
--- a/modules/enterprise/gui/portal-war/pom.xml
+++ b/modules/enterprise/gui/portal-war/pom.xml
@@ -389,7 +389,7 @@
<!-- ============ Testing ========================-->
<dependency>
- <groupId>jboss</groupId>
+ <groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<scope>test</scope>
</dependency>
diff --git a/modules/enterprise/remoting/cli/src/main/scripts/rhq-client.build.xml b/modules/enterprise/remoting/cli/src/main/scripts/rhq-client.build.xml
index 803afe6..b7dfe30 100644
--- a/modules/enterprise/remoting/cli/src/main/scripts/rhq-client.build.xml
+++ b/modules/enterprise/remoting/cli/src/main/scripts/rhq-client.build.xml
@@ -59,7 +59,7 @@
<copy file="${settings.localRepository}/org/rhq/rhq-enterprise-comm/${project.version}/rhq-enterprise-comm-${project.version}.jar" tofile="${lib.home}/rhq-enterprise-comm-${project.version}.jar" verbose="true" />
<copy file="${settings.localRepository}/jboss/jboss-common/${jboss-common.version}/jboss-common-${jboss-common.version}.jar" tofile="${lib.home}/jboss-common-${jboss-common.version}.jar" verbose="true" />
<copy file="${settings.localRepository}/jboss/jboss-remoting/${jboss-remoting.version}/jboss-remoting-${jboss-remoting.version}.jar" tofile="${lib.home}/jboss-remoting-${jboss-remoting.version}.jar" verbose="true" />
- <copy file="${settings.localRepository}/jboss/javassist/${jboss-javassist.version}/javassist-${jboss-javassist.version}.jar" tofile="${lib.home}/javassist-${jboss-javassist.version}.jar" verbose="true" />
+ <copy file="${settings.localRepository}/javassist/javassist/${jboss-javassist.version}/javassist-${jboss-javassist.version}.jar" tofile="${lib.home}/javassist-${jboss-javassist.version}.jar" verbose="true" />
<copy file="${settings.localRepository}/oswego-concurrent/concurrent/${concurrent.version}/concurrent-${concurrent.version}.jar" tofile="${lib.home}/concurrent-${concurrent.version}.jar" verbose="true" />
<!-- TODO: This can probaby go away after we stop using EJB classes as Exceptions in the RemoteAPI -->
<copy file="${settings.localRepository}/javax/persistence/persistence-api/${persistence-api.version}/persistence-api-${persistence-api.version}.jar" tofile="${lib.home}/persistence-api-${persistence-api.version}.jar" verbose="true" />
diff --git a/modules/enterprise/remoting/client-api/pom.xml b/modules/enterprise/remoting/client-api/pom.xml
index 3051557..257a9dd 100644
--- a/modules/enterprise/remoting/client-api/pom.xml
+++ b/modules/enterprise/remoting/client-api/pom.xml
@@ -84,7 +84,7 @@
</dependency>
<dependency>
- <groupId>jboss</groupId>
+ <groupId>javassist</groupId>
<artifactId>javassist</artifactId>
</dependency>
diff --git a/modules/enterprise/server/container/pom.xml b/modules/enterprise/server/container/pom.xml
index 428e1cb..f48f998 100644
--- a/modules/enterprise/server/container/pom.xml
+++ b/modules/enterprise/server/container/pom.xml
@@ -121,6 +121,12 @@
<artifactId>resteasy-jettison-provider</artifactId>
</dependency>
+ <dependency>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ <!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
+ </dependency>
+
</dependencies>
<build>
@@ -181,6 +187,7 @@
<property name="ojdbc5.version" value="${ojdbc5.version}" />
<property name="postgresql.version" value="${postgresql.version}" />
<property name="h2.version" value="${h2.version}" />
+ <property name="jboss-javassist.version" value="${jboss-javassist.version}" />
<property name="jtds.version" value="${jtds.version}" />
<property name="jsf-api.version" value="${jsf-api.version}" />
<property name="jsf-impl.version" value="${jsf-impl.version}" />
diff --git a/modules/enterprise/server/container/src/main/scripts/rhq-container.build.xml b/modules/enterprise/server/container/src/main/scripts/rhq-container.build.xml
index d5f3e51..9dbae53 100644
--- a/modules/enterprise/server/container/src/main/scripts/rhq-container.build.xml
+++ b/modules/enterprise/server/container/src/main/scripts/rhq-container.build.xml
@@ -301,12 +301,18 @@
<copy file="${settings.localRepository}/javax/faces/jsf-impl/${jsf-impl.version}/jsf-impl-${jsf-impl.version}.jar"
tofile="${jsf-libs.dir}/jsf-impl.jar" verbose="true" />
- <echo>Upgrading quartz.jar to v${quartz.version} ...</echo>
+ <echo>Upgrading Quartz to v${quartz.version} ...</echo>
<copy file="${settings.localRepository}/org/opensymphony/quartz/quartz/${quartz.version}/quartz-${quartz.version}.jar"
tofile="${jboss.home}/server/default/lib/quartz.jar" overwrite="true" verbose="true" />
<copy file="${settings.localRepository}/org/opensymphony/quartz/quartz-oracle/${quartz.version}/quartz-oracle-${quartz.version}.jar"
tofile="${jboss.home}/server/default/lib/quartz-oracle.jar" overwrite="true" verbose="true" />
+ <echo>Upgrading Javassist from v3.8.0.GA to v${jboss-javassist.version} ...</echo>
+ <copy file="${settings.localRepository}/javassist/javassist/${jboss-javassist.version}/javassist-${jboss-javassist.version}.jar"
+ tofile="${jboss.home}/server/default/lib/javassist.jar" overwrite="true" verbose="true" />
+ <copy file="${settings.localRepository}/javassist/javassist/${jboss-javassist.version}/javassist-${jboss-javassist.version}.jar"
+ tofile="${jboss.home}/client/javassist.jar" overwrite="true" verbose="true" />
+
<echo>Preparing JMS backend ...</echo>
<mkdir dir="${jboss.deploy.dir}/jms" />
<copy todir="${jboss.deploy.dir}/${jms.oracle.dir}">
diff --git a/modules/enterprise/server/ear/pom.xml b/modules/enterprise/server/ear/pom.xml
index 5a7136e..258a946e 100644
--- a/modules/enterprise/server/ear/pom.xml
+++ b/modules/enterprise/server/ear/pom.xml
@@ -89,6 +89,10 @@
<groupId>org.rhq</groupId>
<artifactId>rhq-core-domain</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>javassist</groupId>
+ <artifactId>javassist</artifactId>
+ </exclusion>
</exclusions>
</dependency>
diff --git a/modules/enterprise/server/jar/pom.xml b/modules/enterprise/server/jar/pom.xml
index 07aebae..db286a1 100644
--- a/modules/enterprise/server/jar/pom.xml
+++ b/modules/enterprise/server/jar/pom.xml
@@ -154,7 +154,7 @@
</dependency>
<dependency>
- <groupId>jboss</groupId>
+ <groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
<scope>test</scope>
diff --git a/pom.xml b/pom.xml
index c2d7c46..ed424a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,7 +62,7 @@
<jboss-jta.version>4.2.3.SP7</jboss-jta.version>
<jboss-remoting.version>2.2.2.SP8</jboss-remoting.version>
<jboss-serialization.version>1.0.3.GA</jboss-serialization.version>
- <jboss-javassist.version>3.8.0.GA</jboss-javassist.version>
+ <jboss-javassist.version>3.9.0.GA</jboss-javassist.version>
<jbossws-native-dist.version>3.1.1.GA</jbossws-native-dist.version>
<!-- End: JBoss AS Dependency Versions -->
@@ -242,7 +242,7 @@
</dependency>
<dependency>
- <groupId>jboss</groupId>
+ <groupId>javassist</groupId>
<artifactId>javassist</artifactId>
<version>${jboss-javassist.version}</version>
</dependency>
commit dbff94512871fd298f9e9b6cc1a4059bc56d56bf
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Fri Nov 18 11:49:46 2011 -0600
Make the output a little bit nicer by adding a function execution marker.
diff --git a/rhq_bash.lib b/rhq_bash.lib
index 8f9b3dd..8b1a300 100644
--- a/rhq_bash.lib
+++ b/rhq_bash.lib
@@ -236,3 +236,18 @@ unset_script_debug_mode()
set +x
}
+
+#========================================================================================
+# Description: Print function information (name and parameters).
+#========================================================================================
+print_function_information()
+{
+ function_name=$1
+ shift
+
+ function_parameters=$(printf ", %s " "$@")
+ function_parameters=${function_parameters:1}
+
+ echo "+ $function_name ($function_parameters)"
+}
+
commit be095e3cd9e7d24e25566b26b70dbe7c2fb3563f
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Fri Nov 18 11:45:42 2011 -0500
add a boolean isCleanDeployment param to deployBundle()
diff --git a/modules/enterprise/remoting/cli/src/main/samples/bundles.js b/modules/enterprise/remoting/cli/src/main/samples/bundles.js
index 4402ad8..a8d7168 100644
--- a/modules/enterprise/remoting/cli/src/main/samples/bundles.js
+++ b/modules/enterprise/remoting/cli/src/main/samples/bundles.js
@@ -1,18 +1,16 @@
/**
* file: bundles.js
*
- * description: this file contains a couple of example functions for more convenient
- * work with the bundle subsystem.
+ * description: this file contains a few helper functions to make working
+ * with the bundle subsystem more convenient.
* This script has a dependency on util.js. To load this script's functions into your
- * CLI session execute the following from the CLI shell,
+ * CLI session, execute the following commands from the CLI shell:
*
* $ login <username> <password>
* $ exec -f samples/util.js
* $ exec -f samples/bundles.js
*
- * Note that you must login before you can load the scripts. Also please note
- * that if a function is not documented, then it is not intended for public
- * use. It is used only as an internal helper function.
+ * Note that you must login before you can load the scripts.
*
* author: lkrejci(a)redhat.com
*/
@@ -109,14 +107,16 @@ function createBundleDestination(destinationName, description, bundleName, group
* @param bundleVersion the bundle version to deploy (or id thereof)
* @param deploymentConfiguration the deployment configuration. This can be an ordinary
* javascript object (hash) or an instance of RHQ's Configuration. If it is the former,
- * it is converted to the Configuration instance using the <code>asConfiguration</code>
+ * it is converted to a Configuration instance using the <code>asConfiguration</code>
* function from <code>util.js</code>. Please consult the documentation of that method
* to understand the limitations of that approach.
* @param description the deployment description
+ * @param isCleanDeployment if true, perform a wipe of the deploy directory prior to the deployment; if false,
+ * perform as an upgrade to the existing deployment, if any
*
* @return the BundleDeployment instance describing the deployment
*/
-function deployBundle(destination, bundleVersion, deploymentConfiguration, description) {
+function deployBundle(destination, bundleVersion, deploymentConfiguration, description, isCleanDeployment) {
var destinationId = destination;
if (typeof(destination) == 'object') {
destinationId = destination.id;
@@ -134,7 +134,7 @@ function deployBundle(destination, bundleVersion, deploymentConfiguration, descr
var deployment = BundleManager.createBundleDeployment(bundleVersionId, destinationId, description, deploymentConfig);
- deployment = BundleManager.scheduleBundleDeployment(deployment.id, false);
+ deployment = BundleManager.scheduleBundleDeployment(deployment.id, isCleanDeployment);
var crit = new BundleDeploymentCriteria;
crit.addFilterId(deployment.id);
@@ -151,3 +151,4 @@ function deployBundle(destination, bundleVersion, deploymentConfiguration, descr
return deployment;
}
+
commit 2615187f91740c4484503c78bed49277f154b7e8
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Nov 18 07:43:36 2011 -0500
add tag removal parameters for enterprise runs.
diff --git a/release.sh b/release.sh
index 86977e4..5878ef9 100755
--- a/release.sh
+++ b/release.sh
@@ -285,7 +285,7 @@ set_local_and_environment_variables()
if [ "$RELEASE_TYPE" = "enterprise" ];
then
- MAVEN_ARGS="$MAVEN_ARGS -Dexclude-webdav "
+ MAVEN_ARGS="$MAVEN_ARGS -Dexclude-webdav -Pdisable-tags -DTagManager=false -Dfiltered.location=target/filtered-sources/java"
fi
if [ -n "$DEBUG_MODE" ]; then
commit 6dac40e6a8caf01a9ad7d06fde5a511eac545569
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Fri Nov 18 16:08:13 2011 +0100
[BZ 754968] - making quoted arguments work with CLI on *nix.
Windows startup script surprisingly seems to support this ok.
diff --git a/modules/enterprise/remoting/cli/src/etc/rhq-cli.sh b/modules/enterprise/remoting/cli/src/etc/rhq-cli.sh
index 2a6ad50..9791e37 100644
--- a/modules/enterprise/remoting/cli/src/etc/rhq-cli.sh
+++ b/modules/enterprise/remoting/cli/src/etc/rhq-cli.sh
@@ -160,14 +160,6 @@ fi
debug_msg "RHQ_CLI_ADDITIONAL_JAVA_OPTS: $RHQ_CLI_ADDITIONAL_JAVA_OPTS"
# ----------------------------------------------------------------------
-# Prepare the command line arguments passed to the RHQ Agent
-# ----------------------------------------------------------------------
-if [ "x$RHQ_CLI_CMDLINE_OPTS" = "x" ]; then
- RHQ_CLI_CMDLINE_OPTS=$*
-fi
-debug_msg "RHQ_CLI_CMDLINE_OPTS: $RHQ_CLI_CMDLINE_OPTS"
-
-# ----------------------------------------------------------------------
# Execute the VM which starts the CLI
# ----------------------------------------------------------------------
@@ -191,8 +183,19 @@ if [ "x$_CYGWIN" != "x" ]; then
fi
# Build the command line that starts the VM
+# We're using an if on existence of externally passed RHQ_CLI_CMDLINE_OPTS
+# variable rather than assigning RHQ_CLI_CMDLINE_OPTS to "$@" if nothing passed
+# because doing that would expand the quoted variables at the assignment time.
+# If we then passed that variable to the actual command, the quoted arguments
+# would be already expanded and we'd therefore loose the ability to pass in
+# quoted args.
debug_msg "Executing the CLI with this command line:"
-debug_msg "${RHQ_CLI_JAVA_EXE_FILE_PATH} ${_JAVA_ENDORSED_DIRS_OPT} ${_JAVA_LIBRARY_PATH_OPT} ${RHQ_CLI_JAVA_OPTS} ${RHQ_CLI_ADDITIONAL_JAVA_OPTS} ${_LOG_CONFIG} -cp ${CLASSPATH} org.rhq.enterprise.client.ClientMain ${RHQ_CLI_CMDLINE_OPTS}"
-"${RHQ_CLI_JAVA_EXE_FILE_PATH}" ${_JAVA_ENDORSED_DIRS_OPT} ${_JAVA_LIBRARY_PATH_OPT} ${RHQ_CLI_JAVA_OPTS} ${RHQ_CLI_ADDITIONAL_JAVA_OPTS} ${_LOG_CONFIG} -cp "${CLASSPATH}" org.rhq.enterprise.client.ClientMain ${RHQ_CLI_CMDLINE_OPTS}
+if [ "x$RHQ_CLI_CMDLINE_OPTS" = "x" ]; then
+ debug_msg "${RHQ_CLI_JAVA_EXE_FILE_PATH} ${_JAVA_ENDORSED_DIRS_OPT} ${_JAVA_LIBRARY_PATH_OPT} ${RHQ_CLI_JAVA_OPTS} ${RHQ_CLI_ADDITIONAL_JAVA_OPTS} ${_LOG_CONFIG} -cp ${CLASSPATH} org.rhq.enterprise.client.ClientMain $@"
+ "${RHQ_CLI_JAVA_EXE_FILE_PATH}" ${_JAVA_ENDORSED_DIRS_OPT} ${_JAVA_LIBRARY_PATH_OPT} ${RHQ_CLI_JAVA_OPTS} ${RHQ_CLI_ADDITIONAL_JAVA_OPTS} ${_LOG_CONFIG} -cp "${CLASSPATH}" org.rhq.enterprise.client.ClientMain "$@"
+else
+ debug_msg "${RHQ_CLI_JAVA_EXE_FILE_PATH} ${_JAVA_ENDORSED_DIRS_OPT} ${_JAVA_LIBRARY_PATH_OPT} ${RHQ_CLI_JAVA_OPTS} ${RHQ_CLI_ADDITIONAL_JAVA_OPTS} ${_LOG_CONFIG} -cp ${CLASSPATH} org.rhq.enterprise.client.ClientMain ${RHQ_CLI_CMDLINE_OPTS}"
+ "${RHQ_CLI_JAVA_EXE_FILE_PATH}" ${_JAVA_ENDORSED_DIRS_OPT} ${_JAVA_LIBRARY_PATH_OPT} ${RHQ_CLI_JAVA_OPTS} ${RHQ_CLI_ADDITIONAL_JAVA_OPTS} ${_LOG_CONFIG} -cp "${CLASSPATH}" org.rhq.enterprise.client.ClientMain ${RHQ_CLI_CMDLINE_OPTS}
+fi
debug_msg "$0 done."
commit 9b16d29c69f8b15b28c16d508221f8bf892a61f2
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Fri Nov 18 09:35:55 2011 -0500
minor - fix a bunch of typos
diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
index 7d9024b..e815315 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
@@ -586,8 +586,8 @@ public class InventoryManager extends AgentService implements ContainerService,
// because the above uses the Callable interface (on purpose), the avail executor will not
// hand the report off to the Inventory Manager for sending to the server. Because this report
// will not be sent to the server, we need to be careful because our ResourceContainers will
- // still have their avaialabilities updated. This may mean a change in availability detected
- // in the above scan will not make its way to the server. To avoid the possibliity of losing
+ // still have their availabilities updated. This may mean a change in availability detected
+ // in the above scan will not make its way to the server. To avoid the possibility of losing
// availability status changes, we need to tell the real availability executor to send a
// full report next time it runs its periodic scan. (RHQ-1997)
this.availabilityExecutor.sendFullReportNextTime();
@@ -602,7 +602,7 @@ public class InventoryManager extends AgentService implements ContainerService,
}
@NotNull
- // TODO (ips): Perhaps refactor this so that it shares code with AvailablityExecutor.checkInventory().
+ // TODO (ips): Perhaps refactor this so that it shares code with AvailabilityExecutor.checkInventory().
public Availability getCurrentAvailability(Resource resource) {
AvailabilityType availType = null; // i.e. UNKNOWN;
ResourceContainer resourceContainer = getResourceContainer(resource);
@@ -614,7 +614,7 @@ public class InventoryManager extends AgentService implements ContainerService,
// We have acquired the lock.
try {
ResourceCategory resourceCategory = resource.getResourceType().getCategory();
- // Give the call to getAvailablity() a bit more time if the Resource is a server.
+ // Give the call to getAvailability() a bit more time if the Resource is a server.
long componentTimeout = (resourceCategory == ResourceCategory.SERVER) ? 10000 : 5000;
// We already possess the lock, so tell the proxy not to do any locking of its own.
resourceComponent = resourceContainer.createResourceComponentProxy(AvailabilityFacet.class,
@@ -623,13 +623,13 @@ public class InventoryManager extends AgentService implements ContainerService,
} catch (PluginContainerException e) {
log.error("Failed to retrieve ResourceComponent for " + resource + ".", e);
} catch (RuntimeException e) {
- log.error("Call to getAvailablity() on ResourceComponent for " + resource + " failed.", e);
+ log.error("Call to getAvailability() on ResourceComponent for " + resource + " failed.", e);
availType = AvailabilityType.DOWN;
} finally {
lock.unlock();
}
} else {
- // Some other thread possesses the lock - return the last-collected availablity for the Resource if
+ // Some other thread possesses the lock - return the last-collected availability for the Resource if
// there is one.
if (resourceContainer.getAvailability() != null)
return resourceContainer.getAvailability();
@@ -733,7 +733,7 @@ public class InventoryManager extends AgentService implements ContainerService,
+ "]"
+ " failed to upgrade, which makes it impossible to support the legacy manual-add implementation. Either upgrade the plugin ["
+ resourceType.getPlugin()
- + "] to successfully upgrade all resources or consider implementing the ManuallAdd facet.";
+ + "] to successfully upgrade all resources or consider implementing the ManualAdd facet.";
log.info(message);
throw new PluginContainerException(message, e);
}
@@ -2335,7 +2335,7 @@ public class InventoryManager extends AgentService implements ContainerService,
+ discoveryComponent.getClass().getName()
+ " returned multiple resources that point to the same plugin configuration object on the "
+ "resource type [" + resourceType + "]. This is not allowed, please use "
- + "ResoureDiscoveryContext.getDefaultPluginConfiguration() "
+ + "ResourceDiscoveryContext.getDefaultPluginConfiguration() "
+ "for each discovered resource.");
}
Resource newResource = InventoryManager.createNewResource(discoveredResource);
commit 0e46628a0adc625122456717050ef17eec060f55
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Fri Nov 18 08:27:39 2011 -0600
Have a fallback method if the remote branch is already tracked in the local repo.
diff --git a/release.sh b/release.sh
index 9005c3a..86977e4 100755
--- a/release.sh
+++ b/release.sh
@@ -496,7 +496,11 @@ checkout_release_branch()
[ "$?" -ne 0 ] && abort "Failed to fetch release branch ($RELEASE_BRANCH)."
git checkout --track "origin/$RELEASE_BRANCH"
- [ "$?" -ne 0 ] && abort "Failed to checkout release branch ($RELEASE_BRANCH)."
+ if [ "$?" -ne 0 ];
+ then
+ git checkout "$RELEASE_BRANCH"
+ fi
+ [ "$?" -ne 0 ] && abort "Failed to checkout release branch ($RELEASE_BRANCH)."
git reset --hard "origin/$RELEASE_BRANCH"
[ "$?" -ne 0 ] && abort "Failed to reset release branch ($RELEASE_BRANCH)."
commit 09a1aa4d989954b0e49f4bba6f236bf78d8e1952
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Nov 18 09:17:58 2011 -0500
missed a translation file.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index 9c4e89d..26cf259 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -1914,7 +1914,7 @@ widget_resourceFactoryWizard_infoStepName = リソース情報
widget_resourceFactoryWizard_infoStep_loadFail = アーキテクチャーを利用可能にするのに失敗しました
widget_resourceFactoryWizard_namePrompt = 新規リソース名
widget_resourceFactoryWizard_templatePrompt = コネクション設定テンプレート
-widget_resourceFactoryWizard_timeoutHelp = xxxxxxx
+##widget_resourceFactoryWizard_timeoutHelp = xxxxxxx
widget_resourceFactoryWizard_uploadFailure = ファイルアップロードの失敗
widget_resourceFactoryWizard_uploadFileStepName = リソースコンテントファイルのアップロード
widget_resourceFactoryWizard_uploadInProgress = アップロードは処理中です... 大きなファイルを配布するには数分かかることもあります。
commit 7e1e02adb44c441d8be28260485a30b90cec3bcc
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Fri Nov 18 07:07:10 2011 -0500
[BZ 743986] insert branded content in mashup portlet for product releases.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
index 0566e0c..c3a83d9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
@@ -181,8 +181,8 @@ public class DashboardsView extends LocatableVLayout implements DashboardContain
tabSet.setWidth100();
tabSet.setHeight100();
- editButton = new LocatableIButton(extendLocatorId("Mode"), editMode ? MSG.common_title_view_mode() : MSG
- .common_title_edit_mode());
+ editButton = new LocatableIButton(extendLocatorId("Mode"), editMode ? MSG.common_title_view_mode()
+ : MSG.common_title_edit_mode());
editButton.setAutoFit(true);
editButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
@@ -192,8 +192,8 @@ public class DashboardsView extends LocatableVLayout implements DashboardContain
}
});
- final IButton newDashboardButton = new LocatableIButton(extendLocatorId("New"), MSG
- .common_title_new_dashboard());
+ final IButton newDashboardButton = new LocatableIButton(extendLocatorId("New"),
+ MSG.common_title_new_dashboard());
newDashboardButton.setAutoFit(true);
newDashboardButton.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent clickEvent) {
@@ -378,8 +378,14 @@ public class DashboardsView extends LocatableVLayout implements DashboardContain
dashboard.addPortlet(summary, columnIndex, rowIndex++);
DashboardPortlet news = new DashboardPortlet(MashupPortlet.NAME, MashupPortlet.KEY, 300);
- news.getConfiguration().put(
- new PropertySimple("address", "http://rhq-project.org/display/RHQ/RHQ+News?decorator=popup"));
+ if (isRHQ) {
+ news.getConfiguration().put(
+ new PropertySimple("address", "http://rhq-project.org/display/RHQ/RHQ+News?decorator=popup"));
+ } else {
+ news.getConfiguration().put(
+ new PropertySimple("address",
+ "https://access.redhat.com/ext/software/JBoss_Operations_Network/portlet?j..."));
+ }
dashboard.addPortlet(news, columnIndex, rowIndex++);
// Right Column
commit 1f9edfdeecd2043c99da22dd5b91d16bbaf15f9a
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Thu Nov 17 13:10:36 2011 -0500
Fixing a number of lingering productization strings.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
index ff41592..53bd86d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
@@ -105,7 +105,9 @@ public class AdministrationView extends AbstractSectionedLeftNavigationView {
TitleBar titleBar = new TitleBar(this, MSG.view_admin_administration());
vLayout.addMember(titleBar);
- Label label = new Label(MSG.view_admin_landing());
+ ProductInfo productInfo = CoreGUI.get().getProductInfo();
+
+ Label label = new Label(MSG.view_admin_landing(productInfo.getShortName()));
label.setPadding(10);
vLayout.addMember(label);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java
index 721f811..122ccb6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/DownloadsView.java
@@ -31,6 +31,7 @@ import com.smartgwt.client.widgets.form.fields.SpacerItem;
import com.smartgwt.client.widgets.form.fields.StaticTextItem;
import com.smartgwt.client.widgets.layout.SectionStackSection;
+import org.rhq.core.domain.common.ProductInfo;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.TitleBar;
import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
@@ -59,9 +60,12 @@ public class DownloadsView extends LocatableVLayout {
private SectionStackSection cliSection;
private SectionStackSection bundleSection;
private SectionStackSection connectorsSection;
+ private ProductInfo productInfo;
public DownloadsView(String locatorId) {
super(locatorId);
+ productInfo = CoreGUI.get().getProductInfo();
+
setHeight100();
setWidth100();
@@ -140,7 +144,7 @@ public class DownloadsView extends LocatableVLayout {
StaticTextItem helpItem = new StaticTextItem("agentHelp");
helpItem.setColSpan(2);
helpItem.setShowTitle(false);
- helpItem.setValue(MSG.view_admin_downloads_agent_help());
+ helpItem.setValue(MSG.view_admin_downloads_agent_help(productInfo.getShortName()));
form.setItems(versionItem, buildItem, md5Item, linkItem, spacerItem, helpItem);
@@ -191,7 +195,7 @@ public class DownloadsView extends LocatableVLayout {
StaticTextItem helpItem = new StaticTextItem("clientHelp");
helpItem.setColSpan(2);
helpItem.setShowTitle(false);
- helpItem.setValue(MSG.view_admin_downloads_cli_help());
+ helpItem.setValue(MSG.view_admin_downloads_cli_help(productInfo.getShortName()));
form.setItems(versionItem, buildItem, md5Item, linkItem, spacerItem, helpItem);
@@ -230,7 +234,7 @@ public class DownloadsView extends LocatableVLayout {
StaticTextItem helpItem = new StaticTextItem("bundleHelp");
helpItem.setColSpan(2);
helpItem.setShowTitle(false);
- helpItem.setValue(MSG.view_admin_downloads_bundle_help());
+ helpItem.setValue(MSG.view_admin_downloads_bundle_help(productInfo.getShortName()));
form.setItems(linkItem, spacerItem, helpItem);
@@ -262,7 +266,7 @@ public class DownloadsView extends LocatableVLayout {
StaticTextItem helpText = new StaticTextItem("connectorHelp");
helpText.setColSpan(2);
helpText.setShowTitle(false);
- helpText.setValue(MSG.view_admin_downloads_connectors_help());
+ helpText.setValue(MSG.view_admin_downloads_connectors_help(productInfo.getShortName()));
items[i] = helpText;
i++;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java
index 0bfd413..2ca1d73 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/roles/PermissionsEditor.java
@@ -45,6 +45,7 @@ import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.authz.Role;
+import org.rhq.core.domain.common.ProductInfo;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.Messages;
import org.rhq.enterprise.gui.coregui.client.util.message.Message;
@@ -143,6 +144,8 @@ public class PermissionsEditor extends LocatableVStack {
}
private ListGrid createGlobalPermissionsGrid() {
+ ProductInfo productInfo = CoreGUI.get().getProductInfo();
+
ListGrid grid = createPermissionsGrid("GlobalPermissions");
// TODO: Add table title.
@@ -154,8 +157,8 @@ public class PermissionsEditor extends LocatableVStack {
ListGridField descriptionField = new ListGridField("description", MSG.common_title_description());
descriptionField.setWrap(true);
- final ListGridField authorizedField = createAuthorizedField("authorized", MSG
- .view_adminRoles_permissions_isAuthorized(), "name", grid);
+ final ListGridField authorizedField = createAuthorizedField("authorized",
+ MSG.view_adminRoles_permissions_isAuthorized(), "name", grid);
grid.setFields(iconField, displayNameField, authorizedField, descriptionField);
@@ -164,21 +167,21 @@ public class PermissionsEditor extends LocatableVStack {
"global/Locked", Permission.MANAGE_SECURITY, MSG.view_adminRoles_permissions_permDesc_manageSecurity());
records.add(record);
record = createGlobalPermissionRecord(MSG.view_adminRoles_permissions_perm_manageInventory(),
- "subsystems/inventory/Inventory", Permission.MANAGE_INVENTORY, MSG
- .view_adminRoles_permissions_permDesc_manageInventory());
+ "subsystems/inventory/Inventory", Permission.MANAGE_INVENTORY,
+ MSG.view_adminRoles_permissions_permDesc_manageInventory());
records.add(record);
record = createGlobalPermissionRecord(MSG.view_adminRoles_permissions_perm_manageSettings(),
- "subsystems/configure/Configure", Permission.MANAGE_SETTINGS, MSG
- .view_adminRoles_permissions_permDesc_manageSettings());
+ "subsystems/configure/Configure", Permission.MANAGE_SETTINGS,
+ MSG.view_adminRoles_permissions_permDesc_manageSettings(productInfo.getShortName()));
records.add(record);
record = createGlobalPermissionRecord(MSG.view_adminRoles_permissions_perm_manageBundles(),
- "subsystems/bundle/Bundle", Permission.MANAGE_BUNDLE, MSG
- .view_adminRoles_permissions_permDesc_manageBundles());
+ "subsystems/bundle/Bundle", Permission.MANAGE_BUNDLE,
+ MSG.view_adminRoles_permissions_permDesc_manageBundles());
records.add(record);
record = createGlobalPermissionRecord(MSG.view_adminRoles_permissions_perm_manageRepositories(),
- "subsystems/content/Content", Permission.MANAGE_REPOSITORIES, MSG
- .view_adminRoles_permissions_permDesc_manageRepositories());
+ "subsystems/content/Content", Permission.MANAGE_REPOSITORIES,
+ MSG.view_adminRoles_permissions_permDesc_manageRepositories());
records.add(record);
grid.setData(records.toArray(new ListGridRecord[records.size()]));
@@ -207,63 +210,63 @@ public class PermissionsEditor extends LocatableVStack {
List<ListGridRecord> records = new ArrayList<ListGridRecord>();
ListGridRecord record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_inventory(),
- "subsystems/inventory/Inventory", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_inventory(), Permission.MODIFY_RESOURCE, MSG
- .view_adminRoles_permissions_permWriteDesc_inventory());
+ "subsystems/inventory/Inventory", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_inventory(), Permission.MODIFY_RESOURCE,
+ MSG.view_adminRoles_permissions_permWriteDesc_inventory());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_manageMeasurements(),
- "subsystems/monitor/Monitor", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_manageMeasurements(), Permission.MANAGE_MEASUREMENTS, MSG
- .view_adminRoles_permissions_permWriteDesc_manageMeasurements());
+ "subsystems/monitor/Monitor", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_manageMeasurements(), Permission.MANAGE_MEASUREMENTS,
+ MSG.view_adminRoles_permissions_permWriteDesc_manageMeasurements());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_manageAlerts(),
- "subsystems/alert/Alerts", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_manageAlerts(), Permission.MANAGE_ALERTS, MSG
- .view_adminRoles_permissions_permWriteDesc_manageAlerts());
+ "subsystems/alert/Alerts", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_manageAlerts(), Permission.MANAGE_ALERTS,
+ MSG.view_adminRoles_permissions_permWriteDesc_manageAlerts());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_configure(),
- "subsystems/configure/Configure", Permission.CONFIGURE_READ, MSG
- .view_adminRoles_permissions_permReadDesc_configure(), Permission.CONFIGURE_WRITE, MSG
- .view_adminRoles_permissions_permWriteDesc_configure());
+ "subsystems/configure/Configure", Permission.CONFIGURE_READ,
+ MSG.view_adminRoles_permissions_permReadDesc_configure(), Permission.CONFIGURE_WRITE,
+ MSG.view_adminRoles_permissions_permWriteDesc_configure());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_control(),
- "subsystems/control/Operation", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_control(), Permission.CONTROL, MSG
- .view_adminRoles_permissions_permWriteDesc_control());
+ "subsystems/control/Operation", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_control(), Permission.CONTROL,
+ MSG.view_adminRoles_permissions_permWriteDesc_control());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_manageEvents(),
- "subsystems/event/Events", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_manageEvents(), Permission.MANAGE_EVENTS, MSG
- .view_adminRoles_permissions_permWriteDesc_manageEvents());
+ "subsystems/event/Events", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_manageEvents(), Permission.MANAGE_EVENTS,
+ MSG.view_adminRoles_permissions_permWriteDesc_manageEvents());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_manageContent(),
- "subsystems/content/Content", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_manageContent(), Permission.MANAGE_CONTENT, MSG
- .view_adminRoles_permissions_permWriteDesc_manageContent());
+ "subsystems/content/Content", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_manageContent(), Permission.MANAGE_CONTENT,
+ MSG.view_adminRoles_permissions_permWriteDesc_manageContent());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_createChildResources(),
- "subsystems/inventory/CreateChild", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_createChildResources(), Permission.CREATE_CHILD_RESOURCES,
+ "subsystems/inventory/CreateChild", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_createChildResources(), Permission.CREATE_CHILD_RESOURCES,
MSG.view_adminRoles_permissions_permWriteDesc_createChildResources());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_deleteChildResources(),
- "subsystems/inventory/DeleteChild", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_deleteChildResources(), Permission.DELETE_RESOURCE, MSG
- .view_adminRoles_permissions_permWriteDesc_deleteChildResources());
+ "subsystems/inventory/DeleteChild", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_deleteChildResources(), Permission.DELETE_RESOURCE,
+ MSG.view_adminRoles_permissions_permWriteDesc_deleteChildResources());
records.add(record);
record = createResourcePermissionRecord(MSG.view_adminRoles_permissions_perm_manageDrift(),
- "subsystems/drift/Drift", Permission.VIEW_RESOURCE, MSG
- .view_adminRoles_permissions_permReadDesc_manageDrift(), Permission.MANAGE_DRIFT, MSG
- .view_adminRoles_permissions_permWriteDesc_manageDrift());
+ "subsystems/drift/Drift", Permission.VIEW_RESOURCE,
+ MSG.view_adminRoles_permissions_permReadDesc_manageDrift(), Permission.MANAGE_DRIFT,
+ MSG.view_adminRoles_permissions_permWriteDesc_manageDrift());
records.add(record);
grid.setData(records.toArray(new ListGridRecord[records.size()]));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/util/MessagePortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/util/MessagePortlet.java
index cfd967d..9b8e4e0 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/util/MessagePortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/util/MessagePortlet.java
@@ -27,10 +27,12 @@ import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.HTMLFlow;
import org.rhq.core.domain.common.EntityContext;
+import org.rhq.core.domain.common.ProductInfo;
import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
import org.rhq.core.domain.configuration.definition.PropertyDefinitionSimple;
import org.rhq.core.domain.configuration.definition.PropertySimpleType;
import org.rhq.core.domain.dashboard.DashboardPortlet;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.UserSessionManager;
import org.rhq.enterprise.gui.coregui.client.admin.users.UsersDataSource;
import org.rhq.enterprise.gui.coregui.client.dashboard.ConfigurablePortlet;
@@ -51,7 +53,12 @@ public class MessagePortlet extends LocatableHTMLPane implements ConfigurablePor
public static final String NAME = MSG.view_portlet_defaultName_message();
private static final String MESSAGE_PROPERTY = "message";
- private static final String DEFAULT_MESSAGE = MSG.view_dashboardsManager_message_title_details();
+ // private static final String DEFAULT_MESSAGE = MSG.view_dashboardsManager_message_title_details();
+ private static String DEFAULT_MESSAGE;
+ {
+ ProductInfo productInfo = CoreGUI.get().getProductInfo();
+ DEFAULT_MESSAGE = MSG.view_dashboardsManager_message_title_details(productInfo.getShortName());
+ }
public MessagePortlet(String locatorId) {
super(locatorId);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
index 1c12b98..e735b83 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/common/detail/operation/schedule/AbstractOperationScheduleDetailsView.java
@@ -47,6 +47,7 @@ import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.common.JobTrigger;
+import org.rhq.core.domain.common.ProductInfo;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
import org.rhq.core.domain.configuration.definition.ConfigurationTemplate;
@@ -107,8 +108,8 @@ public abstract class AbstractOperationScheduleDetailsView extends
for (OperationDefinition operationDefinition : operationDefinitions) {
this.operationIdToNameMap.put(operationDefinition.getId(), operationDefinition.getName());
this.operationNameToDescriptionMap.put(operationDefinition.getName(), operationDefinition.getDescription());
- this.operationNameToParametersDefinitionMap.put(operationDefinition.getName(), operationDefinition
- .getParametersConfigurationDefinition());
+ this.operationNameToParametersDefinitionMap.put(operationDefinition.getName(),
+ operationDefinition.getParametersConfigurationDefinition());
}
}
@@ -175,13 +176,13 @@ public abstract class AbstractOperationScheduleDetailsView extends
}
});
- this.operationDescriptionItem = new StaticTextItem(FIELD_OPERATION_DESCRIPTION, MSG
- .view_operationScheduleDetails_field_description());
+ this.operationDescriptionItem = new StaticTextItem(FIELD_OPERATION_DESCRIPTION,
+ MSG.view_operationScheduleDetails_field_description());
this.operationDescriptionItem.setShowTitle(false);
items.add(this.operationDescriptionItem);
- this.operationParametersItem = new StaticTextItem(FIELD_OPERATION_PARAMETERS, MSG
- .view_operationScheduleDetails_field_parameters());
+ this.operationParametersItem = new StaticTextItem(FIELD_OPERATION_PARAMETERS,
+ MSG.view_operationScheduleDetails_field_parameters());
this.operationParametersItem.setColSpan(2);
items.add(this.operationParametersItem);
@@ -237,20 +238,21 @@ public abstract class AbstractOperationScheduleDetailsView extends
supportedUnits.add(TimeUnit.SECONDS);
supportedUnits.add(TimeUnit.MINUTES);
supportedUnits.add(TimeUnit.HOURS);
- DurationItem timeoutItem = new DurationItem(AbstractOperationScheduleDataSource.Field.TIMEOUT, MSG
- .view_operationScheduleDetails_field_timeout(), supportedUnits, false, isReadOnly(), this.notesForm);
- timeoutItem.setContextualHelp(MSG.view_operationScheduleDetails_fieldHelp_timeout());
+ DurationItem timeoutItem = new DurationItem(AbstractOperationScheduleDataSource.Field.TIMEOUT,
+ MSG.view_operationScheduleDetails_field_timeout(), supportedUnits, false, isReadOnly(), this.notesForm);
+ ProductInfo productInfo = CoreGUI.get().getProductInfo();
+ timeoutItem.setContextualHelp(MSG.view_operationScheduleDetails_fieldHelp_timeout(productInfo.getShortName()));
notesFields.add(timeoutItem);
if (!isNewRecord()) {
StaticTextItem nextFireTimeItem = new StaticTextItem(
- AbstractOperationScheduleDataSource.Field.NEXT_FIRE_TIME, MSG
- .dataSource_operationSchedule_field_nextFireTime());
+ AbstractOperationScheduleDataSource.Field.NEXT_FIRE_TIME,
+ MSG.dataSource_operationSchedule_field_nextFireTime());
notesFields.add(nextFireTimeItem);
}
- TextAreaItem notesItem = new TextAreaItem(ResourceOperationScheduleDataSource.Field.DESCRIPTION, MSG
- .dataSource_operationSchedule_field_description());
+ TextAreaItem notesItem = new TextAreaItem(ResourceOperationScheduleDataSource.Field.DESCRIPTION,
+ MSG.dataSource_operationSchedule_field_description());
notesItem.setWidth(450);
notesItem.setHeight(60);
notesItem.setShowTitle(true);
@@ -336,8 +338,7 @@ public abstract class AbstractOperationScheduleDetailsView extends
@Override
protected void save(DSRequest requestProperties) {
if ((null != this.operationParametersConfigurationEditor && !this.operationParametersConfigurationEditor
- .isValid())
- || !this.triggerEditor.validate()) {
+ .isValid()) || !this.triggerEditor.validate()) {
{
Message message = new Message(MSG.widget_recordEditor_warn_validation(this.getDataTypeName()),
Message.Severity.Warning, EnumSet.of(Message.Option.Transient));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java
index ddd821b..932f197 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/factory/ResourceFactoryConfigurationStep.java
@@ -24,8 +24,10 @@ import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.form.DynamicForm;
+import org.rhq.core.domain.common.ProductInfo;
import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.components.form.DurationItem;
import org.rhq.enterprise.gui.coregui.client.components.form.TimeUnit;
@@ -67,10 +69,11 @@ public class ResourceFactoryConfigurationStep extends AbstractWizardStep {
TreeSet<TimeUnit> supportedUnits = new TreeSet<TimeUnit>();
supportedUnits.add(TimeUnit.SECONDS);
supportedUnits.add(TimeUnit.MINUTES);
- timeoutItem = new DurationItem(AbstractOperationScheduleDataSource.Field.TIMEOUT, MSG
- .view_operationScheduleDetails_field_timeout(), TimeUnit.MILLISECONDS, supportedUnits, false, false,
+ timeoutItem = new DurationItem(AbstractOperationScheduleDataSource.Field.TIMEOUT,
+ MSG.view_operationScheduleDetails_field_timeout(), TimeUnit.MILLISECONDS, supportedUnits, false, false,
vLayout);
- timeoutItem.setContextualHelp(MSG.widget_resourceFactoryWizard_timeoutHelp());
+ ProductInfo productInfo = CoreGUI.get().getProductInfo();
+ timeoutItem.setContextualHelp(MSG.widget_resourceFactoryWizard_timeoutHelp(productInfo.getShortName()));
DynamicForm timeoutForm = new DynamicForm();
timeoutForm.setFields(timeoutItem);
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index 306e8fb..ad245ed 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -424,7 +424,7 @@ view_adminRoles_permissions_permDesc_manageBundles = can create, update, or dele
view_adminRoles_permissions_permDesc_manageInventory = has all Resource permissions, as described below, for all Resources; can create, update, and delete groups; and can import auto-discovered or manually discovered Resources
view_adminRoles_permissions_permDesc_manageRepositories = can create, update, or delete repositories of any user (everyone can create their own repositories), can associate content sources to repositories.
view_adminRoles_permissions_permDesc_manageSecurity = can create, update, or delete users and roles (viewing is implied for everyone)
-view_adminRoles_permissions_permDesc_manageSettings = can modify the RHQ Server configuration and perform any Server-related functionality
+view_adminRoles_permissions_permDesc_manageSettings = can modify the {0} Server configuration and perform any Server-related functionality
view_adminRoles_permissions_permReadDesc_configure = view Resource configuration and Resource configuration revision history
view_adminRoles_permissions_permReadDesc_control = (IMPLIED) view available operations and operation execution history
view_adminRoles_permissions_permReadDesc_createChildResources = (IMPLIED) view child Resource creation history
@@ -495,30 +495,30 @@ view_admin_configuration = Configuration
view_admin_content = Content
view_admin_downloads_agentDownload = Agent Download
view_admin_downloads_agent_buildNumber = Agent Build
-view_admin_downloads_agent_help = <p> This is the RHQ Agent Update Binary jar file. The purpose of this jar file is to allow you to install a fresh agent on a machine where an agent does not yet exist and to allow you to update an agent that is already installed on a machine. For more details, run this agent download jar with the --help command line option:<br/> <b>java -jar <agent-download.jar> --help</b> </p> <h3>Agent Install</h3> <p> <b>java -jar <agent-download.jar> --install[=<new agent directory>]</b><br/> This command will install a new agent. If you do not specify the new agent directory, the default will be "." </p> <h3>Agent Update</h3> <p> <b>java -jar <agent-download.jar> --update[=<old agent home>]</b><br/> This will update an existing agent that was already installed. If you do not specify the directory where the old, existing agent was installed, it will assumed to be "rhq-agent". </p>
+view_admin_downloads_agent_help = <p> This is the {0} Agent Update Binary jar file. The purpose of this jar file is to allow you to install a fresh agent on a machine where an agent does not yet exist and to allow you to update an agent that is already installed on a machine. For more details, run this agent download jar with the --help command line option:<br/> <b>java -jar <agent-download.jar> --help</b> </p> <h3>Agent Install</h3> <p> <b>java -jar <agent-download.jar> --install[=<new agent directory>]</b><br/> This command will install a new agent. If you do not specify the new agent directory, the default will be "." </p> <h3>Agent Update</h3> <p> <b>java -jar <agent-download.jar> --update[=<old agent home>]</b><br/> This will update an existing agent that was already installed. If you do not specify the directory where the old, existing agent was installed, it will assumed to be "rhq-agent". </p>
view_admin_downloads_agent_link_label = Link
view_admin_downloads_agent_link_value = Download Agent {0} ({1})
view_admin_downloads_agent_loadError = Cannot get agent version info
view_admin_downloads_agent_md5 = Agent MD5
view_admin_downloads_agent_version = Agent Version
view_admin_downloads_bundleDownload = Bundle Deployer Download
-view_admin_downloads_bundle_help = <p> This is the Bundle Deployer tool. It is for use by developers and packagers of RHQ bundles. This standalone tool allows you to test your bundles and their recipes from a console. </p>
+view_admin_downloads_bundle_help = <p> This is the Bundle Deployer tool. It is for use by developers and packagers of {0} bundles. This standalone tool allows you to test your bundles and their recipes from a console. </p>
view_admin_downloads_bundle_link_label = Link
view_admin_downloads_bundle_link_value = Download Bundle Deployer {0}
view_admin_downloads_bundle_loadError = Cannot get bundle deployer info
view_admin_downloads_cliDownload = Command Line Client Download
view_admin_downloads_cli_buildNumber = CLI Build
-view_admin_downloads_cli_help = <p> This is the Command Line Client tool, otherwise known as the CLI. It is a standalone tool that runs from within a console and provides a command line interface to the RHQ Server. You can invoke commands via the CLI as well as run scripts to perform automated tasks. See the documentation for more information on how to install and use the CLI. </p>
+view_admin_downloads_cli_help = <p> This is the Command Line Client tool, otherwise known as the CLI. It is a standalone tool that runs from within a console and provides a command line interface to the {0} Server. You can invoke commands via the CLI as well as run scripts to perform automated tasks. See the documentation for more information on how to install and use the CLI. </p>
view_admin_downloads_cli_link_label = Link
view_admin_downloads_cli_link_value = Download CLI {0} ({1})
view_admin_downloads_cli_loadError = Cannot get CLI version info
view_admin_downloads_cli_md5 = CLI MD5
view_admin_downloads_cli_version = CLI Version
view_admin_downloads_connectorsDownload = Connectors Download
-view_admin_downloads_connectors_help = Connectors are software that is needed in order for some products to be manageable by RHQ. You install connectors into some managed products so RHQ agents can talk to them. See the documentation for more information.
+view_admin_downloads_connectors_help = Connectors are software that is needed in order for some products to be manageable by {0}. You install connectors into some managed products so {0} agents can talk to them. See the documentation for more information.
view_admin_downloads_connectors_loadError = Cannot get connectors info
view_admin_downloads_connectors_none = No connectors are available for download
-view_admin_landing = From this section, the RHQ global settings can be administered. This includes configuring security, setting up plugins, and managing RHQ Servers and Agents.
+view_admin_landing = From this section, the {0} global settings can be administered. This includes configuring security, setting up plugins, and managing {0} Servers and Agents.
view_admin_measTemplates_updateExisting_title = Update Existing Schedules
view_admin_measTemplates_updateExisting_tooltip = Check this box to update the collection schedules for the selected metrics on all existing resources of this type. If this is not checked, the template schedules will only be applied to new resources of this type that are added to inventory in the future.
view_admin_plugins_agent = Agent
@@ -1170,7 +1170,7 @@ view_dashboardManager_saved = Saved dashboard {0} to server
view_dashboardManager_success = Saved dashboard
view_dashboard_favorites_error1 = Failed to load favorite Resources.
view_dashboardsManager_error1 = Failed to add new dashboard
-view_dashboardsManager_message_title_details = <h1>Welcome to RHQ</h1>\n<p>The RHQ project is an abstraction and plug-in based systems management suite that provides extensible and integrated systems management for multiple products and platforms across a set of core features. The project is designed with layered modules that provide a flexible architecture for deployment. It delivers a core user interface that delivers audited and historical management across an entire enterprise. A Server/Agent architecture provides remote management and plugins implement all specific support for managed products.</p>\n <p>This default dashboard can be edited by clicking the (edit mode) button above.</p>
+view_dashboardsManager_message_title_details = <h1>Welcome to {0}</h1>\n<p>The RHQ project is an abstraction and plug-in based systems management suite that provides extensible and integrated systems management for multiple products and platforms across a set of core features. The project is designed with layered modules that provide a flexible architecture for deployment. It delivers a core user interface that delivers audited and historical management across an entire enterprise. A Server/Agent architecture provides remote management and plugins implement all specific support for managed products.</p>\n <p>This default dashboard can be edited by clicking the (edit mode) button above.</p>
view_dashboards_confirm1 = Are you sure you want to delete
view_dashboards_portlets_refresh_fail1 = Failed to update interval for portlets that auto-refresh
view_dashboards_portlets_refresh_fail2 = Failed to disable reload for portlets that auto-refresh
@@ -1552,7 +1552,7 @@ view_operationScheduleDetails_enterParametersBelow = Enter parameters below...
view_operationScheduleDetails_fieldDefault_description = Select an operation to see its description.
view_operationScheduleDetails_fieldDefault_parameters = Select an operation to see its parameters.
view_operationScheduleDetails_fieldHelp_description = an optional description of this scheduled operation (e.g. nightly maintenance app server restart)
-view_operationScheduleDetails_fieldHelp_timeout = a time duration - if specified, if the duration elapses before a scheduled operation execution has completed, the RHQ Server will timeout the operation and consider it to have failed; note, it is usually not possible to abort the underlying managed resource operation if it was already initiated
+view_operationScheduleDetails_fieldHelp_timeout = a time duration - if specified, if the duration elapses before a scheduled operation execution has completed, the {0} Server will timeout the operation and consider it to have failed; note, it is usually not possible to abort the underlying managed resource operation if it was already initiated
view_operationScheduleDetails_field_description = Description
view_operationScheduleDetails_field_parameters = Parameters
view_operationScheduleDetails_field_timeout = Timeout
@@ -1926,7 +1926,7 @@ widget_resourceFactoryWizard_infoStepName = Resource Information
widget_resourceFactoryWizard_infoStep_loadFail = Failed to get available Architectures
widget_resourceFactoryWizard_namePrompt = New Resource Name
widget_resourceFactoryWizard_templatePrompt = Connection Settings Template
-widget_resourceFactoryWizard_timeoutHelp = A timeout duration. If specified will override the default timeout for child resource creation (on the RHQ Agent). Useful for particularly long create actions, like deployment of a large application. Usually used if a previous attempt suffered a timeout failure.
+widget_resourceFactoryWizard_timeoutHelp = A timeout duration. If specified will override the default timeout for child resource creation (on the {0} Agent). Useful for particularly long create actions, like deployment of a large application. Usually used if a previous attempt suffered a timeout failure.
widget_resourceFactoryWizard_uploadFailure = Failed to upload file
widget_resourceFactoryWizard_uploadFileStepName = Upload Resource Content File
widget_resourceFactoryWizard_uploadInProgress = The upload is in progress... This can take several minutes to complete for large distribution files.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index 7f490b6..d0f4a19 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -401,7 +401,7 @@ view_adminRoles_permissions_isWrite = Schreiben?
view_adminRoles_permissions_permDesc_manageBundles = Kann Bundles anlegen, aktualisieren und löschen (Ansehen ist für alle implizit erlaubt).
view_adminRoles_permissions_permDesc_manageInventory = Hat alle Rechte auf alle Ressourcen, wie unten beschrieben. Kann Gruppen anlegen, aktualisieren und löschen. Kann Ressourcen in das Inventar aufnehmen.
view_adminRoles_permissions_permDesc_manageSecurity = Kann Benutzer und Rollen anlegen, aktualisieren oder löschen (Anschauen ist für alle implizit erlaubt)
-view_adminRoles_permissions_permDesc_manageSettings = Kann die Konfiguration des RHQ-Servers ändern und jegliche Server-bezogene Funktionalität ausführen.
+##view_adminRoles_permissions_permDesc_manageSettings = Kann die Konfiguration des RHQ-Servers ändern und jegliche Server-bezogene Funktionalität ausführen.
view_adminRoles_permissions_permReadDesc_configure = Ansehen der Ressourcen-Konfiguration und des Verlaufs derselben.
view_adminRoles_permissions_permReadDesc_control = (IMPLIZIT) Ansehen der verfügbaren Operationen und des Verlaufs der ausgeführen Operationen
view_adminRoles_permissions_permReadDesc_createChildResources = (IMPLIZIT) Ansehen des Verlaufs des Anlegens von Kind-Ressourcen
@@ -468,7 +468,7 @@ view_admin_downloads_agent_md5 = MD5 Prüfsumme des Agents
view_admin_downloads_agent_version = Version des Agents
view_admin_downloads_cli_md5 = MD5 Prüfsumme des CLI
view_admin_downloads_cli_version = Version des CLI
-view_admin_landing = In dieser Sektion können die globalen Einstellungen für RHQ verwaltet werden. Dies schließt Sicherheitseinstellungen und Plugins ein, sowie die Verwaltung der RHQ Server- und Agentplugins.
+##view_admin_landing = In dieser Sektion können die globalen Einstellungen für RHQ verwaltet werden. Dies schließt Sicherheitseinstellungen und Plugins ein, sowie die Verwaltung der RHQ Server- und Agentplugins.
##view_admin_measTemplates_updateExisting_title = Update Existing Schedules
##view_admin_measTemplates_updateExisting_tooltip = Check this box to update the collection schedules for the selected metrics on all existing resources of this type. If this is not checked, the template schedules will only be applied to new resources of this type that are added to inventory in the future.
##view_admin_plugins_agent = Agent
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index 0d5d0a0..9c4e89d 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -423,7 +423,7 @@ view_adminRoles_permissions_permDesc_manageBundles = (誰でも閲覧可能な)
view_adminRoles_permissions_permDesc_manageInventory = すべてのリソースについて、以下に示すように、すべてのリソース権限を持ちます。つまり、グループの作成、更新、削除、そして自動検出された、または手動で検出されたリソースのインポートができます
view_adminRoles_permissions_permDesc_manageRepositories = (自分自身のリポジトリを作成可能な)ユーザーのリポジトリの作成、更新、削除が可能です。
view_adminRoles_permissions_permDesc_manageSecurity = (誰でも閲覧可能な)ユーザーとロールの作成、更新、削除
-view_adminRoles_permissions_permDesc_manageSettings = RHQサーバー構成の修正と任意のサーバー関連の機能の実行ができます
+##view_adminRoles_permissions_permDesc_manageSettings = RHQサーバー構成の修正と任意のサーバー関連の機能の実行ができます
view_adminRoles_permissions_permReadDesc_configure = リソース構成とリソース構成リビジョン履歴の閲覧
view_adminRoles_permissions_permReadDesc_control = 利用可能オペレーションとオペレーション実行履歴の(暗黙的な)閲覧
view_adminRoles_permissions_permReadDesc_createChildResources = (暗黙的な)子リソースの作成履歴の閲覧
@@ -494,30 +494,30 @@ view_admin_configuration = 構成
view_admin_content = コンテント
view_admin_downloads_agentDownload = エージェントのダウンロード
view_admin_downloads_agent_buildNumber = エージェントビルド
-view_admin_downloads_agent_help = <p> これはRHQ Agentの更新バイナリJARファイルです。このJARファイルの目的はユーザーがエージェントがまだ存在しないマシン上に新しいエージェントをインストールできるようにすることと、すでにインストール済みのエージェントを更新できるようにするためです。詳細は、このエージェントダウンロードJARで次のように--helpコマンドラインオプションをつけて実行してください。<br/> <b>java -jar <agent-download.jar> --help</b> </p> <h3>エージェントのインストール</h3> <p> <b>java -jar <agent-download.jar> --install[=<新しいエージェントディレクトリ>]</b><br/> このコマンドは新しいエージェントをインストールします。もし新しいディレクトリを指定しなければ、デフォルトは"."となります。</p> <h3>エージェントの更新</h3> <p> <b>java -jar <agent-download.jar> --update[=<古いエージェントディレクトリ>]</b><br/> これはすでにインストールされた既存のエージェントを更新します。もし古い、既存のエージェントがインストールされたディレクトリを指定しなかったなら、"rhq-agent"が仮定されます。</p>
+##view_admin_downloads_agent_help = <p> これはRHQ Agentの更新バイナリJARファイルです。このJARファイルの目的はユーザーがエージェントがまだ存在しないマシン上に新しいエージェントをインストールできるようにすることと、すでにインストール済みのエージェントを更新できるようにするためです。詳細は、このエージェントダウンロードJARで次のように--helpコマンドラインオプションをつけて実行してください。<br/> <b>java -jar <agent-download.jar> --help</b> </p> <h3>エージェントのインストール</h3> <p> <b>java -jar <agent-download.jar> --install[=<新しいエージェントディレクトリ>]</b><br/> このコマンドは新しいエージェントをインストールします。もし新しいディレクトリを指定しなければ、デフォルトは"."となります。</p> <h3>エージェントの更新</h3> <p> <b>java -jar <agent-download.jar> --update[=<古いエージェントディレクトリ>]</b><br/> これはすでにインストールされた既存のエージェントを更新します。もし古い、既存のエージェントがインストールされたディレクトリを指定しなかったなら、"rhq-agent"が仮定されます。</p>
view_admin_downloads_agent_link_label = リンク
view_admin_downloads_agent_link_value = エージェント {0} ({1}) のダウンロード
view_admin_downloads_agent_loadError = エージェントバージョン情報が取得できません
view_admin_downloads_agent_md5 = エージェント MD5
view_admin_downloads_agent_version = エージェントバージョン
view_admin_downloads_bundleDownload = バンドルデプロイヤのダウンロード
-view_admin_downloads_bundle_help = <p> これはバンドルデプロイヤツールで、開発者とRHQバンドルによって使われます。このスタンドアロンツールを使うとバンドルやコンソールからのレシピをテストできるようにします。</p>
+##view_admin_downloads_bundle_help = <p> これはバンドルデプロイヤツールで、開発者とRHQバンドルによって使われます。このスタンドアロンツールを使うとバンドルやコンソールからのレシピをテストできるようにします。</p>
view_admin_downloads_bundle_link_label = リンク
view_admin_downloads_bundle_link_value = バンドルデプロイヤー {0} をダウンロード
view_admin_downloads_bundle_loadError = バンドルデプロイヤー情報が取得できません
view_admin_downloads_cliDownload = コマンドラインクライアントのダウンロード
view_admin_downloads_cli_buildNumber = CLIビルド
-view_admin_downloads_cli_help = <p> これはコマンドラインツールで、CLIとして知られているものです。コンソールから実行するスタンドアロンツールで、RHQサーバーに対してコマンドラインインタフェースを提供します。自動化されたタスクを実行するためにCLIやrunスクリプトを介してコマンドを呼び出すことが可能です。CLIのインストール方法と使い方についての詳細情報はドキュメントをご覧ください。</p>
+##view_admin_downloads_cli_help = <p> これはコマンドラインツールで、CLIとして知られているものです。コンソールから実行するスタンドアロンツールで、RHQサーバーに対してコマンドラインインタフェースを提供します。自動化されたタスクを実行するためにCLIやrunスクリプトを介してコマンドを呼び出すことが可能です。CLIのインストール方法と使い方についての詳細情報はドキュメントをご覧ください。</p>
view_admin_downloads_cli_link_label = リンク
view_admin_downloads_cli_link_value = CLI {0} ({1}) をダウンロード
view_admin_downloads_cli_loadError = CLIバージョン情報が取得できません
view_admin_downloads_cli_md5 = CLI MD5
view_admin_downloads_cli_version = CLIバージョン
view_admin_downloads_connectorsDownload = コネクタのダウンロード
-view_admin_downloads_connectors_help = コネクターは製品がRHQによって管理可能であるために必要となるソフトウェアです。RHQエージェントが通信できるように、管理製品にコネクターをインストールします。詳細はドキュメントをご覧ください。
+##view_admin_downloads_connectors_help = コネクターは製品がRHQによって管理可能であるために必要となるソフトウェアです。RHQエージェントが通信できるように、管理製品にコネクターをインストールします。詳細はドキュメントをご覧ください。
view_admin_downloads_connectors_loadError = コネクター情報を取得できません
view_admin_downloads_connectors_none = ダウンロードのためのコネクターが見つかりません
-view_admin_landing = このセクションにおいて、RHQグローバル設定が管理されます。これはセキュリティ構成、プラグイン設定、RHQサーバーとエージェントの管理を含みます。
+##view_admin_landing = このセクションにおいて、RHQグローバル設定が管理されます。これはセキュリティ構成、プラグイン設定、RHQサーバーとエージェントの管理を含みます。
view_admin_measTemplates_updateExisting_title = 既存スケジュールの更新
view_admin_measTemplates_updateExisting_tooltip = このボックスをチェックすると、このタイプのすべてのリソースを対象に選択したメトリックスの収集スケジュールを更新します。もしこれがチェックされていなければ、テンプレートスケジュールが将来的にインベントリに追加されるこのタイプの新規リソースに適用されるだけです。
##view_admin_plugins_agent = Agent
@@ -1160,7 +1160,7 @@ view_dashboardManager_saved = ダッシュボード {0} をサーバーへ保存
view_dashboardManager_success = ダッシュボードを保存しました
view_dashboard_favorites_error1 = 好みのリソースをロードするのに失敗しました
view_dashboardsManager_error1 = 新しいダッシュボードを追加するのに失敗しました
-view_dashboardsManager_message_title_details = <h1>RHQへようこそ</h1>\n<p>RHQプロジェクトは抽象化されたプラグインベースのシステム管理スイートで、複数のプロダクトやプラットフォームに対してコア機能を横断的に適用できる拡張可能で、統合化されたシステム管理を提供します。このプロジェクトはレイヤ化されたモジュールによって設計されていて、デプロイのための柔軟なアーキテクチャを提供します。それは企業全体に対する監査と履歴の管理を提供するコアとなるユーザーインタフェースを導入します。サーバー/エージェントアーキテクチャはリモートでの管理と特定プロダクトのサポートを実現するプラグインを提供します。 </p>\n <p>このデフォルトのダッシュボードは上の「編集モード」ボタンをすることで編集可能です。</p>
+##view_dashboardsManager_message_title_details = <h1>RHQへようこそ</h1>\n<p>RHQプロジェクトは抽象化されたプラグインベースのシステム管理スイートで、複数のプロダクトやプラットフォームに対してコア機能を横断的に適用できる拡張可能で、統合化されたシステム管理を提供します。このプロジェクトはレイヤ化されたモジュールによって設計されていて、デプロイのための柔軟なアーキテクチャを提供します。それは企業全体に対する監査と履歴の管理を提供するコアとなるユーザーインタフェースを導入します。サーバー/エージェントアーキテクチャはリモートでの管理と特定プロダクトのサポートを実現するプラグインを提供します。 </p>\n <p>このデフォルトのダッシュボードは上の「編集モード」ボタンをすることで編集可能です。</p>
view_dashboards_confirm1 = 削除してもよろしいですか
view_dashboards_portlets_refresh_fail1 = 自動リフレッシュするポートレットのリフレッシュ間隔の更新に失敗しました
view_dashboards_portlets_refresh_fail2 = 自動リフレッシュするポートレットのリロードの無効化に失敗しました
@@ -1541,7 +1541,7 @@ view_operationScheduleDetails_enterParametersBelow = 以下にパラメーター
view_operationScheduleDetails_fieldDefault_description = 説明を見るとためオペレーションを選択してください
view_operationScheduleDetails_fieldDefault_parameters = パラメーターを見るためオペレーションを選択してください
view_operationScheduleDetails_fieldHelp_description = このスケジュールされたオペレーションのための任意の説明 (例、夜間保守のためのアプリサーバー再起動)
-view_operationScheduleDetails_fieldHelp_timeout = 時間間隔 - もし指定されていて、その間隔がスケジュールされたオペレーション実行が完了する前に経過してしまったならば、RHQサーバーはそのオペレーションをタイムアウトにし、それを失敗させることを検討します。注意:通常はすでに開始させられた根本の管理リソースオペレーションをアボートすることは不可能です。
+##view_operationScheduleDetails_fieldHelp_timeout = 時間間隔 - もし指定されていて、その間隔がスケジュールされたオペレーション実行が完了する前に経過してしまったならば、RHQサーバーはそのオペレーションをタイムアウトにし、それを失敗させることを検討します。注意:通常はすでに開始させられた根本の管理リソースオペレーションをアボートすることは不可能です。
view_operationScheduleDetails_field_description = 説明
view_operationScheduleDetails_field_parameters = パラメータ
view_operationScheduleDetails_field_timeout = タイムアウト
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
index ada2945..0a79c3d 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
@@ -432,7 +432,7 @@ view_adminRoles_permissions_permDesc_manageBundles = can create, update, or dele
view_adminRoles_permissions_permDesc_manageInventory = possui todas as permiss\u00F5es de Recurso, como descrito abaixo, pode criar, atualizar, excluir grupos e importar Recursos descobertos automaticamente ou manualmente.
view_adminRoles_permissions_permDesc_manageRepositories = can create, update, or delete repositories of any user (everyone can create their own repositories), can associate content sources to repositories.
view_adminRoles_permissions_permDesc_manageSecurity = Pode criar, atualizar, ou excluir usu\u00E1rios e perfis (visualiza\u00E7\u00E3o \u00E9 padr\u00E3o para todos)
-view_adminRoles_permissions_permDesc_manageSettings = pode modificar a configura\u00E7\u00E3o do RHQ Server e utilizar qualquer funcionalidade relacionada ao Servidor
+##view_adminRoles_permissions_permDesc_manageSettings = pode modificar a configura\u00E7\u00E3o do RHQ Server e utilizar qualquer funcionalidade relacionada ao Servidor
view_adminRoles_permissions_permReadDesc_configure = view Resource configuration and Resource configuration revision history
view_adminRoles_permissions_permReadDesc_control = (IMPLIED) view available operations and operation execution history
view_adminRoles_permissions_permReadDesc_createChildResources = (IMPLIED) view child Resource creation history
@@ -504,28 +504,28 @@ view_admin_configuration = Configura\u00E7\u00E3o
view_admin_content = Conte\u00FAdo
view_admin_downloads_agentDownload = Agent Download
view_admin_downloads_agent_buildNumber = Agent Build
-view_admin_downloads_agent_help = <p> This is the RHQ Agent Update Binary jar file. The purpose of this jar file is to allow you to install a fresh agent on a machine where an agent does not yet exist and to allow you to update an agent that is already installed on a machine. For more details, run this agent download jar with the --help command line option:<br/> <b>java -jar <agent-download.jar> --help</b> </p> <h3>Agent Install</h3> <p> <b>java -jar <agent-download.jar> --install[ = <new agent directory>]</b><br/> This command will install a new agent. If you do not specify the new agent directory, the default will be "." </p> <h3>Agent Update</h3> <p> <b>java -jar <agent-download.jar> --update[ = <old agent home>]</b><br/> This will update an existing agent that was already installed. If you do not specify the directory where the old, existing agent was installed, it will assumed to be "rhq-agent". </p>
+##view_admin_downloads_agent_help = <p> This is the RHQ Agent Update Binary jar file. The purpose of this jar file is to allow you to install a fresh agent on a machine where an agent does not yet exist and to allow you to update an agent that is already installed on a machine. For more details, run this agent download jar with the --help command line option:<br/> <b>java -jar <agent-download.jar> --help</b> </p> <h3>Agent Install</h3> <p> <b>java -jar <agent-download.jar> --install[ = <new agent directory>]</b><br/> This command will install a new agent. If you do not specify the new agent directory, the default will be "." </p> <h3>Agent Update</h3> <p> <b>java -jar <agent-download.jar> --update[ = <old agent home>]</b><br/> This will update an existing agent that was already installed. If you do not specify the directory where the old, existing agent was installed, it will assumed to be "rhq-agent". </p>
view_admin_downloads_agent_link_label = Link
view_admin_downloads_agent_link_value = Download Agent {0} ({1})
view_admin_downloads_agent_loadError = Cannot get agent version info
view_admin_downloads_agent_md5 = Agent MD5
view_admin_downloads_agent_version = Agent Version
view_admin_downloads_bundleDownload = Bundle Deployer Download
-view_admin_downloads_bundle_help = <p> view_admin_downloads_bundle_link_label = Link
+##view_admin_downloads_bundle_help = <p> view_admin_downloads_bundle_link_label = Link
view_admin_downloads_bundle_link_value = Download Bundle Deployer {0}
view_admin_downloads_bundle_loadError = Cannot get bundle deployer info
view_admin_downloads_cliDownload = Command Line Client Download
view_admin_downloads_cli_buildNumber = CLI Build
-view_admin_downloads_cli_help = <p> view_admin_downloads_cli_link_label = Link
+##view_admin_downloads_cli_help = <p> view_admin_downloads_cli_link_label = Link
view_admin_downloads_cli_link_value = Download CLI {0} ({1})
view_admin_downloads_cli_loadError = Cannot get CLI version info
view_admin_downloads_cli_md5 = CLI MD5
view_admin_downloads_cli_version = CLI Version
view_admin_downloads_connectorsDownload = Connectors Download
-view_admin_downloads_connectors_help = Connectors are software that is needed in order for some products to be manageable by RHQ. You install connectors into some managed products so RHQ agents can talk to them. See the documentation for more information.
+##view_admin_downloads_connectors_help = Connectors are software that is needed in order for some products to be manageable by RHQ. You install connectors into some managed products so RHQ agents can talk to them. See the documentation for more information.
view_admin_downloads_connectors_loadError = Cannot get connectors info
view_admin_downloads_connectors_none = No connectors are available for download
-view_admin_landing = Nesta se\u00E7\u00E3o \u00E9 poss\u00EDvel administrar propriedades globais do RHQ. Isso inclui configura\u00E7\u00F5es de Seguran\u00E7a, Plugins, e gerenciamento de servidores RHQ e agentes.
+##view_admin_landing = Nesta se\u00E7\u00E3o \u00E9 poss\u00EDvel administrar propriedades globais do RHQ. Isso inclui configura\u00E7\u00F5es de Seguran\u00E7a, Plugins, e gerenciamento de servidores RHQ e agentes.
view_admin_measTemplates_updateExisting_title = Update Existing Schedules
view_admin_measTemplates_updateExisting_tooltip = Check this box to update the collection schedules for the selected metrics on all existing resources of this type. If this is not checked, the template schedules will only be applied to new resources of this type that are added to inventory in the future.
##view_admin_plugins_agent = Agent
@@ -1188,7 +1188,7 @@ view_dashboardsManager_error1 = Falha ao adicionar novo dashboad
view_dashboardsManager_inventory_title = Sum\u00E1rio do Invent\u00E1rio
view_dashboardsManager_mashup_title = Novidades do RHQ
view_dashboardsManager_message_title = Bem vindo ao RHQ
-view_dashboardsManager_message_title_details = <h1>Bem vindo ao RHQ</h1>\n<p> O projeto RHQ \u00E9 uma abstra\u00E7\u00E3o e uma suite de gerenciamento de sistemas baseada em plug-ins que fornece uma solu\u00E7\u00E3o extens\u00EDvel e integrada para o gerenciamento de m\u00FAltiplas plataformas atrav\u00E9s de um conjunto de funcionalidades que faz parte de seu n\u00FAcleo. O projeto foi concebido com m\u00F3dulos em camadas que fornecem uma arquitetura flexivel para sua implanta\u00E7\u00E3o. Ele possui uma interface de usu\u00E1rio que propcia o hist\u00F3rico e a auditoria do gerenciamento de recursos por toda a empresa. Sua arquitetura baseada em Agente-Servidor permite o gerenciamento remoto atrav\u00E9s de plugins que implementam todo o suporte espec\u00EDfico aos recursos gerenciados.<p> <p>Este dashboard padr\u00E3o pode ser modificado clicando o bot\u00E3o (modo edi\u00E7\u00E3o) acima.</p>
+##view_dashboardsManager_message_title_details = <h1>Bem vindo ao RHQ</h1>\n<p> O projeto RHQ \u00E9 uma abstra\u00E7\u00E3o e uma suite de gerenciamento de sistemas baseada em plug-ins que fornece uma solu\u00E7\u00E3o extens\u00EDvel e integrada para o gerenciamento de m\u00FAltiplas plataformas atrav\u00E9s de um conjunto de funcionalidades que faz parte de seu n\u00FAcleo. O projeto foi concebido com m\u00F3dulos em camadas que fornecem uma arquitetura flexivel para sua implanta\u00E7\u00E3o. Ele possui uma interface de usu\u00E1rio que propcia o hist\u00F3rico e a auditoria do gerenciamento de recursos por toda a empresa. Sua arquitetura baseada em Agente-Servidor permite o gerenciamento remoto atrav\u00E9s de plugins que implementam todo o suporte espec\u00EDfico aos recursos gerenciados.<p> <p>Este dashboard padr\u00E3o pode ser modificado clicando o bot\u00E3o (modo edi\u00E7\u00E3o) acima.</p>
view_dashboardsManager_tagcloud_title = Nuvem de Tags
view_dashboards_confirm1 = Tem certeza de que deseja excluir?
view_dashboards_portlets_refresh_fail1 = Falha ao alterar o intervalo de atualiza��o de portlets din�micos.
@@ -1617,7 +1617,7 @@ view_operationScheduleDetails_enterParametersBelow = Enter parameters below...
view_operationScheduleDetails_fieldDefault_description = Select an operation to see its description.
view_operationScheduleDetails_fieldDefault_parameters = Select an operation to see its parameters.
view_operationScheduleDetails_fieldHelp_description = an optional description of this scheduled operation (e.g. nightly maintenance app server restart)
-view_operationScheduleDetails_fieldHelp_timeout = a time duration - if specified, if the duration elapses before a scheduled operation execution has completed, the RHQ Server will timeout the operation and consider it to have failed; note, it is usually not possible to abort the underlying managed resource operation if it was already initiated
+##view_operationScheduleDetails_fieldHelp_timeout = a time duration - if specified, if the duration elapses before a scheduled operation execution has completed, the RHQ Server will timeout the operation and consider it to have failed; note, it is usually not possible to abort the underlying managed resource operation if it was already initiated
view_operationScheduleDetails_field_description = Description
view_operationScheduleDetails_field_parameters = Parameters
view_operationScheduleDetails_field_timeout = Timeout
@@ -2037,7 +2037,7 @@ widget_resourceFactoryWizard_infoStepName = Informa\u00E7\u00E3o do Recurso
widget_resourceFactoryWizard_infoStep_loadFail = Falha ao recuperar Arquiteturas dispon\u00EDveis.
widget_resourceFactoryWizard_namePrompt = Novo Nome do Recurso
widget_resourceFactoryWizard_templatePrompt = Modelo de Propriedades para Conex\u00E3o
-widget_resourceFactoryWizard_timeoutHelp = Dura��o do timeout. Se especificado ir� sobrescrever o timeout padr�o para cria��o de recursos filhos (no RHQ Agent). �til principalmente para a��es muito longas, como a implanta��o de uma apli��o muito grande. Geralmente utilizado devido a tentativas que sofreram timeout anteriormente.
+##widget_resourceFactoryWizard_timeoutHelp = Dura��o do timeout. Se especificado ir� sobrescrever o timeout padr�o para cria��o de recursos filhos (no RHQ Agent). �til principalmente para a��es muito longas, como a implanta��o de uma apli��o muito grande. Geralmente utilizado devido a tentativas que sofreram timeout anteriormente.
widget_resourceFactoryWizard_uploadFailure = Falha ao realizar o upload do arquivo
widget_resourceFactoryWizard_uploadFileStepName = Upload do Arquivo do Recurso
widget_resourceFactoryWizard_uploadInProgress = Upload em andamento... Esse processo pode demorar alguns minutos para ser finalizado em caso de arquivos muito grandes.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
index 957e076..9937a45 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
@@ -421,7 +421,7 @@ view_adminRoles_permissions_permDesc_manageBundles = \u80fd\u521b\u5efa,\u66f4\u
view_adminRoles_permissions_permDesc_manageInventory = \u62e5\u6709\u6240\u6709\u8d44\u6e90\u6743\u9650, \u5982\u4e0b\u6240\u8ff0, \u5bf9\u6240\u6709\u8d44\u6e90; \u5177\u6709\u521b\u5efa, \u66f4\u65b0, \u5220\u9664\u7ec4; \u80fd\u5bfc\u5165\u81ea\u52a8\u53d1\u73b0\u6216\u624b\u52a8\u53d1\u73b0\u7684\u8d44\u6e90
view_adminRoles_permissions_permDesc_manageRepositories = can create, update, or delete repositories of any user (everyone can create their own repositories), can associate content sources to repositories.
view_adminRoles_permissions_permDesc_manageSecurity = \u80fd\u521b\u5efa,\u66f4\u65b0,\u6216\u5220\u9664\u7528\u6237\u548c\u89d2\u8272 (\u4efb\u4f55\u4eba\u90fd\u6709\u67e5\u770b\u6743\u9650)
-view_adminRoles_permissions_permDesc_manageSettings = \u80fd\u4fee\u6539RHQ\u670d\u52a1\u5668\u914d\u7f6e\u800c\u4e14\u80fd\u64cd\u4f5c\u4efb\u4f55\u76f8\u5173\u7684\u670d\u52a1\u5668\u529f\u80fd
+##view_adminRoles_permissions_permDesc_manageSettings = \u80fd\u4fee\u6539RHQ\u670d\u52a1\u5668\u914d\u7f6e\u800c\u4e14\u80fd\u64cd\u4f5c\u4efb\u4f55\u76f8\u5173\u7684\u670d\u52a1\u5668\u529f\u80fd
view_adminRoles_permissions_permReadDesc_configure = \u67e5\u770b\u8d44\u6e90\u914d\u7f6e\u548c\u8d44\u6e90\u914d\u7f6e\u4fee\u8ba2\u5386\u53f2
view_adminRoles_permissions_permReadDesc_control = (IMPLIED) \u67e5\u770b\u53ef\u7528\u64cd\u4f5c\u548c\u64cd\u4f5c\u6267\u884c\u5386\u53f2
view_adminRoles_permissions_permReadDesc_createChildResources = (IMPLIED) \u67e5\u770b\u5b50\u8d44\u6e90\u521b\u5efa\u5386\u53f2
@@ -492,30 +492,30 @@ view_admin_configuration = \u914d\u7f6e
view_admin_content = Content
view_admin_downloads_agentDownload = \u4ee3\u7406\u4e0b\u8f7d
view_admin_downloads_agent_buildNumber = \u4ee3\u7406Build
-view_admin_downloads_agent_help = <p> \u8fd9\u662fRHQ Agent\u66f4\u65b0\u7684\u4e8c\u8fdb\u5236jar\u6587\u4ef6. The purpose of this jar file is to allow you to install a fresh agent on a machine where an agent does not yet exist and to allow you to update an agent that is already installed on a machine. For more details, run this agent download jar with the --help command line option:<br/> <b>java -jar <agent-download.jar> --help</b> </p> <h3>\u4ee3\u7406\u5b89\u88c5</h3> <p> <b>java -jar <agent-download.jar> --install[=<new agent directory>]</b><br/> This command will install a new agent. If you do not specify the new agent directory, the default will be "." </p> <h3>\u4ee3\u7406\u66f4\u65b0</h3> <p> <b>java -jar <agent-download.jar> --update[=<old agent home>]</b><br/> This will update an existing agent that was already installed. If you do not specify the directory where the old, existing agent was installed, it will assumed to be "rhq-agent". </p>
+##view_admin_downloads_agent_help = <p> \u8fd9\u662fRHQ Agent\u66f4\u65b0\u7684\u4e8c\u8fdb\u5236jar\u6587\u4ef6. The purpose of this jar file is to allow you to install a fresh agent on a machine where an agent does not yet exist and to allow you to update an agent that is already installed on a machine. For more details, run this agent download jar with the --help command line option:<br/> <b>java -jar <agent-download.jar> --help</b> </p> <h3>\u4ee3\u7406\u5b89\u88c5</h3> <p> <b>java -jar <agent-download.jar> --install[=<new agent directory>]</b><br/> This command will install a new agent. If you do not specify the new agent directory, the default will be "." </p> <h3>\u4ee3\u7406\u66f4\u65b0</h3> <p> <b>java -jar <agent-download.jar> --update[=<old agent home>]</b><br/> This will update an existing agent that was already installed. If you do not specify the directory where the old, existing agent was installed, it will assumed to be "rhq-agent". </p>
view_admin_downloads_agent_link_label = \u94fe\u63a5
view_admin_downloads_agent_link_value = \u4e0b\u8f7d\u4ee3\u7406 {0} ({1})
view_admin_downloads_agent_loadError = \u65e0\u6cd5\u83b7\u5f97\u4ee3\u7406\u7248\u672c\u4fe1\u606f
view_admin_downloads_agent_md5 = \u4ee3\u7406MD5
view_admin_downloads_agent_version = \u4ee3\u7406\u7248\u672c
view_admin_downloads_bundleDownload = Bundle\u90e8\u7f72\u5668\u4e0b\u8f7d
-view_admin_downloads_bundle_help = <p> This is the Bundle Deployer tool. It is for use by developers and packagers of RHQ bundles. This standalone tool allows you to test your bundles and their recipes from a console. </p>
+##view_admin_downloads_bundle_help = <p> This is the Bundle Deployer tool. It is for use by developers and packagers of RHQ bundles. This standalone tool allows you to test your bundles and their recipes from a console. </p>
view_admin_downloads_bundle_link_label = \u94fe\u63a5
view_admin_downloads_bundle_link_value = Download Bundle Deployer {0}
view_admin_downloads_bundle_loadError = Cannot get bundle deployer info
view_admin_downloads_cliDownload = \u547d\u4ee4\u884c\u5ba2\u6237\u7aef\u4e0b\u8f7d
view_admin_downloads_cli_buildNumber = CLI Build
-view_admin_downloads_cli_help = <p> This is the Command Line Client tool, otherwise known as the CLI. It is a standalone tool that runs from within a console and provides a command line interface to the RHQ Server. You can invoke commands via the CLI as well as run scripts to perform automated tasks. See the documentation for more information on how to install and use the CLI. </p>
+##view_admin_downloads_cli_help = <p> This is the Command Line Client tool, otherwise known as the CLI. It is a standalone tool that runs from within a console and provides a command line interface to the RHQ Server. You can invoke commands via the CLI as well as run scripts to perform automated tasks. See the documentation for more information on how to install and use the CLI. </p>
view_admin_downloads_cli_link_label = \u94fe\u63a5
view_admin_downloads_cli_link_value = \u4e0b\u8f7dCLI {0} ({1})
view_admin_downloads_cli_loadError = \u65e0\u6cd5\u83b7\u5f97CLI\u7248\u672c\u4fe1\u606f
view_admin_downloads_cli_md5 = CLI MD5
view_admin_downloads_cli_version = CLI\u7248\u672c
view_admin_downloads_connectorsDownload = \u8fde\u63a5\u5668\u4e0b\u8f7d
-view_admin_downloads_connectors_help = Connectors are software that is needed in order for some products to be manageable by RHQ. You install connectors into some managed products so RHQ agents can talk to them. See the documentation for more information.
+##view_admin_downloads_connectors_help = Connectors are software that is needed in order for some products to be manageable by RHQ. You install connectors into some managed products so RHQ agents can talk to them. See the documentation for more information.
view_admin_downloads_connectors_loadError = \u65e0\u6cd5\u83b7\u5f97\u8fde\u63a5\u5668\u4fe1\u606f
view_admin_downloads_connectors_none = \u6ca1\u6709\u53ef\u7528\u8fde\u63a5\u5668\u4e0b\u8f7d
-view_admin_landing = \u8fd9\u91cc\u4f60\u53ef\u4ee5\u7ba1\u7406RHQ\u5168\u5c40\u914d\u7f6e.\u5305\u62ec\u914d\u7f6e\u5b89\u5168,\u5b89\u88c5\u63d2\u4ef6,\u7ba1\u7406RHQ\u670d\u52a1\u5668\u548c\u4ee3\u7406.
+##view_admin_landing = \u8fd9\u91cc\u4f60\u53ef\u4ee5\u7ba1\u7406RHQ\u5168\u5c40\u914d\u7f6e.\u5305\u62ec\u914d\u7f6e\u5b89\u5168,\u5b89\u88c5\u63d2\u4ef6,\u7ba1\u7406RHQ\u670d\u52a1\u5668\u548c\u4ee3\u7406.
view_admin_measTemplates_updateExisting_title = \u66f4\u65b0\u5b58\u5728\u7684\u8ba1\u5212\u4efb\u52a1
view_admin_measTemplates_updateExisting_tooltip = Check this box to update the collection schedules for the selected metrics on all existing resources of this type. If this is not checked, the template schedules will only be applied to new resources of this type that are added to inventory in the future.
##view_admin_plugins_agent = Agent
@@ -1169,7 +1169,7 @@ view_dashboardManager_saved = \u4fdd\u5b58\u7edf\u8ba1\u8868\u76d8{0}
view_dashboardManager_success = \u6210\u529f\u4fdd\u5b58\u7edf\u8ba1\u8868\u76d8
view_dashboard_favorites_error1 = \u52a0\u8f7d\u5e38\u7528\u8d44\u6e90\u5931\u8d25.
view_dashboardsManager_error1 = \u6dfb\u52a0\u65b0\u7edf\u8ba1\u8868\u76d8\u5931\u8d25
-view_dashboardsManager_message_title_details = <h1>\u6b22\u8fce\u4f7f\u7528RHQ</h1>\n<p>RHQ\u9879\u76ee\u662f\u4e00\u4e2a\u62bd\u8c61\u7684\u3001\u57fa\u4e8e\u63d2\u4ef6\u7684\u7cfb\u7edf\u7ba1\u7406\u5957\u4ef6\u3002\u901a\u8fc7\u4e00\u7cfb\u5217\u6838\u5fc3\u529f\u80fd\u63d0\u4f9b\u591a\u4ea7\u54c1\u548c\u5e73\u53f0\u7684\u53ef\u6269\u5c55\u7684\u96c6\u6210\u7ba1\u7406. \u672c\u9879\u76ee\u5206\u5c42\u6a21\u5757\u5177\u6709\u7075\u6d3b\u53d1\u5e03\u67b6\u6784. \u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6838\u5fc3\u7528\u6237\u754c\u9762\u4f9b\u8de8\u6574\u4e2a\u4f01\u4e1a\u7684\u5ba1\u8ba1\u548c\u5386\u53f2\u7ba1\u7406. \u670d\u52a1\u5668/\u4ee3\u7406\u67b6\u6784\u63d0\u4f9b\u8fdc\u7a0b\u7ba1\u7406,\u63d2\u4ef6\u63d0\u4f9b\u7279\u5b9a\u4ea7\u54c1\u7684\u7ba1\u7406\u652f\u6301.</p>\n <p>\u901a\u8fc7\u5355\u51fb(\u7f16\u8f91\u6a21\u5f0f)\u6309\u94ae\u53ef\u4ee5\u7f16\u8f91\u9ed8\u8ba4\u7edf\u8ba1\u8868\u76d8.</p>
+##view_dashboardsManager_message_title_details = <h1>\u6b22\u8fce\u4f7f\u7528RHQ</h1>\n<p>RHQ\u9879\u76ee\u662f\u4e00\u4e2a\u62bd\u8c61\u7684\u3001\u57fa\u4e8e\u63d2\u4ef6\u7684\u7cfb\u7edf\u7ba1\u7406\u5957\u4ef6\u3002\u901a\u8fc7\u4e00\u7cfb\u5217\u6838\u5fc3\u529f\u80fd\u63d0\u4f9b\u591a\u4ea7\u54c1\u548c\u5e73\u53f0\u7684\u53ef\u6269\u5c55\u7684\u96c6\u6210\u7ba1\u7406. \u672c\u9879\u76ee\u5206\u5c42\u6a21\u5757\u5177\u6709\u7075\u6d3b\u53d1\u5e03\u67b6\u6784. \u5b83\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6838\u5fc3\u7528\u6237\u754c\u9762\u4f9b\u8de8\u6574\u4e2a\u4f01\u4e1a\u7684\u5ba1\u8ba1\u548c\u5386\u53f2\u7ba1\u7406. \u670d\u52a1\u5668/\u4ee3\u7406\u67b6\u6784\u63d0\u4f9b\u8fdc\u7a0b\u7ba1\u7406,\u63d2\u4ef6\u63d0\u4f9b\u7279\u5b9a\u4ea7\u54c1\u7684\u7ba1\u7406\u652f\u6301.</p>\n <p>\u901a\u8fc7\u5355\u51fb(\u7f16\u8f91\u6a21\u5f0f)\u6309\u94ae\u53ef\u4ee5\u7f16\u8f91\u9ed8\u8ba4\u7edf\u8ba1\u8868\u76d8.</p>
view_dashboards_confirm1 = \u60a8\u786e\u5b9a\u8981\u5220\u9664\uff1f
view_dashboards_portlets_refresh_fail1 = \u4fee\u6539portlets\u81ea\u52a8\u5237\u65b0\u7684\u95f4\u9694\u65f6\u95f4\u5931\u8d25
view_dashboards_portlets_refresh_fail2 = \u505c\u7528portlets\u81ea\u52a8\u5237\u65b0\u7684\u91cd\u8f7d\u5931\u8d25
@@ -1551,7 +1551,7 @@ view_operationScheduleDetails_enterParametersBelow = \u8f93\u5165\u4e0b\u9762\u7
view_operationScheduleDetails_fieldDefault_description = \u9009\u62e9\u64cd\u4f5c\u67e5\u770b\u63cf\u8ff0.
view_operationScheduleDetails_fieldDefault_parameters = \u9009\u62e9\u64cd\u4f5c\u67e5\u770b\u6240\u9700\u7684\u53c2\u6570.
view_operationScheduleDetails_fieldHelp_description = \u6b64\u8c03\u5ea6\u64cd\u4f5c\u7684\u53ef\u9009\u63cf\u8ff0 (e.g. \u6bcf\u591c\u7ef4\u62a4\u5e94\u7528\u670d\u52a1\u91cd\u542f)
-view_operationScheduleDetails_fieldHelp_timeout = \u64cd\u4f5c\u6301\u7eed\u65f6\u95f4 - \u5982\u679c\u6307\u5b9a, \u5e76\u4e14\u8d85\u8fc7\u4e86\u6307\u5b9a\u7684\u65f6\u95f4\u64cd\u4f5c\u6ca1\u6709\u5b8c\u6210, RHQ \u670d\u52a1\u5224\u5b9a\u6b64\u64cd\u4f5c\u8d85\u65f6\u5e76\u4e14\u6807\u4e3a\u5931\u8d25; \u63d0\u793a, \u901a\u5e38 \u4e0d\u53ef\u80fd\u7ec8\u6b62\u5df2\u7ecf\u5f00\u59cb\u8fd0\u884c\u7684\u540e\u53f0\u8d44\u6e90\u7ba1\u7406\u7684\u64cd\u4f5c.
+##view_operationScheduleDetails_fieldHelp_timeout = \u64cd\u4f5c\u6301\u7eed\u65f6\u95f4 - \u5982\u679c\u6307\u5b9a, \u5e76\u4e14\u8d85\u8fc7\u4e86\u6307\u5b9a\u7684\u65f6\u95f4\u64cd\u4f5c\u6ca1\u6709\u5b8c\u6210, RHQ \u670d\u52a1\u5224\u5b9a\u6b64\u64cd\u4f5c\u8d85\u65f6\u5e76\u4e14\u6807\u4e3a\u5931\u8d25; \u63d0\u793a, \u901a\u5e38 \u4e0d\u53ef\u80fd\u7ec8\u6b62\u5df2\u7ecf\u5f00\u59cb\u8fd0\u884c\u7684\u540e\u53f0\u8d44\u6e90\u7ba1\u7406\u7684\u64cd\u4f5c.
view_operationScheduleDetails_field_description = \u63cf\u8ff0
view_operationScheduleDetails_field_parameters = \u53c2\u6570
view_operationScheduleDetails_field_timeout = \u8d85\u65f6
commit 8088a9788c62d903630182a8038f6ec1b849d603
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Fri Nov 18 12:43:46 2011 +0100
[BZ 688800] - More robust detection of EWS tomcat installation dirs.
diff --git a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
index fc0e681..7709b86 100644
--- a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
+++ b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
@@ -24,6 +24,7 @@
package org.jboss.on.plugins.tomcat;
import java.io.File;
+import java.io.FileFilter;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@@ -352,7 +353,43 @@ public class TomcatDiscoveryComponent implements ResourceDiscoveryComponent, Man
return null;
}
- File tomcatDir = new File(ewsDir, "share/apache-tomcat-6.0.24");
+ //EWS supports tomcat 5 or 6 and starts them using the tomcat5.exe or
+ //tomcat6.exe. The catalina homes we want for them are stored inside
+ //$EWS_HOME/share/tomcat-<version>, where version differs.
+ //EWS 1.0.1 uses tomcat 6.0.24, while EWS 1.0.2 uses tomcat 6.0.32
+
+ //To support this in a forwards compatiblish way, let's assume that
+ //EWS is going to keep the practice of calling the main exes tomcat<MAJOR_VERSION>.exe
+ //and that the catalina homes are going to get stored in
+ //share/apache-tomcat-<MAJOR_VERSION>.x.y.
+
+ String tomcatExeName = exePath.getName().toLowerCase();
+
+ //extract the major version from the exe name
+ int dotPos = tomcatExeName.lastIndexOf(".exe");
+ if (dotPos < 1) { //paranoia, leaves out ".exe", too
+ return null;
+ }
+
+ String majorVersion = tomcatExeName.substring(dotPos - 1, dotPos);
+
+ //now try to find the directory with the corresponding tomcat install
+ //in the $EWS_HOME/share
+ final String catalinaHomePrefix = "apache-tomcat-" + majorVersion;
+ File[] tomcatInstallDirs = new File(ewsDir, "share").listFiles(new FileFilter() {
+ public boolean accept(File pathname) {
+ return pathname.isDirectory() && pathname.getName().startsWith(catalinaHomePrefix);
+ }
+ });
+
+ if (tomcatInstallDirs.length == 0) {
+ return null;
+ } else if (tomcatInstallDirs.length > 1) {
+ log.warn("Could not unambiguously determine the tomcat installation dir for EWS executable " + exePath.getAbsolutePath() + ". The candidates are: " + Arrays.asList(tomcatInstallDirs));
+ return null;
+ }
+
+ File tomcatDir = tomcatInstallDirs[0];
if (tomcatDir.exists()) {
log.debug("Detected EWS installation. catalina.home found at " + tomcatDir.getAbsolutePath());
commit 3025d5a489655a32200dcc83f5a0cc47db514978
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Nov 17 17:35:42 2011 -0500
Remove superfluous not null assignment in spec version 115. Oracle
complains if the field is already set not null.
diff --git a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
index 1a92fe1..fb2ed85 100644
--- a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
+++ b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
@@ -3789,9 +3789,6 @@
</schema-directSQL>
<schema-alterColumn table="RHQ_DRIFT" column="PATH_DIRECTORY" nullable="FALSE" />
- <!-- make drift_change_set_id not nullable ( should already have a value, just enforce it going forward -->
- <schema-alterColumn table="RHQ_DRIFT" column="DRIFT_CHANGE_SET_ID" nullable="FALSE" />
-
<!-- add new drift_set_id column and FK -->
<schema-addColumn table="RHQ_DRIFT" column="DRIFT_SET_ID" columnType="INTEGER"/>
<schema-directSQL>
commit c93b8ce847ae129b4d36fb7231ceb8bdf7f72d39
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Nov 17 17:31:02 2011 -0500
v2 of this script - remove the top-level jboss-as dir from the AS/EAP zipfile
included in the bundle, since the RHQ bundle deployer handles creation of the
top-level dir; for EAP, also remove the outer jboss-eap dir and just include the
contents of the jboss-as subdir
diff --git a/etc/scripts/create-jbossas-bundle.sh b/etc/scripts/create-jbossas-bundle.sh
index 96c69da..cf2f839 100755
--- a/etc/scripts/create-jbossas-bundle.sh
+++ b/etc/scripts/create-jbossas-bundle.sh
@@ -18,12 +18,19 @@ unzip $JBOSS_ZIPFILENAME >/dev/null
rm $JBOSS_ZIPFILENAME
# Remove the JBoss files we don't want included in our bundle.
-JBOSS_BASEDIRNAME=`echo jboss*`
cd jboss*
-rm -rf mod_cluster picketlink resteasy seam
-cd jboss-as 2>/dev/null
-if [ $? -eq 0 ]; then
- JBOSS_CONFIG_DIR="jboss-as/server/production"
+JBOSS_BASEDIR=`pwd`
+if [ -d jboss-as ]; then
+ cd jboss-as
+ EAP=1
+fi
+JBOSS_AS_DIR=`pwd`
+
+rm -f bin/*.bat
+rm -rf docs
+
+if [ "$EAP" = 1 ]; then
+ JBOSS_CONFIG_DIR="server/production"
cd server
rm -rf all default minimal standard web
else
@@ -31,15 +38,13 @@ else
cd server
rm -rf all minimal
fi
-cd ..
-rm -f bin/*.bat
-rm -rf docs
# Recreate the JBoss zipfile now that we've removed everything we don't want in
-# the bundle.
-cd $TMPDIR
-zip -r9 $JBOSS_ZIPFILENAME $JBOSS_BASEDIRNAME >/dev/null
-rm -rf $JBOSS_BASEDIRNAME
+# the bundle. But get rid of the top-level directory, since that is managed by
+# the RHQ bundle deployer.
+cd $JBOSS_AS_DIR
+zip -r9 $TMPDIR/$JBOSS_ZIPFILENAME * >/dev/null
+rm -rf $JBOSS_BASEDIR
# Create the bundle recipe file.
cd $TMPDIR
commit c25a6c2b9de435d04097d1117b5dc97a0b201eaa
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Thu Nov 17 14:07:20 2011 -0500
initial version of a shell script for creating a JBoss AS or EAP bundle zipfile
diff --git a/etc/scripts/create-jbossas-bundle.sh b/etc/scripts/create-jbossas-bundle.sh
new file mode 100755
index 0000000..96c69da
--- /dev/null
+++ b/etc/scripts/create-jbossas-bundle.sh
@@ -0,0 +1,90 @@
+#!/bin/sh
+
+if [ $# -ne 1 ]; then
+ echo "Usage: $0 jboss-as-or-eap-dist.zip" >&2
+ exit 1
+fi
+
+JBOSS_ZIPFILE=$1
+JBOSS_ZIPFILENAME=`basename $JBOSS_ZIPFILE`
+
+ORIG_PWD=`pwd`
+
+# Unzip the JBoss zipfile under a temp dir.
+TMPDIR=`mktemp --directory`
+cp $JBOSS_ZIPFILE $TMPDIR
+cd $TMPDIR
+unzip $JBOSS_ZIPFILENAME >/dev/null
+rm $JBOSS_ZIPFILENAME
+
+# Remove the JBoss files we don't want included in our bundle.
+JBOSS_BASEDIRNAME=`echo jboss*`
+cd jboss*
+rm -rf mod_cluster picketlink resteasy seam
+cd jboss-as 2>/dev/null
+if [ $? -eq 0 ]; then
+ JBOSS_CONFIG_DIR="jboss-as/server/production"
+ cd server
+ rm -rf all default minimal standard web
+else
+ JBOSS_CONFIG_DIR="server/default"
+ cd server
+ rm -rf all minimal
+fi
+cd ..
+rm -f bin/*.bat
+rm -rf docs
+
+# Recreate the JBoss zipfile now that we've removed everything we don't want in
+# the bundle.
+cd $TMPDIR
+zip -r9 $JBOSS_ZIPFILENAME $JBOSS_BASEDIRNAME >/dev/null
+rm -rf $JBOSS_BASEDIRNAME
+
+# Create the bundle recipe file.
+cd $TMPDIR
+cat >deploy.xml <<EOF
+<?xml version="1.0"?>
+
+<project name="test-bundle" default="main" xmlns:rhq="antlib:org.rhq.bundle">
+
+ <rhq:bundle name="jbossas" version="1.0" description="JBoss AS">
+ <rhq:deployment-unit name="appserver" preinstallTarget="preinstall" postinstallTarget="postinstall">
+ <rhq:archive name="${JBOSS_ZIPFILENAME}" exploded="true">
+ <rhq:replace>
+ <rhq:fileset includes="**/*.properties"/>
+ </rhq:replace>
+ </rhq:archive>
+ <rhq:ignore>
+ <rhq:fileset includes="${JBOSS_CONFIG_DIR}/data/**"/>
+ <rhq:fileset includes="${JBOSS_CONFIG_DIR}/log/**"/>
+ <rhq:fileset includes="${JBOSS_CONFIG_DIR}/tmp/**"/>
+ <rhq:fileset includes="${JBOSS_CONFIG_DIR}/work/**"/>
+ </rhq:ignore>
+ </rhq:deployment-unit>
+ </rhq:bundle>
+
+ <target name="main" />
+
+ <target name="preinstall">
+ <echo>Deploying JBoss AS Bundle v1.0 to \${rhq.deploy.dir}...</echo>
+ <property name="preinstallTargetExecuted" value="true"/>
+ <rhq:audit status="SUCCESS" action="Preinstall Notice" info="Preinstalling to \${rhq.deploy.dir}" message="Another optional message">
+ Some additional, optional details regarding the deployment of \${rhq.deploy.dir}
+ </rhq:audit>
+ </target>
+
+ <target name="postinstall">
+ <echo>Done deploying JBoss AS Bundle v1.0 to \${rhq.deploy.dir}.</echo>
+ <property name="postinstallTargetExecuted" value="true"/>
+ </target>
+</project>
+EOF
+
+# Create a bundle zipfile containing the contents of the temp dir.
+JBOSS_ZIPFILEBASENAME=`echo $JBOSS_ZIPFILENAME | sed 's/\.zip//'`
+BUNDLE_ZIPFILENAME="$JBOSS_ZIPFILEBASENAME-bundle.zip"
+zip -r9 $ORIG_PWD/$BUNDLE_ZIPFILENAME * >/dev/null
+cd $ORIG_PWD
+echo "Bundle created: $BUNDLE_ZIPFILENAME"
+
commit f2edb384f3d1bbe069e55075b57c002c3513e83e
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Nov 17 23:15:02 2011 +0100
BZ 754838 - if no host name or port are found, use a default for now.
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/AbstractBaseDiscovery.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/AbstractBaseDiscovery.java
index 2b1e9aa..8736495 100644
--- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/AbstractBaseDiscovery.java
+++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/AbstractBaseDiscovery.java
@@ -125,14 +125,21 @@ public abstract class AbstractBaseDiscovery<T extends ResourceComponent<?>> impl
Element mgmtInterface = (Element) mgmtInterfaces.item(i);
if (mgmtInterface.getNodeName().equals("http-interface")) {
- String tmp = mgmtInterface.getAttribute("port");
- int port = Integer.valueOf(tmp);
+ String tmp = mgmtInterface.getAttribute("port"); // TODO if we don't find it, check for socket-binding
+ int port;
+ if (!tmp.isEmpty())
+ port = Integer.valueOf(tmp);
+ else
+ port = DEFAULT_MGMT_PORT;
HostPort hp = new HostPort();
hp.isLocal=true; // TODO adjust when host != localhost
hp.port = port;
String nIf = mgmtInterface.getAttribute("interface");
- hp.host = getInterface(nIf, commandLine);
+ if (!nIf.isEmpty())
+ hp.host = getInterface(nIf, commandLine);
+ else
+ hp.host = "localhost";
return hp;
}
}
commit b5808831cbfdcf66f19fe6282384f59861834135
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Thu Nov 17 15:46:43 2011 -0600
[BZ 747430] Update the code that defaults the icon to document.png to check for nulls. The exception path is specific to I18N implementation.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
index 9ae00e4..2d86b1d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
@@ -122,6 +122,9 @@ public class HelpView extends AbstractSectionedLeftNavigationView {
String icon;
try {
icon = this.getContent("view_help_section_" + i + "_propIcon_" + j);
+ if (icon == null) {
+ icon = "[SKIN]/../headerIcons/document.png";
+ }
} catch (MissingResourceException e) {
icon = "[SKIN]/../headerIcons/document.png";
}
commit 76a10d9c499680595bbd551186bf282612c76359
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Thu Nov 17 13:19:10 2011 -0600
[BZ 747430] Add support for loading help view content from product info file.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/common/ProductInfo.java b/modules/core/domain/src/main/java/org/rhq/core/domain/common/ProductInfo.java
index 29aa74e..ea34515 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/common/ProductInfo.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/common/ProductInfo.java
@@ -19,6 +19,7 @@
package org.rhq.core.domain.common;
import java.io.Serializable;
+import java.util.HashMap;
/**
* Product (i.e. RHQ or JON) information.
@@ -27,7 +28,7 @@ import java.io.Serializable;
*/
public class ProductInfo implements Serializable {
private static final long serialVersionUID = 1L;
-
+
private String shortName;
private String name;
private String fullName;
@@ -38,6 +39,7 @@ public class ProductInfo implements Serializable {
private String version;
private String buildNumber;
private String helpDocRoot;
+ private HashMap<String, String> helpViewContent;
public String getShortName() {
return shortName;
@@ -118,4 +120,12 @@ public class ProductInfo implements Serializable {
public void setHelpDocRoot(String helpDocRoot) {
this.helpDocRoot = helpDocRoot;
}
+
+ public HashMap<String, String> getHelpViewContent() {
+ return helpViewContent;
+ }
+
+ public void setHelpViewContent(HashMap<String, String> helpViewContent) {
+ this.helpViewContent = helpViewContent;
+ }
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
index 8f4df4b..9ae00e4 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/help/HelpView.java
@@ -27,8 +27,8 @@ import java.util.List;
import java.util.MissingResourceException;
import com.smartgwt.client.widgets.Canvas;
-
import com.smartgwt.client.widgets.Label;
+
import org.rhq.core.domain.common.ProductInfo;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.MessageConstants;
@@ -53,7 +53,9 @@ public class HelpView extends AbstractSectionedLeftNavigationView {
private static final ViewName SECTION_PRODUCT_VIEW_ID = new ViewName("Product", MSG.view_help_section_product());
- private static ProductInfo PRODUCT_INFO;
+ private final ProductInfo productInfo = CoreGUI.get().getProductInfo();
+ private final MessageConstants messageConstants = CoreGUI.getMessageConstants();
+ private boolean contentFromProductInfo;
public HelpView() {
// This is a top level view, so our locator id can simply be our view id.
@@ -94,7 +96,6 @@ public class HelpView extends AbstractSectionedLeftNavigationView {
"[SKIN]/../actions/help.png", new ViewFactory() {
public Canvas createView() {
final AboutModalWindow aboutModalWindow = new AboutModalWindow(extendLocatorId("AboutModalWindow"));
- ProductInfo productInfo = CoreGUI.get().getProductInfo();
aboutModalWindow.setTitle(MSG.view_aboutBox_title(productInfo.getFullName()));
aboutModalWindow.show();
return aboutModalWindow;
@@ -106,21 +107,21 @@ public class HelpView extends AbstractSectionedLeftNavigationView {
}
private void addUrlSections(List<NavigationSection> sections) {
+ this.selectContentLocation();
- MessageConstants mc = CoreGUI.getMessageConstants();
- int numSections = Integer.valueOf(mc.view_help_section_count());
+ int numSections = Integer.valueOf(this.getContent("view_help_section_count"));
for (int i = 1; i <= numSections; ++i) {
- int numItems = Integer.valueOf(mc.getString("view_help_section_" + i + "_item_count"));
+ int numItems = Integer.valueOf(this.getContent("view_help_section_" + i + "_item_count"));
NavigationItem[] items = new NavigationItem[numItems];
- String sectionTitle = mc.getString("view_help_section_" + i + "_title");
+ String sectionTitle = this.getContent("view_help_section_" + i + "_title");
for (int j = 1; j <= numItems; ++j) {
- String title = mc.getString("view_help_section_" + i + "_propTitle_" + j);
- final String url = mc.getString("view_help_section_" + i + "_propUrl_" + j);
+ String title = this.getContent("view_help_section_" + i + "_propTitle_" + j);
+ final String url = this.getContent("view_help_section_" + i + "_propUrl_" + j);
String icon;
try {
- icon = mc.getString("view_help_section_" + i + "_propIcon_" + j);
+ icon = this.getContent("view_help_section_" + i + "_propIcon_" + j);
} catch (MissingResourceException e) {
icon = "[SKIN]/../headerIcons/document.png";
}
@@ -139,4 +140,38 @@ public class HelpView extends AbstractSectionedLeftNavigationView {
}
}
+ /**
+ * Preselects content location.
+ *
+ * I18N GWT bakes all the messages into the compiled Javascript (it is impossible to change anything
+ * without recompiling the entire project). However, there is a need to dynamically change the help
+ * content after the code is compiled and shipped. ProductInfo is dynamically loaded at runtime from disk.
+ * This implementation allows runtime location selection for help page content:
+ * 1) ProductInfo
+ * 2) I18N GWT system
+ *
+ * NOTE: All the content is loaded from a single location and production info properties file gets priority.
+ */
+ private void selectContentLocation() {
+ if (productInfo.getHelpViewContent().containsKey("view_help_section_count")) {
+ //use the product info file for help content
+ this.contentFromProductInfo = true;
+ } else {
+ //use the I18N mechanism for help content
+ this.contentFromProductInfo = false;
+ }
+ }
+
+ /**
+ * Retrieves help view content from the selected content location.
+ *
+ * @return help view content
+ */
+ private String getContent(String key) {
+ if (this.contentFromProductInfo) {
+ return productInfo.getHelpViewContent().get(key);
+ } else {
+ return messageConstants.getString(key);
+ }
+ }
}
\ No newline at end of file
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServer.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServer.java
index decf99e..4da4f55 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServer.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/core/CoreServer.java
@@ -22,6 +22,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
+import java.util.HashMap;
import java.util.Properties;
import javax.management.MBeanServer;
@@ -157,6 +158,17 @@ public class CoreServer extends ServiceMBeanSupport implements CoreServerMBean {
productInfo.setUrlDomain(props.getProperty("urlDomain"));
productInfo.setUrl(props.getProperty("url"));
productInfo.setVersion(props.getProperty("version"));
+
+ HashMap<String, String> helpViewContent = new HashMap<String, String>();
+
+ for (String propertyName : props.stringPropertyNames()) {
+ if (propertyName.startsWith("view_help_section")) {
+ helpViewContent.put(propertyName, props.getProperty(propertyName));
+ }
+ }
+
+ productInfo.setHelpViewContent(helpViewContent);
+
return productInfo;
} else {
throw new IllegalStateException("Failed to find class loader resource ["
commit 9a6dcdcf42ce0c82edd3d8ae04e8baff242da8ff
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Nov 17 16:02:47 2011 -0500
Fix oracle syntax for sequence renaming in drift upgrade.
diff --git a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
index 2c95f02..1a92fe1 100644
--- a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
+++ b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
@@ -3682,7 +3682,7 @@
ALTER TABLE RHQ_DRIFT_CONFIG_ID_SEQ RENAME TO RHQ_DRIFT_DEFINITION_ID_SEQ
</statement>
<statement targetDBVendor="oracle">
- ALTER TABLE RENAME RHQ_DRIFT_CONFIG_ID_SEQ TO RHQ_DRIFT_DEFINITION_ID_SEQ
+ RENAME RHQ_DRIFT_CONFIG_ID_SEQ TO RHQ_DRIFT_DEFINITION_ID_SEQ
</statement>
</schema-directSQL>
commit 05694c0f82fa4b1bb6e8d2f51d1c40246bc0ec05
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Nov 17 15:44:22 2011 -0500
- make sure to protect against null *and* empty path or pattern fields
in filters.
- Enhance description for filter pattern to be more clear about what works.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java b/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java
index c8b8f63..9829480 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java
@@ -539,7 +539,7 @@ public class DriftConfigurationDefinition implements Serializable {
private static PropertyDefinitionSimple createIncludePattern(boolean readOnly) {
String name = PROP_PATTERN;
- String description = "Pathname pattern that must match for the items in the directory path to be included.";
+ String description = "Pathname pattern that must match for the items in the directory path to be included. '*' matches zero or more characters, '?' matches one character. For example, '*.txt' (no quotes) will match text files in the filter's path directory. '**/*.txt' will match text files in any subdirectory below the filter's path directory";
boolean required = false;
PropertySimpleType type = PropertySimpleType.STRING;
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
index 41477f3..851372d 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
@@ -838,14 +838,17 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
filtersList.add(driftDef.getExcludes());
for (List<Filter> filterList : filtersList) {
for (Filter filter : filterList) {
- if (!filter.getPath().matches(DriftConfigurationDefinition.PROP_FILTER_PATH_REGEX_PATTERN)) {
+ String path = (null == filter.getPath()) ? null : filter.getPath().trim();
+ if (null != path && !path.isEmpty()
+ && !path.matches(DriftConfigurationDefinition.PROP_FILTER_PATH_REGEX_PATTERN)) {
throw new IllegalArgumentException("Drift definition filter path contains invalid characters: "
- + filter.getPath());
+ + path);
}
- if (null != filter.getPattern()
- && !filter.getPattern().matches(DriftConfigurationDefinition.PROP_FILTER_PATTERN_REGEX_PATTERN)) {
+ String pattern = (null == filter.getPattern()) ? null : filter.getPattern().trim();
+ if (null != pattern && !pattern.isEmpty()
+ && !pattern.matches(DriftConfigurationDefinition.PROP_FILTER_PATTERN_REGEX_PATTERN)) {
throw new IllegalArgumentException("Drift definition filter pattern contains invalid characters: "
- + filter.getPattern());
+ + pattern);
}
}
}
commit 69d00f93585bca6d6a1b5b7f6a40301975289b42
Author: Robert Buck <rbuck(a)redhat.com>
Date: Thu Nov 17 15:08:58 2011 -0500
add support for authentication; reproduce profile service bug with
getProfile()/getActiveProfile()
diff --git a/modules/jopr/etc/jbas5-jnp-client/README b/modules/jopr/etc/jbas5-jnp-client/README
new file mode 100644
index 0000000..afd0676
--- /dev/null
+++ b/modules/jopr/etc/jbas5-jnp-client/README
@@ -0,0 +1,16 @@
+To build run the following command:
+
+ mvn install
+
+To set up your environment set the JBOSS_HOME directory:
+
+ export JBOSS_HOME=/home/rbuck/dev/servers/jboss-eap/5.1.2-ER2/jboss-as
+
+To run the client perform the following command:
+
+ ./client.sh
+
+To run the client against a different port or address run the command like this:
+
+ ./client.sh jnp://127.0.0.1:1099
+
diff --git a/modules/jopr/etc/jbas5-jnp-client/client.sh b/modules/jopr/etc/jbas5-jnp-client/client.sh
index b4ae736..d4f0b8d 100755
--- a/modules/jopr/etc/jbas5-jnp-client/client.sh
+++ b/modules/jopr/etc/jbas5-jnp-client/client.sh
@@ -9,7 +9,11 @@
MAIN_JAR_NAME=jbas5-jnp-client-1.0.jar
MAIN_CLASS=test.RmiClient
-JBOSS_HOME=/home/ips/Applications/jboss-eap-5.1.1/jboss-as
+if [ "x$JBOSS_HOME" = "x" ]; then
+ echo "JBOSS_HOME environment variable is undefined."
+ exit 1
+fi
+
if [ ! -d "$JBOSS_HOME" ]; then
echo "Dir specified by JBOSS_HOME variable ($JBOSS_HOME) does not exist."
exit 1
diff --git a/modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java b/modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java
index 58d7a61..de32923 100644
--- a/modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java
+++ b/modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java
@@ -26,7 +26,7 @@ public class RmiClient
public static void main(String[] args)
throws Exception
{
- String jnpUrl = (args.length == 1) ? args[0] : "jnp://127.0.0.51:1099";
+ String jnpUrl = (args.length == 1) ? args[0] : "jnp://127.0.0.1:1099";
Properties env = new Properties();
env.setProperty(Context.PROVIDER_URL, jnpUrl);
commit 98b01d25a425efa5bbea032d472e75f054a1ea28
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Nov 17 14:01:42 2011 -0500
[BZ 753827] Fixing regression for pinning snapshot to existing template
My fix for bug 753827 caused a regression that breaks the wizard for
pinning a snapshot to an existing template. I was previously unware that
if you selected a new template in the wizard, that the code still runs
through the config step. In that case, the config editor in the config
step page is never intialized and this caused an NPE as a result of my
changes. A check is now in place to determine whether or not the
validation needs to be performed, and thus avoiding the NPE.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
index 3c8fa9f..cfe570d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
@@ -72,11 +72,13 @@ public class DriftPinTemplateWizardConfigStep extends AbstractWizardStep {
}
public boolean nextPage() {
- Configuration templateConfig = editor.getConfiguration();
- PropertySimple templateNameProp = templateConfig.getSimple(DriftConfigurationDefinition.PROP_NAME);
+ if (wizard.isCreateTemplate()) {
+ Configuration templateConfig = editor.getConfiguration();
+ PropertySimple templateNameProp = templateConfig.getSimple(DriftConfigurationDefinition.PROP_NAME);
- if (!isTemplateNameUnique(templateNameProp.getStringValue())) {
- templateNameProp.setErrorMessage(MSG.view_drift_wizard_pinTemplate_duplicate_name_error());
+ if (!isTemplateNameUnique(templateNameProp.getStringValue())) {
+ templateNameProp.setErrorMessage(MSG.view_drift_wizard_pinTemplate_duplicate_name_error());
+ }
}
if (wizard.isCreateTemplate() && (null == editor || !editor.validate())) {
commit dae9b5cc5568a1d76d56a458d0973b4fd8ac6d5d
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Nov 17 13:44:04 2011 -0500
[Bug 754382 - Login after session timeout does not (re)display the portlets on summary tab]
A couple of things going on here:
- make sure we request a refresh after re-login, for RefreshableViews
- make the dashboard views Refreshable to take advantage of the above change
- for the global dash, ensure switching amongst dash tabs works appropriately
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
index d5badda..d331365 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
@@ -331,7 +331,9 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String>, Event.Na
History.newItem(getDefaultView());
} else {
- // otherwise just fire an event for the bookmarked URL they are returning to
+ // otherwise just fire an event for the bookmarked URL they are returning to and
+ // ensure it is refreshed if it is a RefreshableView
+ pendingRefresh = true;
History.fireCurrentHistoryState();
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardContainer.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardContainer.java
index 6b1d507..335c0ad 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardContainer.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardContainer.java
@@ -3,8 +3,9 @@ package org.rhq.enterprise.gui.coregui.client.dashboard;
import java.util.Set;
import org.rhq.core.domain.authz.Permission;
+import org.rhq.enterprise.gui.coregui.client.RefreshableView;
-public interface DashboardContainer {
+public interface DashboardContainer extends RefreshableView {
public Set<Permission> getGlobalPermissions();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
index e240ecb..0566e0c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/DashboardsView.java
@@ -217,7 +217,7 @@ public class DashboardsView extends LocatableVLayout implements DashboardContain
* which would require the user to hit the back button twice to return to the previous page.
*/
if (selectedDashboardView != null) {
- CoreGUI.goToView(LinkManager.getDashboardLink(Integer.valueOf(selectedTab.getName())));
+ CoreGUI.goToView(LinkManager.getDashboardLink(Integer.valueOf(selectedTab.getName())), true);
}
selectedDashboardView = (DashboardView) selectedTab.getPane();
@@ -482,7 +482,12 @@ public class DashboardsView extends LocatableVLayout implements DashboardContain
}
}
- tabSet.selectTab(selectedTab);
+ if (!selectedTab.equals(tabSet.getSelectedTab())) {
+ tabSet.selectTab(selectedTab);
+
+ } else if (viewPath.isRefresh()) {
+ refresh();
+ }
}
public Dashboard getDashboard() {
@@ -509,4 +514,13 @@ public class DashboardsView extends LocatableVLayout implements DashboardContain
}
}
+ @Override
+ public void refresh() {
+ if (isInitialized()) {
+ if (null != selectedDashboardView && selectedDashboardView.isDrawn()) {
+ selectedDashboardView.rebuild();
+ }
+ }
+ }
+
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
index 45b1a9e..09abe9d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/summary/ActivityView.java
@@ -339,4 +339,11 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
return ((name != null) && (dashboardView != null) && name.equals(dashboardView.getDashboard().getName()));
}
+ @Override
+ public void refresh() {
+ if (isInitialized()) {
+ dashboardView.rebuild();
+ }
+ }
+
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
index d075bc2..77a729d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/summary/ActivityView.java
@@ -250,4 +250,11 @@ public class ActivityView extends LocatableVLayout implements DashboardContainer
return ((name != null) && (dashboardView != null) && name.equals(dashboardView.getDashboard().getName()));
}
+ @Override
+ public void refresh() {
+ if (isInitialized()) {
+ dashboardView.rebuild();
+ }
+ }
+
}
commit d6d42e4640ba86fc9fb160ae3d6d4c202edef381
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Thu Nov 17 13:36:51 2011 -0500
db-upgrade changes
- fix issue with duplicate constraint names in drift-related upgrade
- remove obsolete table RHQ_DRIFT_TEMPLATE_MAP
diff --git a/modules/core/dbutils/src/main/scripts/dbsetup/obsolete-schema.xml b/modules/core/dbutils/src/main/scripts/dbsetup/obsolete-schema.xml
index 1b1ce8c..7da4b23 100644
--- a/modules/core/dbutils/src/main/scripts/dbsetup/obsolete-schema.xml
+++ b/modules/core/dbutils/src/main/scripts/dbsetup/obsolete-schema.xml
@@ -9,6 +9,11 @@
<!-- !!! REMOVED FROM CONTENT-SCHEMA !!!! -->
+ <table name="RHQ_DRIFT_TEMPLATE_MAP">
+ <column name="RESOURCE_TYPE_ID" type="INTEGER" required="true" references="RHQ_RESOURCE_TYPE"/>
+ <column name="CONFIG_TEMPLATE_ID" type="INTEGER" required="true" references="RHQ_CONFIG_TEMPLATE"/>
+ </table>
+
<table name="RHQ_BUNDLE_CONFIG" obsolete="true">
<column name="ID" default="sequence-only" initial="10001" primarykey="true" required="true" type="INTEGER"/>
<column name="CONFIG_ID" type="INTEGER" required="false" references="RHQ_CONFIG" />
diff --git a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
index e65f519..2c95f02 100644
--- a/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
+++ b/modules/core/dbutils/src/main/scripts/dbupgrade/db-upgrade.xml
@@ -3656,13 +3656,13 @@
<schema-directSQL>
<statement desc="Creating RHQ_DRIFT_DEF_TEMPLATE foreign key to RHQ_RESOURCE_TYPE">
ALTER TABLE RHQ_DRIFT_DEF_TEMPLATE
- ADD CONSTRAINT RHQ_DTM_RESOURCE_TYPE_ID_FK
+ ADD CONSTRAINT RHQ_DDT_RESOURCE_TYPE_ID_FK
FOREIGN KEY (RESOURCE_TYPE_ID)
REFERENCES RHQ_RESOURCE_TYPE (ID)
</statement>
<statement desc="Creating RHQ_DRIFT_DEF_TEMPLATE foreign key to RHQ_CONFIG">
ALTER TABLE RHQ_DRIFT_DEF_TEMPLATE
- ADD CONSTRAINT RHQ_DTM_CONFIG_ID_FK
+ ADD CONSTRAINT RHQ_DDT_CONFIG_ID_FK
FOREIGN KEY (CONFIG_ID)
REFERENCES RHQ_CONFIG (ID)
</statement>
commit c9688a017c484af70bd731805ec5088deb2bf189
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Nov 17 12:42:19 2011 -0500
[BZ 754556] strip paths from uploaded file names
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PackageVersionFileUploadServlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PackageVersionFileUploadServlet.java
index e16d86e..3bc35c7 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PackageVersionFileUploadServlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/PackageVersionFileUploadServlet.java
@@ -31,6 +31,7 @@ import javax.servlet.http.HttpServletResponse;
import org.rhq.core.domain.auth.Subject;
import org.rhq.core.domain.content.PackageVersion;
+import org.rhq.core.util.file.FileUtil;
import org.rhq.enterprise.server.content.ContentManagerLocal;
import org.rhq.enterprise.server.util.LookupUtil;
@@ -62,7 +63,7 @@ public class PackageVersionFileUploadServlet extends FileUploadServlet {
int packageTypeId = Integer.parseInt(getFormField(formFields, "packageTypeId", null));
String packageName = getFormField(formFields, "name", file.getName());
- packageName = new File(packageName).getName();
+ packageName = FileUtil.getFileName(FileUtil.useForwardSlash(packageName), "/"); // strip path, get just filename
String version = getFormField(formFields, "version", "0");
String archIdField = getFormField(formFields, "archId", null);
int architectureId = (null != archIdField) ? Integer.parseInt(archIdField) : contentManager
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/upload/FileUploadUIBean.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/upload/FileUploadUIBean.java
index 652ea32..e47331c 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/upload/FileUploadUIBean.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/common/upload/FileUploadUIBean.java
@@ -30,6 +30,7 @@ import org.richfaces.model.UploadItem;
import org.rhq.core.gui.util.FacesContextUtility;
import org.rhq.core.util.exception.ThrowableUtil;
+import org.rhq.core.util.file.FileUtil;
/**
* Session bean used to maintain information about an uploaded file.
@@ -82,7 +83,8 @@ public class FileUploadUIBean {
throw new FileNotFoundException("The uploaded file [" + uploadedFile + "] does not exist!");
}
- String uploadedFilename = getFileItem().getFileName(); // careful, IE passes in the full absolute path here - currently we don't care here
+ String uploadedFilename = getFileItem().getFileName(); // careful, IE and Chrome passes in the full absolute path here
+ uploadedFilename = FileUtil.getFileName(FileUtil.useForwardSlash(uploadedFilename), "/"); // strip path, get just filename
long uploadedFileSize = uploadedFile.length();
log.info("A file named [" + uploadedFilename + "] with a size of [" + uploadedFileSize
+ "] has been uploaded to [" + uploadedFile + "]");
commit fd89dd2eae541ff86dcc2a10fbf6b64b0f7f1ddc
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Thu Nov 17 11:52:04 2011 -0500
provide a eclipse tool to easily build GWT for dual FF/IE8 support
diff --git a/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only (GWT) (FF,IE8).launch b/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only (GWT) (FF,IE8).launch
new file mode 100644
index 0000000..53e2c87
--- /dev/null
+++ b/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only (GWT) (FF,IE8).launch
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
+<stringAttribute key="bad_container_name" value="\rhq\etc\eclipse-tools\maven"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${env_var:M2_HOME}/bin/${MAVEN_EXE}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-o -Dgwt.userAgent=gecko1_8,ie6,ie8 -Dmaven.test.skip=true -Pdev gwt:clean install"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/rhq/modules/enterprise/gui/coregui}"/>
+</launchConfiguration>
diff --git a/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only (Portal War).launch b/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only (Portal War).launch
new file mode 100644
index 0000000..24a4081
--- /dev/null
+++ b/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only (Portal War).launch
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
+<stringAttribute key="bad_container_name" value="\rhq\etc\eclipse-tools\maven"/>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${env_var:M2_HOME}/bin/${MAVEN_EXE}"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dmaven.test.skip=true -Pdev install"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/rhq/modules/enterprise/gui/portal-war}"/>
+</launchConfiguration>
diff --git a/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only.launch b/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only.launch
deleted file mode 100644
index 24a4081..0000000
--- a/etc/eclipse-tools/maven/RHQ Maven Build - Dev Profile Web UI Only.launch
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.ui.externaltools.ProgramLaunchConfigurationType">
-<stringAttribute key="bad_container_name" value="\rhq\etc\eclipse-tools\maven"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" value="${env_var:M2_HOME}/bin/${MAVEN_EXE}"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS" value="-Dmaven.test.skip=true -Pdev install"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" value="${workspace_loc:/rhq/modules/enterprise/gui/portal-war}"/>
-</launchConfiguration>
commit c165198b4a92210e16fdaeff3ff6dbdad6b365d5
Author: John Sanda <jsanda(a)redhat.com>
Date: Thu Nov 17 10:36:14 2011 -0500
Make DriftTemplateManager available to server-side scripts
diff --git a/modules/enterprise/server/client-api/src/main/java/org/rhq/enterprise/client/LocalClient.java b/modules/enterprise/server/client-api/src/main/java/org/rhq/enterprise/client/LocalClient.java
index 2430ddd..025b60d 100644
--- a/modules/enterprise/server/client-api/src/main/java/org/rhq/enterprise/client/LocalClient.java
+++ b/modules/enterprise/server/client-api/src/main/java/org/rhq/enterprise/client/LocalClient.java
@@ -41,6 +41,7 @@ import org.rhq.enterprise.server.content.ContentManagerRemote;
import org.rhq.enterprise.server.content.RepoManagerRemote;
import org.rhq.enterprise.server.discovery.DiscoveryBossRemote;
import org.rhq.enterprise.server.drift.DriftManagerRemote;
+import org.rhq.enterprise.server.drift.DriftTemplateManagerRemote;
import org.rhq.enterprise.server.event.EventManagerRemote;
import org.rhq.enterprise.server.install.remote.RemoteInstallManagerRemote;
import org.rhq.enterprise.server.measurement.AvailabilityManagerRemote;
@@ -137,6 +138,10 @@ public class LocalClient implements RhqFacade {
return getProxy(LookupUtil.getDriftManager(), DriftManagerRemote.class);
}
+ public DriftTemplateManagerRemote getDriftTemplateManager() {
+ return getProxy(LookupUtil.getDriftTemplateManager(), DriftTemplateManagerRemote.class);
+ }
+
public EventManagerRemote getEventManager() {
return getProxy(LookupUtil.getEventManager(), EventManagerRemote.class);
}
commit 70f31ee08148d83b83ea3420c3047d3aebd8e4c1
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Nov 17 14:11:25 2011 +0100
BZ 750849 - provide a way to dump the system information to the server log.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
index 8749a8d..b5cf9e8 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/SystemSettingsView.java
@@ -60,7 +60,7 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
/**
* A simple form to view and edit the server system settings.
- *
+ *
* @author John Mazzitelli
*/
public class SystemSettingsView extends LocatableVLayout implements PropertyValueChangeListener {
@@ -72,6 +72,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
private LocatableVLayout canvas;
private ConfigurationEditor editor;
private IButton saveButton;
+ private IButton dumpToLogButton;
public SystemSettingsView(String locatorId) {
super(locatorId);
@@ -100,14 +101,14 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
canvas.addMember(getServerDetails());
Configuration config = result.toConfiguration();
-
+
//convert stuff for the display purposes
PropertySimple prop = config.getSimple(SystemSetting.AGENT_MAX_QUIET_TIME_ALLOWED.getInternalName());
prop.setStringValue(convertMillisToMinutes(prop.getStringValue()));
-
+
prop = config.getSimple(SystemSetting.DATA_MAINTENANCE_PERIOD.getInternalName());
prop.setStringValue(convertMillisToHours(prop.getStringValue()));
-
+
prop = config.getSimple(SystemSetting.AVAILABILITY_PURGE_PERIOD.getInternalName());
prop.setStringValue(convertMillisToDays(prop.getStringValue()));
@@ -151,7 +152,17 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
});
toolStrip.addMember(saveButton);
+ dumpToLogButton = new LocatableIButton(extendLocatorId("Dummp"),MSG.common_button_dump_sysInfo_to_log());
+ dumpToLogButton.addClickHandler(new ClickHandler() {
+ @Override
+ public void onClick(ClickEvent clickEvent) {
+ dumpToLog();
+ }
+ });
+ toolStrip.addMember(dumpToLogButton);
+
canvas.addMember(toolStrip);
+
}
@Override
@@ -220,6 +231,22 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
}
}
+ private void dumpToLog() {
+ GWTServiceLookup.getSystemService().dumpToLog(new AsyncCallback<Void>() {
+ @Override
+ public void onFailure(Throwable throwable) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_admin_systemSettings_dumpToLogFailed(), Severity.Warning));
+ }
+
+ @Override
+ public void onSuccess(Void aVoid) {
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_admin_systemSettings_dumpedToLog(), Severity.Info));
+ }
+ });
+ }
+
private String convertMinutesToMillis(String num) {
return num == null ? "0" : String.valueOf(Long.parseLong(num) * 60 * 1000);
}
@@ -266,7 +293,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
dataManagerGroup.setDisplayName(MSG.view_admin_systemSettings_group_dataMgr());
dataManagerGroup.setDefaultHidden(false);
dataManagerGroup.setOrder(1);
-
+
PropertyGroupDefinition baselineGroup = new PropertyGroupDefinition("baseline");
baselineGroup.setDisplayName(MSG.view_admin_systemSettings_group_baseline());
baselineGroup.setDefaultHidden(false);
@@ -281,18 +308,18 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
driftGroup.setDisplayName(MSG.view_admin_systemSettings_group_drift());
driftGroup.setOrder(4);
driftGroup.setDefaultHidden(false);
-
+
for(SystemSetting prop : SystemSetting.values()) {
-
+
//don't include the readonly properties in the configuration editor
if (prop.isReadOnly()) {
continue;
}
-
+
PropertyDefinitionSimple pd = prop.createPropertyDefinition();
-
+
def.put(pd);
-
+
switch(prop) {
///////////////////////////////////
@@ -308,7 +335,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.setDescription(MSG.view_admin_systemSettings_AgentMaxQuietTimeAllowed_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_AgentMaxQuietTimeAllowed_name());
pd.setPropertyGroupDefinition(generalGroup);
- pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(2), null)); // don't allow less than 2m since it will cause too many false backfills
+ pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(2), null)); // don't allow less than 2m since it will cause too many false backfills
pd.setDefaultValue("15");
break;
case AGENT_AUTO_UPDATE_ENABLED:
@@ -332,7 +359,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
////////////////////////////////////////
// Data Manager Configuration Properties
-
+
case DATA_MAINTENANCE_PERIOD:
pd.setDescription(MSG.view_admin_systemSettings_DataMaintenance_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_DataMaintenance_name());
@@ -340,7 +367,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), null));
pd.setDefaultValue("1");
break;
-
+
case AVAILABILITY_PURGE_PERIOD:
pd.setDescription(MSG.view_admin_systemSettings_AvailabilityPurge_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_AvailabilityPurge_name());
@@ -348,7 +375,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), null));
pd.setDefaultValue("365");
break;
-
+
case ALERT_PURGE_PERIOD:
pd.setDescription(MSG.view_admin_systemSettings_AlertPurge_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_AlertPurge_name());
@@ -356,7 +383,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), null));
pd.setDefaultValue("31");
break;
-
+
case TRAIT_PURGE_PERIOD:
pd.setDescription(MSG.view_admin_systemSettings_TraitPurge_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_TraitPurge_name());
@@ -364,7 +391,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), null));
pd.setDefaultValue("365");
break;
-
+
case RT_DATA_PURGE_PERIOD:
pd.setDescription(MSG.view_admin_systemSettings_RtDataPurge_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_RtDataPurge_name());
@@ -372,7 +399,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), null));
pd.setDefaultValue("31");
break;
-
+
case EVENT_PURGE_PERIOD:
pd.setDescription(MSG.view_admin_systemSettings_EventPurge_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_EventPurge_name());
@@ -380,7 +407,7 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), null));
pd.setDefaultValue("14");
break;
-
+
case DRIFT_FILE_PURGE_PERIOD:
pd.setDescription(MSG.view_admin_systemSettings_DriftFilePurge_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_DriftFilePurge_name());
@@ -388,14 +415,14 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), null));
pd.setDefaultValue("31");
break;
-
+
case DATA_REINDEX_NIGHTLY:
pd.setDescription(MSG.view_admin_systemSettings_DataReindex_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_DataReindex_name());
pd.setPropertyGroupDefinition(dataManagerGroup);
pd.setDefaultValue("true");
break;
-
+
//////////////////////////////////////////////
// Automatic Baseline Configuration Properties
@@ -406,12 +433,12 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(0), null));
pd.setDefaultValue("3");
break;
-
+
case BASE_LINE_DATASET:
pd.setDescription(MSG.view_admin_systemSettings_BaselineDataSet_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_BaselineDataSet_name());
pd.setPropertyGroupDefinition(baselineGroup);
- pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), Long.valueOf(14))); // can't do more than 14 days since our raw tables don't hold more
+ pd.addConstraints(new IntegerRangeConstraint(Long.valueOf(1), Long.valueOf(14))); // can't do more than 14 days since our raw tables don't hold more
pd.setDefaultValue("7");
break;
@@ -424,63 +451,63 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("false");
break;
-
+
case LDAP_NAMING_PROVIDER_URL:
pd.setDescription(MSG.view_admin_systemSettings_LDAPUrl_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPUrl_name());
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("ldap://localhost");
break;
-
+
case USE_SSL_FOR_LDAP:
pd.setDescription(MSG.view_admin_systemSettings_LDAPProtocol_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPProtocol_name());
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("false");
break;
-
+
case LDAP_LOGIN_PROPERTY:
pd.setDescription(MSG.view_admin_systemSettings_LDAPLoginProperty_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPLoginProperty_name());
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("cn");
break;
-
+
case LDAP_FILTER:
pd.setDescription(MSG.view_admin_systemSettings_LDAPFilter_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPFilter_name());
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("");
break;
-
+
case LDAP_GROUP_FILTER:
pd.setDescription(MSG.view_admin_systemSettings_LDAPGroupFilter_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPGroupFilter_name());
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("rhqadmin");
break;
-
+
case LDAP_GROUP_MEMBER:
pd.setDescription(MSG.view_admin_systemSettings_LDAPGroupMember_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPGroupMember_name());
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("");
break;
-
+
case LDAP_BASE_DN:
pd.setDescription(MSG.view_admin_systemSettings_LDAPBaseDN_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPBaseDN_name());
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("o=RedHat,c=US");
break;
-
+
case LDAP_BIND_DN:
pd.setDescription(MSG.view_admin_systemSettings_LDAPBindDN_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPBindDN_name());
pd.setPropertyGroupDefinition(ldapGroup);
pd.setDefaultValue("");
break;
-
+
case LDAP_BIND_PW:
pd.setDescription(MSG.view_admin_systemSettings_LDAPBindPW_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_LDAPBindPW_name());
@@ -491,12 +518,12 @@ public class SystemSettingsView extends LocatableVLayout implements PropertyValu
///////////////////////////////////////////
// Drift Server Configuration Properties //
///////////////////////////////////////////
-
+
case ACTIVE_DRIFT_PLUGIN:
pd.setDescription(MSG.view_admin_systemSettings_ActiveDriftServerPlugin_desc());
pd.setDisplayName(MSG.view_admin_systemSettings_ActiveDriftServerPlugin_name());
pd.setPropertyGroupDefinition(driftGroup);
-
+
List<PropertyDefinitionEnumeration> options = new ArrayList<PropertyDefinitionEnumeration>();
for (Map.Entry<String, String> entry : driftPlugins.entrySet()) {
options.add(new PropertyDefinitionEnumeration(entry.getValue(), entry.getKey()));
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/SystemGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/SystemGWTService.java
index e239328..33573d1 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/SystemGWTService.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/SystemGWTService.java
@@ -28,7 +28,7 @@ import org.rhq.core.domain.common.composite.SystemSettings;
/**
* Provides information about the server as well as a way to reconfigure parts of the server.
- *
+ *
* @author John Mazzitelli
* @author Ian Springer
*/
@@ -43,7 +43,7 @@ public interface SystemGWTService extends RemoteService {
void setSystemSettings(SystemSettings settings) throws RuntimeException;
/**
- * @return metadata properties about the agent download available on the server.
+ * @return metadata properties about the agent download available on the server.
*/
HashMap<String, String> getAgentVersionProperties() throws RuntimeException;
@@ -51,13 +51,13 @@ public interface SystemGWTService extends RemoteService {
* Returns the name and download URL (key and value respectively) of all connector downloads
* available on the server. The URL is relative to the server's host and port (i.e. only
* the path of the URL is returned).
- *
+ *
* @return information about connectors that can be downloaded from the server
*/
HashMap<String, String> getConnectorDownloads() throws RuntimeException;
/**
- * @return metadata properties about the CLI download available on the server.
+ * @return metadata properties about the CLI download available on the server.
*/
HashMap<String, String> getClientVersionProperties() throws RuntimeException;
@@ -66,13 +66,19 @@ public interface SystemGWTService extends RemoteService {
* standalone bundle deployer tool available on the server for download.
* The URL is relative to the server's host and port (i.e. only
* the path of the URL is returned).
- *
+ *
* The bundle deployer is a standalone tool that bundle authors/developers can use
* to test their bundles prior to uploading to RHQ and deploying to managed platforms.
- *
+ *
* @return information about the bundle deployer tool that can be downloaded from the server
*/
HashMap<String, String> getBundleDeployerDownload() throws RuntimeException;
-
+
Boolean isLdapAuthorizationEnabled() throws RuntimeException;
+
+ /**
+ * GWT-RPC service asynchronous (client-side) interface
+ * @see SystemGWTService
+ */
+ void dumpToLog();
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java
index 55ed876..cf3848e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/SystemGWTServiceImpl.java
@@ -86,6 +86,11 @@ public class SystemGWTServiceImpl extends AbstractGWTServiceImpl implements Syst
}
@Override
+ public void dumpToLog() {
+ systemManager.dumpSystemInfo(getSessionSubject());
+ }
+
+ @Override
public HashMap<String, String> getAgentVersionProperties() throws RuntimeException {
try {
File file = agentManager.getAgentUpdateVersionFile();
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index a1958fe..306e8fb 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -22,6 +22,7 @@ common_button_create_child = Create Child
common_button_delete = Delete
common_button_delete_all = Delete All
common_button_disable = Disable
+common_button_dump_sysInfo_to_log = Dump system info
common_button_edit = Edit
common_button_enable = Enable
common_button_execute = Execute
@@ -624,6 +625,8 @@ view_admin_systemSettings_TraitPurge_desc = How old measurement trait data must
view_admin_systemSettings_TraitPurge_name = Delete Measurement Traits Older Than
view_admin_systemSettings_cannotLoadServerDetails = Cannot load server details
view_admin_systemSettings_cannotLoadSettings = Cannot obtain the current system settings
+view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
+view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
view_admin_systemSettings_fixBeforeSaving = Please fix the invalid values before saving
view_admin_systemSettings_group_baseline = Automatic Baseline Configuration Properties
view_admin_systemSettings_group_dataMgr = Data Manager Configuration Properties
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index fa50888..7f490b6 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -24,6 +24,7 @@ common_button_create_child = Kind-Ressource erzeugen
common_button_delete = Löschen
common_button_delete_all = Alle Löschen
common_button_disable = Deaktivieren
+## common_button_dump_sysInfo_to_log = System information ins Logfile schreiben
common_button_edit = Bearbeiten
common_button_enable = Aktivieren
common_button_execute = Ausführen
@@ -526,6 +527,8 @@ view_admin_systemSettings_AlertPurge_name = Lösche Alarme, die älter sind als
view_admin_systemSettings_AvailabilityPurge_name = Lösche Verfügbarkeitsdaten, die älter sind als
##view_admin_systemSettings_DriftFilePurge_desc = How old unused and orphaned drift files must be before being purged from backend storage. This is specified in days.
view_admin_systemSettings_DriftFilePurge_name = Lösche ungenutzte Drift-Dateine, die älter sind als
+view_admin_systemSettings_dumpedToLog = System informationen wurden erfolgreich in die Server-Log-Datei geschrieben
+view_admin_systemSettings_dumpToLogFailed = Schreiben der Systeminformation in die Server-Log-Datei ist fehlgeschlagen
view_admin_systemSettings_LDAPBindPW_name = Passwort
view_admin_systemSettings_TraitPurge_name = Lösche Trait-Daten, die älter sind als
##view_admin_systemSettings_group_drift = Drift Server Configuration Settings
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index 6b6cf6d..0d5d0a0 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -24,6 +24,7 @@ common_button_create_child = 子を作成
common_button_delete = 削除
common_button_delete_all = すべてを削除
common_button_disable = 無効
+## common_button_dump_sysInfo_to_log = Dump system info to log file
common_button_edit = 編集
common_button_enable = 有効
##common_button_execute = Execute
@@ -623,6 +624,8 @@ view_admin_systemSettings_TraitPurge_desc = データベースから除去され
view_admin_systemSettings_TraitPurge_name = 次より古い測定トレイトの削除
view_admin_systemSettings_cannotLoadServerDetails = サーバー詳細をロードできません
view_admin_systemSettings_cannotLoadSettings = 現在のシステム設定を取得できません
+## view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
+## view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
view_admin_systemSettings_fixBeforeSaving = 保存前に無効な値を修正してください
view_admin_systemSettings_group_baseline = 自動ベースライン構成プロパティ
view_admin_systemSettings_group_dataMgr = データマネージャー構成プロパティ
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
index ba9f81c..ada2945 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
@@ -22,6 +22,7 @@ common_button_create_child = Criar filho
common_button_delete = Excluir
common_button_delete_all = Excluir Todos
common_button_disable = Desabilitar
+## common_button_dump_sysInfo_to_log = Dump system info to log file
common_button_edit = Editar
common_button_enable = Habilitar
##common_button_execute = Execute
@@ -592,6 +593,8 @@ view_admin_systemSettings_BaselineDataSet_name = Baseline Dataset
view_admin_systemSettings_BaselineFrequency_desc = The frequency which the auto-calculation of baselines will be performed. If 0, baseline auto-calculation is disabled. This is specified in days.
view_admin_systemSettings_BaselineFrequency_name = Baseline Calculation Frequency
view_admin_systemSettings_DataMaintenance_desc = How often database maintenance is performed (for example, vacuuming if using Postgres). This is specified in hours.
+## view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
+## view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
view_admin_systemSettings_DataMaintenance_name = Database Maintenance Period
view_admin_systemSettings_DataReindex_desc = If enabled, certain database tables will be re-indexed periodically.
view_admin_systemSettings_DataReindex_name = Reindex Data Tables Nightly
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
index 810ade9..957e076 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
@@ -22,6 +22,7 @@ common_button_create_child = Create Child
common_button_delete = \u5220\u9664
common_button_delete_all = \u5220\u9664\u6240\u6709
common_button_disable = \u7981\u7528
+## common_button_dump_sysInfo_to_log = Dump system info to log file
common_button_edit = \u7f16\u8f91
common_button_enable = \u542f\u7528
##common_button_execute = Execute
@@ -621,6 +622,8 @@ view_admin_systemSettings_TraitPurge_desc = How old measurement trait data must
view_admin_systemSettings_TraitPurge_name = Delete Measurement Traits Older Than
view_admin_systemSettings_cannotLoadServerDetails = \u65e0\u6cd5\u52a0\u8f7d\u670d\u52a1\u5668\u8be6\u60c5
view_admin_systemSettings_cannotLoadSettings = \u65e0\u6cd5\u83b7\u5f97\u5f53\u524d\u7cfb\u7edf\u914d\u7f6e
+## view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
+## view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
view_admin_systemSettings_fixBeforeSaving = \u4fdd\u5b58\u524d\u8bf7\u4fee\u590d\u9519\u8bef
view_admin_systemSettings_group_baseline = \u81ea\u52a8Baseline\u914d\u7f6e\u5c5e\u6027
view_admin_systemSettings_group_dataMgr = \u6570\u636e\u7ba1\u7406\u5668\u57fa\u672c\u5c5e\u6027
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/RHQApplication.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/RHQApplication.java
index 090c60b..162fbae 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/RHQApplication.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/rest/RHQApplication.java
@@ -20,11 +20,25 @@ package org.rhq.enterprise.server.rest;
import javax.ws.rs.ApplicationPath;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.rhq.enterprise.server.util.LookupUtil;
+
/**
- * JAX-RS application class, defining the base http context
+ * JAX-RS application class, defining the base http context.
+ * This is called upon servlet startup or when the first request hits
+ * the REST endpoint.
+ *
* @author Heiko W. Rupp
*/
@ApplicationPath("/rest")
public class RHQApplication extends javax.ws.rs.core.Application {
+ Log log = LogFactory.getLog(RHQApplication.class);
+
+ public RHQApplication() {
+ log.info("Starting RHQ REST ");
+
+ }
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemInfoManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemInfoManagerBean.java
new file mode 100644
index 0000000..a6fbc5b
--- /dev/null
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemInfoManagerBean.java
@@ -0,0 +1,132 @@
+package org.rhq.enterprise.server.system;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.rhq.core.domain.alert.Alert;
+import org.rhq.core.domain.alert.AlertDefinition;
+import org.rhq.core.domain.auth.Subject;
+import org.rhq.core.domain.common.ProductInfo;
+import org.rhq.core.domain.common.ServerDetails;
+import org.rhq.core.domain.common.composite.SystemSettings;
+import org.rhq.core.domain.criteria.AlertCriteria;
+import org.rhq.core.domain.criteria.AlertDefinitionCriteria;
+import org.rhq.core.domain.criteria.Criteria;
+import org.rhq.core.domain.criteria.ResourceCriteria;
+import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.ResourceCategory;
+import org.rhq.core.domain.util.PageList;
+import org.rhq.enterprise.server.alert.AlertDefinitionManagerLocal;
+import org.rhq.enterprise.server.alert.AlertManagerLocal;
+import org.rhq.enterprise.server.measurement.MeasurementScheduleManagerLocal;
+import org.rhq.enterprise.server.resource.ResourceManagerLocal;
+
+/**
+ * Get system information
+ * @author Heiko W. Rupp
+ */
+@Stateless
+public class SystemInfoManagerBean implements SystemInfoManagerLocal{
+
+ Log log = LogFactory.getLog("SystemInfoManager");
+
+ @EJB SystemManagerLocal systemManager;
+ @EJB MeasurementScheduleManagerLocal scheduleManager;
+ @EJB ResourceManagerLocal resourceManager;
+ @EJB AlertManagerLocal alertManager;
+ @EJB AlertDefinitionManagerLocal alertDefinitionManager;
+
+
+ @Override
+ public Map<String, String> getSystemInformation(Subject caller) {
+
+ Map<String,String> result = new HashMap<String, String>();
+
+ ServerDetails details = systemManager.getServerDetails(caller);
+ Map<ServerDetails.Detail,String> detailsMap = details.getDetails();
+ for (Map.Entry<ServerDetails.Detail,String> detail : detailsMap.entrySet()) {
+ result.put(detail.getKey().toString(),detail.getValue());
+ }
+ ProductInfo productInfo = details.getProductInfo();
+ result.put("BuildNumber", productInfo.getBuildNumber());
+ result.put("FullName", productInfo.getFullName());
+ result.put("Name", productInfo.getName());
+
+ SystemSettings systemSettings=systemManager.getSystemSettings(caller);
+ Map<String,String> settingsMap = systemSettings.toMap();
+ // Don't use putAll(), as we need to filter out passwords
+ for (Map.Entry<String,String> detail : settingsMap.entrySet()) {
+ String key = detail.getKey();
+ if (key.equals("CAM_LDAP_BIND_PW") || key.equals("CAM_HELP_PASSWORD")) {
+ if (detail.getValue()==null)
+ result.put(key,"- null -");
+ else
+ result.put(key,"- non null -");
+ }
+ else
+ result.put(key,detail.getValue());
+ }
+
+ // system stats
+ result.putAll(getStats(caller));
+
+ return result;
+ }
+
+ @Override
+ public void dumpToLog(Subject caller) {
+ Map<String,String> infoMap = getSystemInformation(caller);
+
+ StringBuilder builder = new StringBuilder("\n");
+ for (Map.Entry<String,String> entry : infoMap.entrySet()) {
+ builder.append(entry.getKey());
+ builder.append(": [");
+ builder.append(entry.getValue());
+ builder.append("]\n");
+ }
+ log.info("SystemInformation: ********" + builder.toString() + "********");
+ }
+
+ private Map<String,String> getStats(Subject caller) {
+
+ Map<String,String> result = new HashMap<String, String>();
+
+ ResourceCriteria criteria = new ResourceCriteria();
+ criteria.addFilterResourceCategories(ResourceCategory.PLATFORM);
+ criteria.setRestriction(Criteria.Restriction.COUNT_ONLY);
+ PageList<Resource> resList = resourceManager.findResourcesByCriteria(caller,criteria);
+ result.put("PlatformCount",String.valueOf(resList.getTotalSize()));
+ criteria = new ResourceCriteria();
+ criteria.addFilterResourceCategories(ResourceCategory.SERVER);
+ criteria.setRestriction(Criteria.Restriction.COUNT_ONLY);
+ resList = resourceManager.findResourcesByCriteria(caller,criteria);
+ result.put("ServerCount",String.valueOf(resList.getTotalSize()));
+ criteria = new ResourceCriteria();
+ criteria.addFilterResourceCategories(ResourceCategory.SERVICE);
+ criteria.setRestriction(Criteria.Restriction.COUNT_ONLY);
+ resList = resourceManager.findResourcesByCriteria(caller,criteria);
+ result.put("ServiceCount",String.valueOf(resList.getTotalSize()));
+
+ AlertCriteria alertCriteria = new AlertCriteria();
+ alertCriteria.setRestriction(Criteria.Restriction.COUNT_ONLY);
+ PageList<Alert> alertList = alertManager.findAlertsByCriteria(caller,alertCriteria);
+ result.put("AlertCount",String.valueOf(alertList.getTotalSize()));
+
+ AlertDefinitionCriteria alertDefinitionCriteria = new AlertDefinitionCriteria();
+ alertDefinitionCriteria.setRestriction(Criteria.Restriction.COUNT_ONLY);
+ PageList<AlertDefinition> defList = alertDefinitionManager.findAlertDefinitionsByCriteria(caller,alertDefinitionCriteria);
+ result.put("AlertDefinitionCount",String.valueOf(defList.getTotalSize()));
+
+ // status.setSchedules(-1); // TODO number of (active) schedules
+
+ result.put("SchedulesPerMinute", String.valueOf(scheduleManager.getScheduledMeasurementsPerMinute()));
+
+ return result;
+ }
+}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemInfoManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemInfoManagerLocal.java
new file mode 100644
index 0000000..5b3f219
--- /dev/null
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemInfoManagerLocal.java
@@ -0,0 +1,48 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2011 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+package org.rhq.enterprise.server.system;
+
+import java.util.Map;
+
+import javax.ejb.Local;
+
+import org.rhq.core.domain.auth.Subject;
+
+/**
+ * Provide system information
+ * @author Heiko W. Rupp
+ */
+@Local
+public interface SystemInfoManagerLocal {
+
+ /**
+ * Return the system information to the caller.
+ * Returned content may vary depending on the caller and his rights to
+ * see various details
+ * @param caller User calling the method
+ * @return Map of system information.
+ */
+ Map<String,String> getSystemInformation(Subject caller);
+
+ /**
+ * Dump the system information to the server log file
+ * @param caller
+ */
+ void dumpToLog(Subject caller);
+}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerBean.java
index 44e48b5..af6a223 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerBean.java
@@ -117,6 +117,10 @@ public class SystemManagerBean implements SystemManagerLocal, SystemManagerRemot
@IgnoreDependency
private SubjectManagerLocal subjectManager;
+ @EJB
+ @IgnoreDependency
+ private SystemInfoManagerLocal systemInfoManager;
+
private static SystemSettings cachedSystemSettings = null;
private final String TIMER_DATA = "SystemManagerBean.reloadConfigCache";
@@ -227,7 +231,7 @@ public class SystemManagerBean implements SystemManagerLocal, SystemManagerRemot
}
// verify each new setting and persist them to the database
- // note that if a new setting is the same as the old one, we do nothing - leave the old entity as is
+ // note that if a new setting is the same as the old one, we do nothing - leave the old entity as is
for (Map.Entry<SystemSetting, String> e : settings.entrySet()) {
SystemSetting prop = e.getKey();
String value = e.getValue();
@@ -244,7 +248,7 @@ public class SystemManagerBean implements SystemManagerLocal, SystemManagerRemot
} else {
//make sure we compare the new value with a database-agnostic value
//it is important to compare in the database-agnostic format instead
- //of database specific because the conversion isn't reflective.
+ //of database specific because the conversion isn't reflective.
//Some legacy code somewhere is (or just used to) store booleans as "0"s and "1"s
//even though they are stored as strings and thus don't suffer from Oracle's
//lack of support for boolean data type. If we encounter such values, we convert
@@ -774,4 +778,9 @@ public class SystemManagerBean implements SystemManagerLocal, SystemManagerRemot
ProductInfo productInfo = coreServer.getProductInfo();
return productInfo;
}
+
+ @Override
+ public void dumpSystemInfo(Subject subject) {
+ systemInfoManager.dumpToLog(subject);
+ }
}
\ No newline at end of file
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerLocal.java
index 9d7ea10..53fe6e0 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/system/SystemManagerLocal.java
@@ -74,7 +74,7 @@ public interface SystemManagerLocal {
/**
* Reindexes all tables that need to be periodically reindexed.
- * For Oracle, this "rebuilds" the indexes, for PostgreSQL, its a "reindex".
+ * For Oracle, this "rebuilds" the indexes, for PostgreSQL, its a "reindex".
*
* @param whoami the user requesting the operation
*
@@ -138,9 +138,9 @@ public interface SystemManagerLocal {
boolean isExperimentalFeaturesEnabled();
boolean isLdapAuthorizationEnabled();
-
+
void validateSystemConfiguration(Subject subject, Properties properties) throws InvalidSystemConfigurationException;
-
+
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
// The following are shared with the Remote Interface
@@ -154,10 +154,12 @@ public interface SystemManagerLocal {
SystemSettings getSystemSettings(Subject subject);
void setSystemSettings(Subject subject, SystemSettings settings) throws Exception;
-
+
@Deprecated
Properties getSystemConfiguration(Subject subject);
@Deprecated
void setSystemConfiguration(Subject subject, Properties properties, boolean skipValidation) throws Exception;
+
+ void dumpSystemInfo(Subject subject);
}
\ No newline at end of file
commit ceb603454a5fa9b9cbd1e5c77dd97b3446acf079
Merge: d5c745a 571d055
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Thu Nov 17 09:39:54 2011 +0100
Merge remote-tracking branch 'origin/master'
commit 571d0551f8c0f8f1e98be0ec4edc3092c2b59fd5
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Wed Nov 16 15:54:51 2011 -0500
[BZ 731864] Enable Tags removal from RHQ. Requires CoreGUI enable/disable in src, but rest is maven command line parameter configurable.
i)UI tags components is disabled by setting CoreGUI.enableTagsForUI = false.
ii)For TagManager removal from CLI, need to pass the following cmd line parameters to maven in addition to normal build params:
a)enable profile Ex. -Pdisable-tags or -Dbrew=true
b)-DTagManager=false -Dfiltered.location=target/filtered-sources/java
This used maven filtering mechanism.
diff --git a/modules/enterprise/binding/pom.xml b/modules/enterprise/binding/pom.xml
index 798353c..6f2287b 100644
--- a/modules/enterprise/binding/pom.xml
+++ b/modules/enterprise/binding/pom.xml
@@ -13,6 +13,7 @@
<properties>
<persistence-api.version>1.0</persistence-api.version>
<opencsv.version>1.8</opencsv.version>
+ <filtered.location>src/main/java</filtered.location>
</properties>
<dependencies>
@@ -197,6 +198,7 @@
</dependencies>
<build>
+ <sourceDirectory>${filtered.location}</sourceDirectory>
<plugins>
<plugin>
@@ -410,5 +412,52 @@
</plugins>
</build>
</profile>
+
+ <!-- Profile activated explicitly by command line call, or brew property. -->
+ <profile>
+ <id>disable-tags</id>
+ <activation>
+ <property>
+ <name>brew</name>
+ </property>
+ </activation>
+ <build>
+
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>true</filtering>
+ <targetPath>../filtered-sources/java</targetPath>
+ </resource>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+
+ <plugins>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+
+ <execution>
+ <id>update-enabled-slsbs-for-remote</id>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <phase>generate-sources</phase>
+ <configuration>
+ <tasks>
+ <!-- Ex. -DTagManager=false will disable the TagManager from remote api if this profile is active. -->
+ <echo>Updating remote api to exclude RemoteManagers passed in.</echo>
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
</profiles>
</project>
diff --git a/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManagers.java b/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManagers.java
index 998da2b..dfe600c 100644
--- a/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManagers.java
+++ b/modules/enterprise/binding/src/main/java/org/rhq/bindings/client/RhqManagers.java
@@ -57,45 +57,52 @@ import org.rhq.enterprise.server.tagging.TagManagerRemote;
* @author Greg Hinkle
*/
public enum RhqManagers {
- AlertManager(AlertManagerRemote.class), //
- AlertDefinitionManager(AlertDefinitionManagerRemote.class), //
- AvailabilityManager(AvailabilityManagerRemote.class), //
- BundleManager(BundleManagerRemote.class), //
- CallTimeDataManager(CallTimeDataManagerRemote.class), //
- RepoManager(RepoManagerRemote.class), //
- ConfigurationManager(ConfigurationManagerRemote.class), //
- ContentManager(ContentManagerRemote.class), //
- DataAccessManager(DataAccessManagerRemote.class), //
- DriftManager(DriftManagerRemote.class), //
- DriftTemplateManager(DriftTemplateManagerRemote.class),
- DiscoveryBoss(DiscoveryBossRemote.class), //
- EventManager(EventManagerRemote.class), //
- MeasurementBaselineManager(MeasurementBaselineManagerRemote.class), //
- MeasurementDataManager(MeasurementDataManagerRemote.class), //
- MeasurementDefinitionManager(MeasurementDefinitionManagerRemote.class), //
- MeasurementScheduleManager(MeasurementScheduleManagerRemote.class), //
- OperationManager(OperationManagerRemote.class), //
- ResourceManager(ResourceManagerRemote.class), //
- ResourceFactoryManager(ResourceFactoryManagerRemote.class), //
- ResourceGroupManager(ResourceGroupManagerRemote.class), //
- ResourceTypeManager(ResourceTypeManagerRemote.class), //
- RoleManager(RoleManagerRemote.class), //
- SavedSearchManager(SavedSearchManagerRemote.class), //
- SubjectManager(SubjectManagerRemote.class), //
- SupportManager(SupportManagerRemote.class), //
- SystemManager(SystemManagerRemote.class), //
- RemoteInstallManager(RemoteInstallManagerRemote.class), //
- TagManager(TagManagerRemote.class), //
- SynchronizationManager(SynchronizationManagerRemote.class);
+ AlertManager(AlertManagerRemote.class, "${AlertManager}"), //
+ AlertDefinitionManager(AlertDefinitionManagerRemote.class, "${AlertDefinitionManager}"), //
+ AvailabilityManager(AvailabilityManagerRemote.class, "${AvailabilityManager}"), //
+ BundleManager(BundleManagerRemote.class, "${BundleManager}"), //
+ CallTimeDataManager(CallTimeDataManagerRemote.class, "${CallTimeDataManager}"), //
+ RepoManager(RepoManagerRemote.class, "${RepoManager}"), //
+ ConfigurationManager(ConfigurationManagerRemote.class, "${ConfigurationManager}"), //
+ ContentManager(ContentManagerRemote.class, "${ContentManager}"), //
+ DataAccessManager(DataAccessManagerRemote.class, "${DataAccessManager}"), //
+ DriftManager(DriftManagerRemote.class, "${DriftManager}"), //
+ DriftTemplateManager(DriftTemplateManagerRemote.class, "${DriftTemplateManager}"), //
+ DiscoveryBoss(DiscoveryBossRemote.class, "${DiscoveryBoss}"), //
+ EventManager(EventManagerRemote.class, "${EventManager}"), //
+ MeasurementBaselineManager(MeasurementBaselineManagerRemote.class, "${MeasurementBaselineManager}"), //
+ MeasurementDataManager(MeasurementDataManagerRemote.class, "${MeasurementDataManager}"), //
+ MeasurementDefinitionManager(MeasurementDefinitionManagerRemote.class, "${MeasurementDefinitionManager}"), //
+ MeasurementScheduleManager(MeasurementScheduleManagerRemote.class, "${MeasurementScheduleManager}"), //
+ OperationManager(OperationManagerRemote.class, "${OperationManager}"), //
+ ResourceManager(ResourceManagerRemote.class, "${ResourceManager}"), //
+ ResourceFactoryManager(ResourceFactoryManagerRemote.class, "${ResourceFactoryManager}"), //
+ ResourceGroupManager(ResourceGroupManagerRemote.class, "${ResourceGroupManager}"), //
+ ResourceTypeManager(ResourceTypeManagerRemote.class, "${ResourceTypeManager}"), //
+ RoleManager(RoleManagerRemote.class, "${RoleManager}"), //
+ SavedSearchManager(SavedSearchManagerRemote.class, "${SavedSearchManager}"), //
+ SubjectManager(SubjectManagerRemote.class, "${SubjectManager}"), //
+ SupportManager(SupportManagerRemote.class, "${SupportManager}"), //
+ SystemManager(SystemManagerRemote.class, "${SystemManager}"), //
+ RemoteInstallManager(RemoteInstallManagerRemote.class, "${RemoteInstallManager}"), //
+ TagManager(TagManagerRemote.class, "${TagManager}"), //
+ SynchronizationManager(SynchronizationManagerRemote.class, "${SynchronizationManager}");
private Class<?> remote;
private String remoteName;
private String beanName;
+ private boolean enabled;
- private RhqManagers(Class<?> remote) {
+ private RhqManagers(Class<?> remote, String enable) {
this.remote = remote;
this.beanName = this.name() + "Bean";
this.remoteName = this.name() + "Remote";
+ //defaults and evaluates to TRUE unless the string contains "false". Done to defend against
+ //possible errors in string replacement during rhq build.
+ this.enabled = true;
+ if ((enable != null) && (enable.trim().length() > 0)) {
+ this.enabled = (enable.trim().equalsIgnoreCase("false")) ? Boolean.FALSE : Boolean.TRUE;
+ }
}
public static RhqManagers forInterface(Class<?> iface) {
@@ -119,4 +126,8 @@ public enum RhqManagers {
public String remoteName() {
return this.remoteName;
}
+
+ public boolean enabled() {
+ return this.enabled;
+ }
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
index 2916bdb..d5badda 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java
@@ -18,6 +18,8 @@
*/
package org.rhq.enterprise.gui.coregui.client;
+import java.util.List;
+
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
@@ -64,8 +66,6 @@ import org.rhq.enterprise.gui.coregui.client.util.message.Message;
import org.rhq.enterprise.gui.coregui.client.util.message.MessageCenter;
import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
-import java.util.List;
-
/**
* The GWT {@link EntryPoint entry point} to the RHQ GUI.
*
@@ -110,6 +110,14 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String>, Event.Na
// while also changing the main content. Typically we refresh only when the path is not changed.
private static boolean pendingRefresh = false;
+ //spinder [BZ 731864] defining variable that can be set at build time to enable/disable TAG ui components.
+ // This will be set to 'false' on the release branch.
+ private static boolean enableTagsForUI = true;
+
+ public static boolean isTagsEnabledForUI() {
+ return enableTagsForUI;
+ }
+
private RootCanvas rootCanvas;
private MenuBarView menuBarView;
private Footer footer;
@@ -129,7 +137,7 @@ public class CoreGUI implements EntryPoint, ValueChangeHandler<String>, Event.Na
}
rpcTimeout = -1;
- String rpcTimeoutParam = Location.getParameter("rpcTimeout");
+ String rpcTimeoutParam = Location.getParameter("rpcTimeout");
if (rpcTimeoutParam != null) {
try {
rpcTimeout = Integer.parseInt(rpcTimeoutParam) * 1000;
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortletFactory.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortletFactory.java
index d6957b1..b2aa035 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortletFactory.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/PortletFactory.java
@@ -100,7 +100,10 @@ public class PortletFactory {
globalPortletFactoryMap.put(RecentAlertsPortlet.KEY, RecentAlertsPortlet.Factory.INSTANCE);
globalPortletFactoryMap.put(ResourceGraphPortlet.KEY, ResourceGraphPortlet.Factory.INSTANCE);
globalPortletFactoryMap.put(ResourceGroupGraphPortlet.KEY, ResourceGroupGraphPortlet.Factory.INSTANCE);
- globalPortletFactoryMap.put(TagCloudPortlet.KEY, TagCloudPortlet.Factory.INSTANCE);
+ //conditionally add tags. Defaults to true, not available in JON builds.
+ if (CoreGUI.isTagsEnabledForUI()) {
+ globalPortletFactoryMap.put(TagCloudPortlet.KEY, TagCloudPortlet.Factory.INSTANCE);
+ }
globalPortletFactoryMap.put(FavoriteResourcesPortlet.KEY, FavoriteResourcesPortlet.Factory.INSTANCE);
globalPortletFactoryMap.put(MashupPortlet.KEY, MashupPortlet.Factory.INSTANCE);
globalPortletFactoryMap.put(MessagePortlet.KEY, MessagePortlet.Factory.INSTANCE);
@@ -117,7 +120,10 @@ public class PortletFactory {
globalPortletNameMap.put(RecentAlertsPortlet.NAME, RecentAlertsPortlet.KEY);
globalPortletNameMap.put(ResourceGraphPortlet.NAME, ResourceGraphPortlet.KEY);
globalPortletNameMap.put(ResourceGroupGraphPortlet.NAME, ResourceGroupGraphPortlet.KEY);
- globalPortletNameMap.put(TagCloudPortlet.NAME, TagCloudPortlet.KEY);
+ //conditionally add tags. Defaults to true, not available in JON builds.
+ if (CoreGUI.isTagsEnabledForUI()) {
+ globalPortletNameMap.put(TagCloudPortlet.NAME, TagCloudPortlet.KEY);
+ }
globalPortletNameMap.put(FavoriteResourcesPortlet.NAME, FavoriteResourcesPortlet.KEY);
globalPortletNameMap.put(MashupPortlet.NAME, MashupPortlet.KEY);
globalPortletNameMap.put(MessagePortlet.NAME, MessagePortlet.KEY);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java
index 8df7ad0..669da75 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/groups/detail/ResourceGroupTitleBar.java
@@ -129,8 +129,8 @@ public class ResourceGroupTitleBar extends LocatableVLayout {
public void onSuccess(PageList<ResourceGroupComposite> result) {
if (result == null || result.size() != 1) {
CoreGUI.getErrorHandler().handleError(
- MSG.view_titleBar_group_failInfo(group.getName(), String
- .valueOf(ResourceGroupTitleBar.this.group.getId())));
+ MSG.view_titleBar_group_failInfo(group.getName(),
+ String.valueOf(ResourceGroupTitleBar.this.group.getId())));
return;
}
@@ -164,8 +164,8 @@ public class ResourceGroupTitleBar extends LocatableVLayout {
@Override
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError(
- MSG.view_titleBar_group_failInfo(group.getName(), String
- .valueOf(ResourceGroupTitleBar.this.group.getId())), caught);
+ MSG.view_titleBar_group_failInfo(group.getName(),
+ String.valueOf(ResourceGroupTitleBar.this.group.getId())), caught);
}
});
@@ -201,7 +201,10 @@ public class ResourceGroupTitleBar extends LocatableVLayout {
if (this.supportsFavorite) {
hlayout.addMember(favoriteButton);
}
- addMember(tagEditorView);
+ //conditionally add tags. Defaults to true, not available in JON builds.
+ if (CoreGUI.isTagsEnabledForUI()) {
+ addMember(tagEditorView);
+ }
}
private void loadTags(final TagEditorView tagEditorView) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
index 5dfe13b..49fb719 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
@@ -255,7 +255,10 @@ public class ResourceTitleBar extends LocatableVLayout {
//order the components
addMember(top);
- addMember(tagEditorView);
+ //conditionally add tags. Defaults to true, not available in JON builds.
+ if (CoreGUI.isTagsEnabledForUI()) {
+ addMember(tagEditorView);
+ }
addMember(details);
ResourceTitleBar.this.markForRedraw();
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
index 0d364d0..06da7a5 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
@@ -31,6 +31,7 @@ import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.resource.ResourceCategory;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.alert.AlertHistoryView;
import org.rhq.enterprise.gui.coregui.client.alert.SubsystemResourceAlertView;
@@ -122,8 +123,9 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
NavigationItem recentOperationsItem = new NavigationItem(OperationHistoryView.SUBSYSTEM_VIEW_ID,
"subsystems/control/Operation_16.png", new ViewFactory() {
public Canvas createView() {
- return new SubsystemOperationHistoryListView(extendLocatorId(OperationHistoryView.SUBSYSTEM_VIEW_ID
- .getName()), getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
+ return new SubsystemOperationHistoryListView(
+ extendLocatorId(OperationHistoryView.SUBSYSTEM_VIEW_ID.getName()), getGlobalPermissions()
+ .contains(Permission.MANAGE_INVENTORY));
}
});
@@ -136,8 +138,8 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
});
- NavigationItem alertDefinitionsItem = new NavigationItem(new ViewName("AlertDefinitions", MSG
- .view_reports_alertDefinitions()), "subsystems/alert/Alerts_16.png", new ViewFactory() {
+ NavigationItem alertDefinitionsItem = new NavigationItem(new ViewName("AlertDefinitions",
+ MSG.view_reports_alertDefinitions()), "subsystems/alert/Alerts_16.png", new ViewFactory() {
public Canvas createView() {
return new AlertDefinitionReportView(extendLocatorId(AlertDefinitionReportView.VIEW_ID.getName()));
}
@@ -152,9 +154,16 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
});
- return new NavigationSection(SECTION_SUBSYSTEMS_VIEW_ID, tagItem, suspectMetricsItem,
- recentConfigurationChangesItem, recentOperationsItem, recentAlertsItem, alertDefinitionsItem,
- recentDriftsItem);
+ //conditionally add tags. Defaults to true, not available in JON builds.
+ if (CoreGUI.isTagsEnabledForUI()) {
+ return new NavigationSection(SECTION_SUBSYSTEMS_VIEW_ID, tagItem, suspectMetricsItem,
+ recentConfigurationChangesItem, recentOperationsItem, recentAlertsItem, alertDefinitionsItem,
+ recentDriftsItem);
+ } else {
+ return new NavigationSection(SECTION_SUBSYSTEMS_VIEW_ID, suspectMetricsItem,
+ recentConfigurationChangesItem, recentOperationsItem, recentAlertsItem, alertDefinitionsItem,
+ recentDriftsItem);
+ }
}
private NavigationSection buildInventorySection() {
@@ -165,12 +174,12 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
}, getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
- NavigationItem platformSystemInfoItem = new NavigationItem(PlatformSummaryPortlet.VIEW_ID, ImageManager
- .getResourceIcon(ResourceCategory.PLATFORM), new ViewFactory() {
- public Canvas createView() {
- return new PlatformSummaryPortlet(extendLocatorId(PlatformSummaryPortlet.VIEW_ID.getName()));
- }
- });
+ NavigationItem platformSystemInfoItem = new NavigationItem(PlatformSummaryPortlet.VIEW_ID,
+ ImageManager.getResourceIcon(ResourceCategory.PLATFORM), new ViewFactory() {
+ public Canvas createView() {
+ return new PlatformSummaryPortlet(extendLocatorId(PlatformSummaryPortlet.VIEW_ID.getName()));
+ }
+ });
return new NavigationSection(SECTION_INVENTORY_VIEW_ID, inventorySummaryItem, platformSystemInfoItem);
}
diff --git a/modules/enterprise/remoting/client-api/src/main/java/org/rhq/enterprise/client/RemoteClient.java b/modules/enterprise/remoting/client-api/src/main/java/org/rhq/enterprise/client/RemoteClient.java
index a48f27b..bb0205b 100644
--- a/modules/enterprise/remoting/client-api/src/main/java/org/rhq/enterprise/client/RemoteClient.java
+++ b/modules/enterprise/remoting/client-api/src/main/java/org/rhq/enterprise/client/RemoteClient.java
@@ -376,7 +376,7 @@ public class RemoteClient implements RhqFacade {
public SynchronizationManagerRemote getSynchronizationManager() {
return RemoteClientProxy.getProcessor(this, RhqManagers.SynchronizationManager);
}
-
+
/**
* Returns the map of all remote managers running in the server that this
* client can talk to.
@@ -391,7 +391,9 @@ public class RemoteClient implements RhqFacade {
for (RhqManagers manager : RhqManagers.values()) {
try {
Method m = this.getClass().getMethod("get" + manager.name());
- this.managers.put(manager.name(), m.invoke(this));
+ if (manager.enabled()) {
+ this.managers.put(manager.name(), m.invoke(this));
+ }
} catch (Throwable e) {
LOG.error("Failed to load manager " + manager + " due to missing class.", e);
}
@@ -470,10 +472,10 @@ public class RemoteClient implements RhqFacade {
dummy_sslbuilder.setKeyStoreURL(config.get(SSLSocketBuilder.REMOTING_KEY_STORE_FILE_PATH));
} catch (Exception e) {
// this probably is due to the fact that the keystore doesn't exist yet - let's prepare one now
- SecurityUtil.createKeyStore(config.get(SSLSocketBuilder.REMOTING_KEY_STORE_FILE_PATH), config
- .get(SSLSocketBuilder.REMOTING_KEY_ALIAS), "CN=RHQ, OU=RedHat, O=redhat.com, C=US", config
- .get(SSLSocketBuilder.REMOTING_KEY_STORE_PASSWORD), config
- .get(SSLSocketBuilder.REMOTING_KEY_PASSWORD), "DSA", 36500);
+ SecurityUtil.createKeyStore(config.get(SSLSocketBuilder.REMOTING_KEY_STORE_FILE_PATH),
+ config.get(SSLSocketBuilder.REMOTING_KEY_ALIAS), "CN=RHQ, OU=RedHat, O=redhat.com, C=US",
+ config.get(SSLSocketBuilder.REMOTING_KEY_STORE_PASSWORD),
+ config.get(SSLSocketBuilder.REMOTING_KEY_PASSWORD), "DSA", 36500);
// now try to set it again, if an exception is still thrown, it's an unrecoverable error
dummy_sslbuilder.setKeyStoreURL(config.get(SSLSocketBuilder.REMOTING_KEY_STORE_FILE_PATH));
commit 34b8112bfd913c530255c647a97bcd236f469a83
Author: Simeon Pinder <spinder(a)redhat.com>
Date: Wed Nov 16 15:29:05 2011 -0500
[BZ 753211] removing remote agent install from non-rhq builds.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
index 27f0d8c..ff41592 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/admin/AdministrationView.java
@@ -26,6 +26,8 @@ import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.layout.VLayout;
import org.rhq.core.domain.authz.Permission;
+import org.rhq.core.domain.common.ProductInfo;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.admin.agent.install.RemoteAgentInstallView;
import org.rhq.enterprise.gui.coregui.client.admin.roles.RolesView;
@@ -127,6 +129,9 @@ public class AdministrationView extends AbstractSectionedLeftNavigationView {
}
private NavigationSection buildTopologySection() {
+ ProductInfo productInfo = CoreGUI.get().getProductInfo();
+ boolean isRHQ = (productInfo != null) && "RHQ".equals(productInfo.getShortName());
+
NavigationItem serversItem = new NavigationItem(PAGE_SERVERS_VIEW_ID, "types/Server_up_16.png",
new ViewFactory() {
public Canvas createView() {
@@ -165,8 +170,16 @@ public class AdministrationView extends AbstractSectionedLeftNavigationView {
}
}, getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
- return new NavigationSection(SECTION_TOPOLOGY_VIEW_ID, serversItem, agentsItem, affinityGroupsItem,
- partitionEventsItem, remoteAgentInstallItem);
+ //BZ: 753211
+ NavigationSection topologyRegion = null;
+ if (isRHQ) {
+ topologyRegion = new NavigationSection(SECTION_TOPOLOGY_VIEW_ID, serversItem, agentsItem,
+ affinityGroupsItem, partitionEventsItem, remoteAgentInstallItem);
+ } else {
+ topologyRegion = new NavigationSection(SECTION_TOPOLOGY_VIEW_ID, serversItem, agentsItem,
+ affinityGroupsItem, partitionEventsItem);
+ }
+ return topologyRegion;
}
private NavigationSection buildConfigurationSection() {
commit 0f0908000a96b4fbf6c0b31fbd016b24c9216353
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Nov 16 17:45:27 2011 -0500
Related to bug 753000, prevent paths and filter patterns that will
cause regex error downstream.
- Enforce a minimal character set for base directory path, filter path,
and filter patterns. Do enforcement at gui and slsb layersm and apply
to template and definition creation.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java b/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java
index 4337010..c8b8f63 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/drift/DriftConfigurationDefinition.java
@@ -66,6 +66,17 @@ public class DriftConfigurationDefinition implements Serializable {
// Thus, we only allow config names to only include spaces or "." or "-" or alphanumeric or "_" characters.
public static final String PROP_NAME_REGEX_PATTERN = "[ \\.\\-\\w]+";
+ // because we know drift definition base directory paths and filter paths will actually be used by the agent's
+ // plugin container as part of regex expressions, we must make sure they are restricted to only be characters
+ // valid for file system paths and regex. And, additionally for filter patterns, the (ant-style) filter
+ // wildcards. Thus, we only allow the base paths to include the separator characters "\", "/", the windows
+ // drive character ":" and the filename characters (see PROP_NAME_REGEX_PATTERN). Filter paths can
+ // contain the same as the base path, less the drive character. And filter patterns are the same as
+ // filter paths, plus the wildcard characters. "*", "?".
+ public static final String PROP_BASEDIR_PATH_REGEX_PATTERN = "[ \\.\\-\\w/\\:\\\\]+";
+ public static final String PROP_FILTER_PATH_REGEX_PATTERN = "[ \\.\\-\\w/\\\\]+";
+ public static final String PROP_FILTER_PATTERN_REGEX_PATTERN = "[ \\.\\-\\w/\\\\\\?\\*]+";
+
public static final boolean DEFAULT_ENABLED = true;
public static final boolean DEFAULT_ATTACHED = true;
public static final long DEFAULT_INTERVAL = 1800L;
@@ -103,9 +114,9 @@ public class DriftConfigurationDefinition implements Serializable {
private static final ConfigurationDefinition NEW_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE = new ConfigurationDefinition(
"NEW_RESOURCE_DRIFT_DEF_BY_PINNED_TEMPLATE", "A new resource drift definition created from a pinned template");
- private static final ConfigurationDefinition EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE =
- new ConfigurationDefinition("EXISTING_RESOURCE_DRIFT_DEF_BY_PINNED_TEMPLATE",
- "An existing resource drift definition created from a pinned template");
+ private static final ConfigurationDefinition EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE = new ConfigurationDefinition(
+ "EXISTING_RESOURCE_DRIFT_DEF_BY_PINNED_TEMPLATE",
+ "An existing resource drift definition created from a pinned template");
private static final ConfigurationDefinition NEW_TEMPLATE_INSTANCE = new ConfigurationDefinition(
"NEW_TEMPLATE_DRIFT_CONFIG_DEF", "A new template drift definition");
@@ -201,10 +212,13 @@ public class DriftConfigurationDefinition implements Serializable {
EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE.setConfigurationFormat(ConfigurationFormat.STRUCTURED);
EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE.put(createName(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE,
true));
- EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE.put(createDescription(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE));
- EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE.put(createInterval(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE));
+ EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE
+ .put(createDescription(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE));
+ EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE
+ .put(createInterval(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE));
EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE.put(createEnabled(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE));
- EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE.put(createDriftHandlingMode(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE));
+ EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE
+ .put(createDriftHandlingMode(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE));
EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE.put(createBasedir(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE,
true));
EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE.put(createIncludes(EXISTING_RESOURCE_INSTANCE_BY_PINNED_TEMPLATE,
@@ -261,9 +275,9 @@ public class DriftConfigurationDefinition implements Serializable {
pd.setAllowCustomEnumeratedValue(false);
pd.setConfigurationDefinition(configDef);
- RegexConstraint constrait = new RegexConstraint();
- constrait.setDetails(PROP_NAME_REGEX_PATTERN);
- pd.addConstraints(constrait);
+ RegexConstraint constraint = new RegexConstraint();
+ constraint.setDetails(PROP_NAME_REGEX_PATTERN);
+ pd.addConstraints(constraint);
return pd;
}
@@ -303,10 +317,10 @@ public class DriftConfigurationDefinition implements Serializable {
private static PropertyDefinitionSimple createAttached(ConfigurationDefinition configDef, boolean readOnly) {
String name = PROP_ATTACHED;
- String description = "A flag that indicates whether or not the definition is attached to the template from " +
- "which it is created. When a template is updated, the changes will be propagated to any attached " +
- "definitions. Furthermore, if you pin an existing template to a snapshot, then attached definitions will " +
- "become pinned as well. Finally, if you delete a template, attached definitions will also be deleted.";
+ String description = "A flag that indicates whether or not the definition is attached to the template from "
+ + "which it is created. When a template is updated, the changes will be propagated to any attached "
+ + "definitions. Furthermore, if you pin an existing template to a snapshot, then attached definitions will "
+ + "become pinned as well. Finally, if you delete a template, attached definitions will also be deleted.";
boolean required = true;
PropertySimpleType type = PropertySimpleType.BOOLEAN;
@@ -461,6 +475,11 @@ public class DriftConfigurationDefinition implements Serializable {
pd.setSummary(true);
pd.setOrder(1);
pd.setAllowCustomEnumeratedValue(false);
+
+ RegexConstraint constraint = new RegexConstraint();
+ constraint.setDetails(PROP_BASEDIR_PATH_REGEX_PATTERN);
+ pd.addConstraints(constraint);
+
return pd;
}
@@ -477,6 +496,7 @@ public class DriftConfigurationDefinition implements Serializable {
pd.setSummary(true);
pd.setOrder(8);
pd.setConfigurationDefinition(configDef);
+
return pd;
}
@@ -493,6 +513,7 @@ public class DriftConfigurationDefinition implements Serializable {
pd.setReadOnly(readOnly);
pd.setSummary(true);
pd.setOrder(0);
+
return pd;
}
@@ -508,6 +529,11 @@ public class DriftConfigurationDefinition implements Serializable {
pd.setSummary(true);
pd.setOrder(0);
pd.setAllowCustomEnumeratedValue(false);
+
+ RegexConstraint constraint = new RegexConstraint();
+ constraint.setDetails(PROP_FILTER_PATH_REGEX_PATTERN);
+ pd.addConstraints(constraint);
+
return pd;
}
@@ -523,6 +549,11 @@ public class DriftConfigurationDefinition implements Serializable {
pd.setSummary(true);
pd.setOrder(1);
pd.setAllowCustomEnumeratedValue(false);
+
+ RegexConstraint constraint = new RegexConstraint();
+ constraint.setDetails(PROP_FILTER_PATTERN_REGEX_PATTERN);
+ pd.addConstraints(constraint);
+
return pd;
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
index 37a87b7..41477f3 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
@@ -77,7 +77,9 @@ import org.rhq.core.domain.drift.DriftFile;
import org.rhq.core.domain.drift.DriftSnapshot;
import org.rhq.core.domain.drift.DriftSnapshotRequest;
import org.rhq.core.domain.drift.FileDiffReport;
+import org.rhq.core.domain.drift.Filter;
import org.rhq.core.domain.drift.DriftConfigurationDefinition.DriftHandlingMode;
+import org.rhq.core.domain.drift.DriftDefinition.BaseDirectory;
import org.rhq.core.domain.drift.DriftDefinitionComparator.CompareMode;
import org.rhq.core.domain.drift.dto.DriftChangeSetDTO;
import org.rhq.core.domain.drift.dto.DriftDTO;
@@ -743,11 +745,8 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
@Override
public void updateDriftDefinition(Subject subject, EntityContext entityContext, DriftDefinition driftDef) {
- // before we do anything, make sure the drift def name is valid
- if (!driftDef.getName().matches(DriftConfigurationDefinition.PROP_NAME_REGEX_PATTERN)) {
- throw new IllegalArgumentException("Drift definition name contains invalid characters: "
- + driftDef.getName());
- }
+ // before we do anything, validate certain field values to prevent downstream errors
+ validateDriftDefinition(driftDef);
switch (entityContext.getType()) {
case Resource:
@@ -823,6 +822,35 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
}
}
+ public static void validateDriftDefinition(DriftDefinition driftDef) {
+ if (!driftDef.getName().matches(DriftConfigurationDefinition.PROP_NAME_REGEX_PATTERN)) {
+ throw new IllegalArgumentException("Drift definition name contains invalid characters: "
+ + driftDef.getName());
+ }
+ BaseDirectory baseDir = driftDef.getBasedir();
+ if (null == baseDir
+ || !baseDir.getValueName().matches(DriftConfigurationDefinition.PROP_BASEDIR_PATH_REGEX_PATTERN)) {
+ throw new IllegalArgumentException(
+ "Drift definition base directory is null or contains invalid characters: " + baseDir.getValueName());
+ }
+ List<List<Filter>> filtersList = new ArrayList<List<Filter>>(2);
+ filtersList.add(driftDef.getIncludes());
+ filtersList.add(driftDef.getExcludes());
+ for (List<Filter> filterList : filtersList) {
+ for (Filter filter : filterList) {
+ if (!filter.getPath().matches(DriftConfigurationDefinition.PROP_FILTER_PATH_REGEX_PATTERN)) {
+ throw new IllegalArgumentException("Drift definition filter path contains invalid characters: "
+ + filter.getPath());
+ }
+ if (null != filter.getPattern()
+ && !filter.getPattern().matches(DriftConfigurationDefinition.PROP_FILTER_PATTERN_REGEX_PATTERN)) {
+ throw new IllegalArgumentException("Drift definition filter pattern contains invalid characters: "
+ + filter.getPattern());
+ }
+ }
+ }
+ }
+
@Override
public boolean isBinaryFile(Subject subject, Drift<?, ?> drift) {
String path = drift.getPath();
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
index 28e1fa1..361eb44 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
@@ -81,6 +81,11 @@ public class DriftTemplateManagerBean implements DriftTemplateManagerLocal, Drif
DriftDefinition definition) {
try {
+ // before we do anything, validate certain field values to prevent downstream errors
+ if (isUserDefined) {
+ DriftManagerBean.validateDriftDefinition(definition);
+ }
+
ResourceType resourceType = resourceTypeMgr.getResourceTypeById(subject, resourceTypeId);
DriftDefinitionTemplate template = new DriftDefinitionTemplate();
template.setName(definition.getName());
@@ -89,8 +94,8 @@ public class DriftTemplateManagerBean implements DriftTemplateManagerLocal, Drif
template.setTemplateDefinition(definition);
if (isDuplicateName(resourceType, template)) {
- throw new IllegalArgumentException("Drift definition template name must be unique. A template named " +
- "[" + template.getName() + "] already exists for " + resourceType);
+ throw new IllegalArgumentException("Drift definition template name must be unique. A template named "
+ + "[" + template.getName() + "] already exists for " + resourceType);
}
resourceType.addDriftDefinitionTemplate(template);
commit 862a95e115a95f4dff7b0fbaadb385eecf823496
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Wed Nov 16 17:11:35 2011 -0500
[BZ 712433] ProductInfo.properties file is now included in installer.war; this file is read in to determine if the current product is RHQ or JON; if JON, server properties that are not supported in JON (namely, unsupported DB types and embedded-agent related props) are not displayed in the installer GUI (https://bugzilla.redhat.com/show_bug.cgi?id=712433)
diff --git a/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ConfigurationBean.java b/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ConfigurationBean.java
index a420df5..ae64ec4 100644
--- a/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ConfigurationBean.java
+++ b/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ConfigurationBean.java
@@ -23,9 +23,12 @@ import java.net.InetAddress;
import java.sql.Connection;
import java.sql.Statement;
import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Properties;
+import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -53,6 +56,12 @@ import org.rhq.enterprise.installer.i18n.InstallerI18NResourceKeys;
public class ConfigurationBean {
private static final Log LOG = LogFactory.getLog(ConfigurationBean.class);
+ private static Set<String> JON_SUPPORTED_DATABASE_TYPES = new HashSet<String>(2);
+ static {
+ JON_SUPPORTED_DATABASE_TYPES.add("PostgreSQL");
+ JON_SUPPORTED_DATABASE_TYPES.add("Oracle");
+ }
+
private enum ExistingSchemaOption {
OVERWRITE, KEEP, SKIP
};
@@ -138,8 +147,30 @@ public class ConfigurationBean {
public void initConfiguration() {
if (configuration == null) {
- Properties properties = serverInfo.getServerProperties();
+ Properties properties = serverInfo.getServerProperties();
List<PropertyItem> itemDefs = new ServerProperties().getPropertyItems();
+
+ if ((serverInfo.getProduct() == ServerInformation.Product.JON) &&
+ !serverInfo.isUnsupportedJonFeaturesEnabled()) {
+ LOG.debug("Hiding the embedded agent props and the unsupported DB types...");
+ for (PropertyItem itemDef : itemDefs) {
+ if (itemDef.getPropertyName().startsWith(ServerProperties.PREFIX_PROP_EMBEDDED_AGENT)) {
+ itemDef.setHidden(true);
+ }
+
+ if (itemDef.getPropertyName().equals(ServerProperties.PROP_DATABASE_TYPE)) {
+ List<SelectItem> options = itemDef.getOptions();
+ for (Iterator<SelectItem> iterator = options.iterator(); iterator.hasNext(); ) {
+ SelectItem option = iterator.next();
+ String databaseType = (String) option.getValue();
+ if (!JON_SUPPORTED_DATABASE_TYPES.contains(databaseType)) {
+ iterator.remove();
+ }
+ }
+ }
+ }
+ }
+
configuration = new ArrayList<PropertyItemWithValue>();
for (PropertyItem itemDef : itemDefs) {
@@ -759,7 +790,8 @@ public class ConfigurationBean {
// now deploy RHQ Server fully
serverInfo.moveDeploymentArtifacts(true);
} catch (Exception e) {
- LOG.fatal("Failed to updated properties and fully deploy - RHQ Server will not function properly", e);
+ LOG.fatal("Failed to update properties and fully deploy - " + serverInfo.getProduct()
+ + " Server will not function properly.", e);
lastError = I18Nmsg.getMsg(InstallerI18NResourceKeys.SAVE_FAILURE, ThrowableUtil.getAllMessages(e));
return StartPageResults.ERROR;
diff --git a/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/PropertyItem.java b/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/PropertyItem.java
index 01fdc35..96ff0dd 100644
--- a/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/PropertyItem.java
+++ b/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/PropertyItem.java
@@ -205,4 +205,21 @@ public class PropertyItem {
private Locale getLocale() {
return FacesContext.getCurrentInstance().getViewRoot().getLocale();
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ PropertyItem that = (PropertyItem) o;
+
+ if (propertyName != null ? !propertyName.equals(that.propertyName) : that.propertyName != null) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ return propertyName != null ? propertyName.hashCode() : 0;
+ }
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerInformation.java b/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerInformation.java
index 089e4e2..6162bdd 100644
--- a/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerInformation.java
+++ b/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerInformation.java
@@ -93,14 +93,23 @@ public class ServerInformation {
private static final String UNDEPLOYED_H2_JMS_FILENAME = "jms-h2.rej";
private static final String UNDEPLOYED_SQLSERVER_JMS_FILENAME = "jms-sqlserver.rej";
private static final String SERVER_PROPERTIES_FILENAME = "rhq-server.properties";
-
+ private static final String PRODUCT_INFO_PROPERTIES_RESOURCE_PATH =
+ "org/rhq/enterprise/installer/ProductInfo.properties";
+ private static final String JON_UNSUPPORTED_FEATURES_ENABLED_SYSPROP = "jon.unsupportedFeaturesEnabled";
+
private MBeanServer mbeanServer = null;
private File deployDirectory = null;
private File binDirectory = null;
private File logDirectory = null;
private File dataDirectory = null;
private File confDirectory = null;
+ private Properties productInfo = null;
+ public enum Product {
+ RHQ,
+ JON
+ }
+
public ServerInformation() {
// This is called both within the context of the GUI and the auto-install startup servlet.
// Make sure you don't do anything that shouldn't be done from within the startup servlet.
@@ -232,7 +241,7 @@ public class ServerInformation {
dbsetup.setup(dbsetupSchemaXmlFile);
dbsetup.setup(dbsetupDataXmlFile, null, true, false);
} catch (Exception e) {
- LOG.fatal("Cannot install the database schema - RHQ Server will not run properly", e);
+ LOG.fatal("Cannot install the database schema - " + getProduct() + " Server will not run properly.", e);
throw e;
}
@@ -274,7 +283,7 @@ public class ServerInformation {
startAnt(new File(dbupgradeXmlFile), "db-ant-tasks.properties", antProps, logfile);
} catch (Exception e) {
- LOG.fatal("Cannot upgrade the database schema - RHQ Server will not run properly", e);
+ LOG.fatal("Cannot upgrade the database schema - " + getProduct() + " Server will not run properly.", e);
throw e;
}
@@ -973,6 +982,42 @@ public class ServerInformation {
return result;
}
+
+ public Product getProduct() {
+ Properties productInfo = getProductInfo();
+ return (productInfo.getProperty("shortName").equals("JON")) ? Product.JON : Product.RHQ;
+ }
+
+ private Properties getProductInfo() {
+ if (this.productInfo == null) {
+ ClassLoader classLoader = this.getClass().getClassLoader();
+ InputStream inputStream = classLoader.getResourceAsStream(PRODUCT_INFO_PROPERTIES_RESOURCE_PATH);
+ if (inputStream != null) {
+ Properties props = new Properties();
+ try {
+ try {
+ props.load(inputStream);
+ } finally {
+ inputStream.close();
+ }
+ } catch (IOException e) {
+ throw new IllegalStateException("Failed to load product info properties from class loader resource ["
+ + PRODUCT_INFO_PROPERTIES_RESOURCE_PATH + "].");
+ }
+
+ return props;
+ } else {
+ throw new IllegalStateException("Failed to find class loader resource ["
+ + PRODUCT_INFO_PROPERTIES_RESOURCE_PATH + "].");
+ }
+ }
+
+ return this.productInfo;
+ }
+
+ public boolean isUnsupportedJonFeaturesEnabled() {
+ return Boolean.getBoolean(JON_UNSUPPORTED_FEATURES_ENABLED_SYSPROP);
+ }
private int getAffinityGroupId(DatabaseType db, Connection conn, String affinityGroup) {
PreparedStatement stm = null;
diff --git a/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerProperties.java b/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerProperties.java
index 471c1d9..06a3b9f 100644
--- a/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerProperties.java
+++ b/modules/enterprise/gui/installer-war/src/main/java/org/rhq/enterprise/installer/ServerProperties.java
@@ -103,10 +103,11 @@ public class ServerProperties {
public static final String PROP_SECURITY_CLIENT_TRUSTSTORE_PASSWORD = "rhq.server.client.security.truststore.password";
public static final String PROP_SECURITY_CLIENT_SERVER_AUTH_MODE_ENABLED = "rhq.server.client.security.server-auth-mode-enabled";
- public static final String PROP_EMBEDDED_AGENT_ENABLED = "rhq.server.embedded-agent.enabled";
- public static final String PROP_EMBEDDED_AGENT_NAME = "rhq.server.embedded-agent.name";
- public static final String PROP_EMBEDDED_AGENT_DISABLE_NATIVE_SYSTEM = "rhq.server.embedded-agent.disable-native-system";
- public static final String PROP_EMBEDDED_AGENT_RESET_CONFIGURATION = "rhq.server.embedded-agent.reset-configuration";
+ public static final String PREFIX_PROP_EMBEDDED_AGENT = "rhq.server.embedded-agent.";
+ public static final String PROP_EMBEDDED_AGENT_ENABLED = PREFIX_PROP_EMBEDDED_AGENT + "enabled";
+ public static final String PROP_EMBEDDED_AGENT_NAME = PREFIX_PROP_EMBEDDED_AGENT + "name";
+ public static final String PROP_EMBEDDED_AGENT_DISABLE_NATIVE_SYSTEM = PREFIX_PROP_EMBEDDED_AGENT + "disable-native-system";
+ public static final String PROP_EMBEDDED_AGENT_RESET_CONFIGURATION = PREFIX_PROP_EMBEDDED_AGENT + "reset-configuration";
public static final String PROP_EMAIL_SMTP_HOST = "rhq.server.email.smtp-host";
public static final String PROP_EMAIL_SMTP_PORT = "rhq.server.email.smtp-port";
diff --git a/modules/enterprise/gui/installer-war/src/main/resources/org/rhq/enterprise/installer/ProductInfo.properties b/modules/enterprise/gui/installer-war/src/main/resources/org/rhq/enterprise/installer/ProductInfo.properties
new file mode 100644
index 0000000..f323a0e
--- /dev/null
+++ b/modules/enterprise/gui/installer-war/src/main/resources/org/rhq/enterprise/installer/ProductInfo.properties
@@ -0,0 +1,9 @@
+shortName = ${product.shortName}
+name = ${product.name}
+fullName = ${product.fullName}
+version = ${product.version}
+buildNumber = ${buildNumber}
+url = ${product.url}
+urlDomain = ${product.urlDomain}
+supportEmail = ${product.supportEmail}
+salesEmail = ${product.salesEmail}
commit 00c9fede1a51ecab6fab399d45760da276eedaa9
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Nov 16 11:04:13 2011 -0500
[bug 750917 - Can't update a drift template]
- Add support for saving updates to templates.
-- prevent updates of plugin-defined templates at gui and slsb layer
- Also:
-- fixed up some issues in drift-related I18N messages
-- removed unused private DriftManagerBean#updateCompliance(DriftDefinition)
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
index 36b8d2c..0781f22 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
@@ -158,9 +158,9 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
DriftComplianceStatus complianceStatus = DriftComplianceStatus.fromCode(complianceCode);
switch (complianceStatus) {
case OUT_OF_COMPLIANCE_NO_BASEDIR:
- return MSG.view_drift_table_out_of_compliance_no_basedir();
+ return MSG.view_drift_table_hover_outOfCompliance_noBaseDir();
case OUT_OF_COMPLIANCE_DRIFT:
- return MSG.view_drift_table_out_of_compliance_drift();
+ return MSG.view_drift_table_hover_outOfCompliance_drift();
default:
return "";
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java
index d7541c7..10acc2d 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplateEditView.java
@@ -28,8 +28,10 @@ import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.toolbar.ToolStrip;
+import org.rhq.core.domain.configuration.Configuration;
import org.rhq.core.domain.criteria.DriftDefinitionTemplateCriteria;
import org.rhq.core.domain.drift.DriftConfigurationDefinition;
+import org.rhq.core.domain.drift.DriftDefinition;
import org.rhq.core.domain.drift.DriftDefinitionTemplate;
import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
@@ -57,6 +59,8 @@ public class DriftDefinitionTemplateEditView extends LocatableVLayout implements
private ToolStrip buttonbar;
private IButton saveButton;
+ private DriftDefinitionTemplate driftTemplate;
+
private boolean refreshing = false;
public DriftDefinitionTemplateEditView(String locatorId, int driftTemplateId, boolean hasWriteAccess) {
@@ -118,13 +122,13 @@ public class DriftDefinitionTemplateEditView extends LocatableVLayout implements
public void onSuccess(final PageList<DriftDefinitionTemplate> result) {
- DriftDefinitionTemplate template = result.get(0);
+ driftTemplate = result.get(0);
editor = new ConfigurationEditor(extendLocatorId("Editor"), DriftConfigurationDefinition
- .getExistingTemplateInstance(), template.getConfiguration());
+ .getExistingTemplateInstance(), driftTemplate.getConfiguration());
editor.setOverflow(Overflow.AUTO);
editor.addPropertyValueChangeListener(DriftDefinitionTemplateEditView.this);
- editor.setReadOnly(!hasWriteAccess);
+ editor.setReadOnly(!hasWriteAccess || !driftTemplate.isUserDefined());
addMember(editor);
saveButton.disable();
@@ -141,34 +145,21 @@ public class DriftDefinitionTemplateEditView extends LocatableVLayout implements
}
private void save() {
- //
- // Configuration updatedConfiguration = editor.getConfiguration();
- //
- // GWTServiceLookup.getDriftService().updateDriftDefinition(context, new DriftDefinition(updatedConfiguration),
- // new AsyncCallback<Void>() {
- // public void onFailure(Throwable caught) {
- // CoreGUI.getErrorHandler().handleError(MSG.view_configurationDetails_error_updateFailure(), caught);
- // }
- //
- // public void onSuccess(Void result) {
- // Message message = new Message(MSG.view_drift_success_defUpdated(), Message.Severity.Info);
- //
- // switch (context.getType()) {
- // case Resource:
- // int resourceId = context.getResourceId();
- //
- // String driftHistoryUrl = LinkManager.getResourceTabLink(resourceId,
- // ResourceDetailView.Tab.DRIFT, ResourceDetailView.ConfigurationSubTab.HISTORY);
- // driftHistoryUrl = driftHistoryUrl.substring(1); // chop off the leading '#'
- // CoreGUI.goToView(driftHistoryUrl, message);
- //
- // break;
- //
- // default:
- // throw new IllegalArgumentException("Entity Context Type not supported [" + context + "]");
- // }
- // }
- // });
+
+ Configuration updatedConfiguration = editor.getConfiguration();
+ DriftDefinition updatedDefinition = new DriftDefinition(updatedConfiguration);
+ driftTemplate.setTemplateDefinition(updatedDefinition);
+
+ GWTServiceLookup.getDriftService().updateTemplate(driftTemplate, new AsyncCallback<Void>() {
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(MSG.view_configurationDetails_error_updateFailure(), caught);
+ }
+
+ public void onSuccess(Void result) {
+ Message message = new Message(MSG.view_drift_success_templateUpdated(), Message.Severity.Info);
+ CoreGUI.getMessageCenter().notify(message);
+ }
+ });
}
@Override
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
index 2c5f2f0..3948f58 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionTemplatesView.java
@@ -125,7 +125,7 @@ public class DriftDefinitionTemplatesView extends TableSection<DriftDefinitionTe
}
});
- addTableAction("Delete", MSG.common_button_delete(), MSG.view_drift_template_delete_confirm(),
+ addTableAction("Delete", MSG.common_button_delete(), MSG.view_drift_confirm_deleteTemplate(),
new AbstractTableAction(deleteEnablement) {
boolean result = false;
@@ -167,14 +167,15 @@ public class DriftDefinitionTemplatesView extends TableSection<DriftDefinitionTe
GWTServiceLookup.getDriftService().deleteDriftDefinitionTemplates(templateIds, new AsyncCallback<Void>() {
@Override
public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(MSG.view_drift_template_delete_failure(), caught);
+ CoreGUI.getErrorHandler().handleError(MSG.view_drift_failure_deleteTemplates(), caught);
DriftDefinitionTemplatesView.this.refresh();
}
@Override
public void onSuccess(Void result) {
- CoreGUI.getMessageCenter().notify(new Message(MSG.view_drift_template_delete_success(
- Integer.toString(records.length)), Message.Severity.Info));
+ CoreGUI.getMessageCenter().notify(
+ new Message(MSG.view_drift_success_deleteTemplate(Integer.toString(records.length)),
+ Message.Severity.Info));
DriftDefinitionTemplatesView.this.refresh();
}
});
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java
index ca11132..118e074 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionsView.java
@@ -141,14 +141,14 @@ public class DriftDefinitionsView extends TableSection<DriftDefinitionDataSource
}
});
- addTableAction("Delete", MSG.common_button_delete(), MSG.view_drift_delete_defConfirm(),
+ addTableAction("Delete", MSG.common_button_delete(), MSG.view_drift_confirm_deleteDefs(),
new AbstractTableAction(deleteEnablement) {
public void executeAction(ListGridRecord[] selection, Object actionValue) {
delete(selection);
}
});
- addTableAction("DeleteAll", MSG.common_button_delete_all(), MSG.view_drift_delete_defConfirmAll(),
+ addTableAction("DeleteAll", MSG.common_button_delete_all(), MSG.view_drift_confirm_deleteAllDefs(),
new TableAction() {
public boolean isEnabled(ListGridRecord[] selection) {
ListGrid grid = getListGrid();
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java
index 7566831..9412545 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/DriftGWTService.java
@@ -150,4 +150,5 @@ public interface DriftGWTService extends RemoteService {
*/
void updateDriftDefinition(EntityContext entityContext, DriftDefinition driftDef) throws RuntimeException;
+ void updateTemplate(DriftDefinitionTemplate template) throws RuntimeException;
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java
index 5302362..00618ec 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/DriftGWTServiceImpl.java
@@ -185,15 +185,6 @@ public class DriftGWTServiceImpl extends AbstractGWTServiceImpl implements Drift
}
@Override
- public void updateDriftDefinition(EntityContext entityContext, DriftDefinition driftDef) throws RuntimeException {
- try {
- this.driftManager.updateDriftDefinition(getSessionSubject(), entityContext, driftDef);
- } catch (Throwable t) {
- throw getExceptionToThrowToClient(t);
- }
- }
-
- @Override
public String getDriftFileBits(String hash) throws RuntimeException {
try {
return driftManager.getDriftFileBits(getSessionSubject(), hash);
@@ -258,4 +249,22 @@ public class DriftGWTServiceImpl extends AbstractGWTServiceImpl implements Drift
}
}
+ @Override
+ public void updateDriftDefinition(EntityContext entityContext, DriftDefinition driftDef) throws RuntimeException {
+ try {
+ this.driftManager.updateDriftDefinition(getSessionSubject(), entityContext, driftDef);
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
+ }
+ }
+
+ @Override
+ public void updateTemplate(DriftDefinitionTemplate driftDefTemplate) throws RuntimeException {
+ try {
+ this.driftTemplateManager.updateTemplate(getSessionSubject(), driftDefTemplate);
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
+ }
+ }
+
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index 232cff9..a1958fe 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -138,7 +138,6 @@ common_title_duration = Duration
common_title_edit = Edit?
common_title_edit_mode = Edit Mode
common_title_enabled = Enabled?
-common_title_in_compliance = In Compliance?
common_title_end = End
common_title_generalProp = General Properties
common_title_group = Group
@@ -149,6 +148,7 @@ common_title_help = Help
common_title_host = Host
common_title_id = ID
common_title_id_parent = Parent ID
+common_title_in_compliance = In Compliance?
common_title_interval = Interval
common_title_inventory = Inventory
common_title_inventorySummary = Inventory Summary
@@ -1188,26 +1188,30 @@ view_drift_category_fileAdded = File Added
view_drift_category_fileChanged = File Changed
view_drift_category_fileNew = Newly Detected
view_drift_category_fileRemoved = File Removed
-view_drift_delete_defConfirm = Delete the selected drift detection definition(s)?
-view_drift_delete_defConfirmAll = Delete all drift detection definition?
+view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
+view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
+view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
+view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
view_drift_failure_detectNow = Failed to submit drift detection run request
view_drift_failure_load = Failed to fetch drift instances
view_drift_failure_pinToDef = Failed to pin snapshot to definition
view_drift_success_defUpdated = Drift detection definition updated and will affect the next detection run as applicable.
view_drift_success_delete = Successfully deleted {0} drift instances
view_drift_success_deleteDefs = Successfully deleted {0} drift detection definitions
+view_drift_success_deleteTemplate = Successfully deleted {0} drift templates
view_drift_success_detectNow = Successfully submitted drift detection run request
view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
+view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
view_drift_table_baseDir = Base Directory
view_drift_table_driftHandlingMode = Drift Handling
view_drift_table_driftHandlingMode_normal = normal
view_drift_table_driftHandlingMode_plannedChanges = planned changes
-view_drift_table_out_of_compliance_drift = There is drift
-view_drift_table_out_of_compliance_no_basedir = The base directory does not exist
view_drift_table_hover_defNotPinned = The drift definition is not pinned Click to view the initial snapshot.
view_drift_table_hover_defPinned = The drift definition is pinned to its initial snapshot. Click to view the initial snapshot.
view_drift_table_hover_edit = Click to view or edit the drift definition or template properties.
+view_drift_table_hover_outOfCompliance_drift = There is drift
+view_drift_table_hover_outOfCompliance_noBaseDir = The base directory does not exist
view_drift_table_hover_templateNotPinned = The drift template is not pinned to a snapshot.
view_drift_table_hover_templatePinned = The drift template is pinned to a snapshot. Click to view the pinned snapshot.
view_drift_table_newFile = New File
@@ -1227,9 +1231,6 @@ view_drift_wizard_addDef_success = Successfully added new drift detection defini
view_drift_wizard_addDef_templatePrompt = Drift Definition Templates
view_drift_wizard_addDef_title = Add Drift Detection Definition for Resource of Type [{0}]
view_drift_wizard_addDef_windowTitle = Add Drift Detection Definition Wizard
-view_drift_template_delete_confirm = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
-view_drift_template_delete_success = Successfully deleted {0} drift templates
-view_drift_template_delete_failure = "Failed to delete some or all of the drift templates
view_drift_wizard_addTemplate_failure = Failed to add new drift template [{0}]
view_drift_wizard_addTemplate_infoStepHelp = Each drift template is derived from an existing template. This provides a quick way to build new templates that are similar to existing templates, or originate with plugin defined templates. Like a drift definition, the template describes a set of files for which drift monitoring will be performed. Depending on the situation a definition derived from the template may or may not be allowed to alter the file set, or change other settings. Template names must be unique within a resource type.
view_drift_wizard_addTemplate_infoStepName = Select the Starting Template
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index d89cf26..fa50888 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -1036,17 +1036,21 @@ view_dashboards_title = Dashboard
##view_drift_category_fileChanged = File Changed
##view_drift_category_fileNew = Newly Detected
##view_drift_category_fileRemoved = File Removed
-view_drift_delete_defConfirm = Delete the selected drift detection definition(s)?
-view_drift_delete_defConfirmAll = Delete all drift detection definition?
+##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
+##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
+view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
+##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
##view_drift_failure_load = Failed to fetch drift instances
##view_drift_failure_pinToDef = Failed to pin snapshot to definition
##view_drift_success_defUpdated = Drift detection definition updated and will affect the next detection run as applicable.
##view_drift_success_delete = Successfully deleted {0} drift instances
##view_drift_success_deleteDefs = Successfully deleted {0} drift detection definitions
+##view_drift_success_deleteTemplate = Successfully deleted {0} drift templates
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
+##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1054,6 +1058,8 @@ view_drift_delete_defConfirmAll = Delete all drift detection definition?
##view_drift_table_hover_defNotPinned = The drift definition is not pinned Click to view the initial snapshot.
##view_drift_table_hover_defPinned = The drift definition is pinned to its initial snapshot. Click to view the initial snapshot.
##view_drift_table_hover_edit = Click to view or edit the drift definition or template properties.
+##view_drift_table_hover_outOfCompliance_drift = There is drift
+##view_drift_table_hover_outOfCompliance_noBaseDir = The base directory does not exist
##view_drift_table_hover_templateNotPinned = The drift template is not pinned to a snapshot.
##view_drift_table_hover_templatePinned = The drift template is pinned to a snapshot. Click to view the pinned snapshot.
##view_drift_table_newFile = New File
@@ -1064,7 +1070,7 @@ view_drift_delete_defConfirmAll = Delete all drift detection definition?
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
-view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
+##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
##view_drift_wizard_addDef_failure = Failed to add new drift detection definition [{0}]
##view_drift_wizard_addDef_infoStepHelp = Each drift detection definition describes a set of files for which drift monitoring will be performed. The definition can be enabled and disabled, defines the detection run interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use as a starting definition, which can then be edited.
@@ -1088,9 +1094,9 @@ view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_wizard_pinTemplate_infoStepName = Select the Template to be Pinned
##view_drift_wizard_pinTemplate_infoStepNewTemplate = Pin to New Template (derived from the snapshot''s Drift Definition)
##view_drift_wizard_pinTemplate_infoStepRadioHelp = The snapshot can be pinned to a new or existing drift template. The ''New Template" option allows the user to promote a trusted definition and snapshot, at the resource level, to the type level. The new template can then be applied to members of the type. The new template is initially a copy of the snapshot''s drift definition but can then be edited in the next step. The name should be changed and must be a unique drift template name for the type. The "Existing Template" option allows the user to pin, or re-pin, an existing template with the selected snapshot. To be valid, the existing template must monitor the same directories as the snapshot''s definition. The selection box displays only valid existing templates. If there are no valid existing templates this option can not be selected.
-view_drift_wizard_pinTemplate_infoStepRadioTitle = Template Selection
-view_drift_wizard_pinTemplate_infoStepSelectBlocked = There are no existing templates that monitor the same directories as the snapshot''s definition. Select the "New Template" option to continue.
-view_drift_wizard_pinTemplate_infoStepSelectTitle = Existing Templates
+##view_drift_wizard_pinTemplate_infoStepRadioTitle = Template Selection
+##view_drift_wizard_pinTemplate_infoStepSelectBlocked = There are no existing templates that monitor the same directories as the snapshot''s definition. Select the "New Template" option to continue.
+##view_drift_wizard_pinTemplate_infoStepSelectTitle = Existing Templates
##view_drift_wizard_pinTemplate_success = Successfully pinned the drift template [{0}].
##view_drift_wizard_pinTemplate_title = Pin Snapshot [{0}] of Definition [{1}] to a Drift Template for type [{2}]
##view_drift_wizard_pinTemplate_windowTitle = Pin Drift Definition Template Wizard
@@ -1347,8 +1353,8 @@ view_operationScheduleDetails_noParameters = Diese Operation benötigt keine Par
##view_portlet_autodiscovery_config_platform_selection = Number of platforms to display
##view_portlet_autodiscovery_help_msg = This portlet offers the ability to import newly discovered resources into the inventory for monitoring and management or to ignore them from further action.
view_portlet_autodiscovery_title = Discovery-Warteschlange
-view_portlet_defaultName_inventorySummary=Inventarübersicht
-## view_portlet_defaultName_mashup = Mashup
+view_portlet_defaultName_inventorySummary = Inventarübersicht
+##view_portlet_defaultName_mashup = Mashup
view_portlet_defaultName_message = Nachricht
view_portlet_defaultName_operations = Kürzlich ausgeführte Operationen
view_portlet_defaultName_platformSummary = Platformauslastung
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index 3359ece..6b6cf6d 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -1178,17 +1178,21 @@ view_dashboards_title = ダッシュボード
##view_drift_category_fileChanged = File Changed
##view_drift_category_fileNew = Newly Detected
##view_drift_category_fileRemoved = File Removed
-view_drift_delete_defConfirm = Delete the selected drift detection definition(s)?
-view_drift_delete_defConfirmAll = Delete all drift detection definition?
+##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
+##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
+view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
+##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
##view_drift_failure_load = Failed to fetch drift instances
##view_drift_failure_pinToDef = Failed to pin snapshot to definition
##view_drift_success_defUpdated = Drift detection definition updated and will affect the next detection run as applicable.
##view_drift_success_delete = Successfully deleted {0} drift instances
##view_drift_success_deleteDefs = Successfully deleted {0} drift detection definitions
+##view_drift_success_deleteTemplate = Successfully deleted {0} drift templates
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
+##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1196,6 +1200,8 @@ view_drift_delete_defConfirmAll = Delete all drift detection definition?
##view_drift_table_hover_defNotPinned = The drift definition is not pinned Click to view the initial snapshot.
##view_drift_table_hover_defPinned = The drift definition is pinned to its initial snapshot. Click to view the initial snapshot.
##view_drift_table_hover_edit = Click to view or edit the drift definition or template properties.
+##view_drift_table_hover_outOfCompliance_drift = There is drift
+##view_drift_table_hover_outOfCompliance_noBaseDir = The base directory does not exist
##view_drift_table_hover_templateNotPinned = The drift template is not pinned to a snapshot.
##view_drift_table_hover_templatePinned = The drift template is pinned to a snapshot. Click to view the pinned snapshot.
##view_drift_table_newFile = New File
@@ -1206,7 +1212,7 @@ view_drift_delete_defConfirmAll = Delete all drift detection definition?
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
-view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
+##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
##view_drift_wizard_addDef_failure = Failed to add new drift detection definition [{0}]
##view_drift_wizard_addDef_infoStepHelp = Each drift detection definition describes a set of files for which drift monitoring will be performed. The definition can be enabled and disabled, defines the detection run interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use as a starting definition, which can then be edited.
@@ -1230,9 +1236,9 @@ view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_wizard_pinTemplate_infoStepName = Select the Template to be Pinned
##view_drift_wizard_pinTemplate_infoStepNewTemplate = Pin to New Template (derived from the snapshot''s Drift Definition)
##view_drift_wizard_pinTemplate_infoStepRadioHelp = The snapshot can be pinned to a new or existing drift template. The ''New Template" option allows the user to promote a trusted definition and snapshot, at the resource level, to the type level. The new template can then be applied to members of the type. The new template is initially a copy of the snapshot''s drift definition but can then be edited in the next step. The name should be changed and must be a unique drift template name for the type. The "Existing Template" option allows the user to pin, or re-pin, an existing template with the selected snapshot. To be valid, the existing template must monitor the same directories as the snapshot''s definition. The selection box displays only valid existing templates. If there are no valid existing templates this option can not be selected.
-view_drift_wizard_pinTemplate_infoStepRadioTitle = Template Selection
-view_drift_wizard_pinTemplate_infoStepSelectBlocked = There are no existing templates that monitor the same directories as the snapshot''s definition. Select the "New Template" option to continue.
-view_drift_wizard_pinTemplate_infoStepSelectTitle = Existing Templates
+##view_drift_wizard_pinTemplate_infoStepRadioTitle = Template Selection
+##view_drift_wizard_pinTemplate_infoStepSelectBlocked = There are no existing templates that monitor the same directories as the snapshot''s definition. Select the "New Template" option to continue.
+##view_drift_wizard_pinTemplate_infoStepSelectTitle = Existing Templates
##view_drift_wizard_pinTemplate_success = Successfully pinned the drift template [{0}].
##view_drift_wizard_pinTemplate_title = Pin Snapshot [{0}] of Definition [{1}] to a Drift Template for type [{2}]
##view_drift_wizard_pinTemplate_windowTitle = Pin Drift Definition Template Wizard
@@ -1329,9 +1335,9 @@ view_groupConfigEdit_valsDiff = メンバー値の違い
view_groupConfigEdit_valsDiffForProp = プロパティ [{0}] のためのメンバー値
view_groupCreateWizard_createFailure = リソースグループの作成に失敗しました [{0}] : {1}
view_groupCreateWizard_createStepName = グループ設定
-## view_groupCreateWizard_createStep_group_exists = Group with name [{0}] already exists
+##view_groupCreateWizard_createStep_group_exists = Group with name [{0}] already exists
view_groupCreateWizard_createStep_recursive = 再帰
-## view_groupCreateWizard_createSuccessful_concise = 新規のリソースグループを作成しました。[{0}]
+##view_groupCreateWizard_createSuccessful_concise = 新規のリソースグループを作成しました。[{0}]
view_groupCreateWizard_createSuccessful_full = [{2}] メンバーリソースを含む 名前 [{1}] の新規 [{0}] リソースグループを作成しました。
view_groupCreateWizard_membersStepName = メンバーの選択
view_groupCreateWizard_title = グループ作成
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
index e0b81f7..ba9f81c 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
@@ -1207,17 +1207,21 @@ view_drift_category_fileAdded = Arquivo adicionado
view_drift_category_fileChanged = Arquivo alterado
##view_drift_category_fileNew = Newly Detected
##view_drift_category_fileRemoved = Arquivo removido
-view_drift_delete_defConfirm = Delete the selected drift detection definition(s)?
-view_drift_delete_defConfirmAll = Delete all drift detection definition?
+##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
+##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
+view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
+##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
view_drift_failure_detectNow = Falha ao submeter a requisi��o de detec��o do drift
view_drift_failure_load = Falha ao recuperar os dados do drift
##view_drift_failure_pinToDef = Failed to pin snapshot to definition
##view_drift_success_defUpdated = Drift detection definition updated and will affect the next detection run as applicable.
view_drift_success_delete = Drifts {0} exclu�dos com sucesso!
##view_drift_success_deleteDefs = Successfully deleted {0} drift detection definitions
+##view_drift_success_deleteTemplate = Successfully deleted {0} drift templates
view_drift_success_detectNow = Requisi��o de detec��o de drift submetida com sucesso.
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
+##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
##view_drift_table_baseDir = Diret�rio Base
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1225,6 +1229,8 @@ view_drift_success_detectNow = Requisi��o de detec��o de drift submetida
##view_drift_table_hover_defNotPinned = The drift definition is not pinned Click to view the initial snapshot.
##view_drift_table_hover_defPinned = The drift definition is pinned to its initial snapshot. Click to view the initial snapshot.
##view_drift_table_hover_edit = Click to view or edit the drift definition or template properties.
+##view_drift_table_hover_outOfCompliance_drift = There is drift
+##view_drift_table_hover_outOfCompliance_noBaseDir = The base directory does not exist
##view_drift_table_hover_templateNotPinned = The drift template is not pinned to a snapshot.
##view_drift_table_hover_templatePinned = The drift template is pinned to a snapshot. Click to view the pinned snapshot.
##view_drift_table_newFile = Novo Arquivo
@@ -1235,7 +1241,7 @@ view_drift_success_detectNow = Requisi��o de detec��o de drift submetida
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
-view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
+##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
##view_drift_wizard_addDef_failure = Failed to add new drift detection definition [{0}]
##view_drift_wizard_addDef_infoStepHelp = Each drift detection definition describes a set of files for which drift monitoring will be performed. The definition can be enabled and disabled, defines the detection run interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use as a starting definition, which can then be edited.
@@ -1259,9 +1265,9 @@ view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_wizard_pinTemplate_infoStepName = Select the Template to be Pinned
##view_drift_wizard_pinTemplate_infoStepNewTemplate = Pin to New Template (derived from the snapshot''s Drift Definition)
##view_drift_wizard_pinTemplate_infoStepRadioHelp = The snapshot can be pinned to a new or existing drift template. The ''New Template" option allows the user to promote a trusted definition and snapshot, at the resource level, to the type level. The new template can then be applied to members of the type. The new template is initially a copy of the snapshot''s drift definition but can then be edited in the next step. The name should be changed and must be a unique drift template name for the type. The "Existing Template" option allows the user to pin, or re-pin, an existing template with the selected snapshot. To be valid, the existing template must monitor the same directories as the snapshot''s definition. The selection box displays only valid existing templates. If there are no valid existing templates this option can not be selected.
-view_drift_wizard_pinTemplate_infoStepRadioTitle = Template Selection
-view_drift_wizard_pinTemplate_infoStepSelectBlocked = There are no existing templates that monitor the same directories as the snapshot''s definition. Select the "New Template" option to continue.
-view_drift_wizard_pinTemplate_infoStepSelectTitle = Existing Templates
+##view_drift_wizard_pinTemplate_infoStepRadioTitle = Template Selection
+##view_drift_wizard_pinTemplate_infoStepSelectBlocked = There are no existing templates that monitor the same directories as the snapshot''s definition. Select the "New Template" option to continue.
+##view_drift_wizard_pinTemplate_infoStepSelectTitle = Existing Templates
##view_drift_wizard_pinTemplate_success = Successfully pinned the drift template [{0}].
##view_drift_wizard_pinTemplate_title = Pin Snapshot [{0}] of Definition [{1}] to a Drift Template for type [{2}]
##view_drift_wizard_pinTemplate_windowTitle = Pin Drift Definition Template Wizard
@@ -1359,9 +1365,9 @@ view_groupConfigEdit_valsDiff = valores dos membros diferem
view_groupConfigEdit_valsDiffForProp = Valores dos membros para a Propriedade [{0}]
view_groupCreateWizard_createFailure = Falha ao criar grupo de recursos [{0}] : {1}
view_groupCreateWizard_createStepName = Propriedades do Grupo
-## view_groupCreateWizard_createStep_group_exists = Group with name [{0}] already exists
+##view_groupCreateWizard_createStep_group_exists = Group with name [{0}] already exists
view_groupCreateWizard_createStep_recursive = Recursivo
-## view_groupCreateWizard_createSuccessful_concise = Um novo grupo de recursos foi criado. [{0}]
+##view_groupCreateWizard_createSuccessful_concise = Um novo grupo de recursos foi criado. [{0}]
view_groupCreateWizard_createSuccessful_full = Um novo grupo de recursos de [{0}] chamado [{1}] contendo [{2}] membros foi criado!
view_groupCreateWizard_membersStepName = Selecionar Membros
view_groupCreateWizard_title = Criar Grupo
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
index 69d3fd1..810ade9 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
@@ -1187,17 +1187,21 @@ view_dashboards_title = \u7edf\u8ba1\u8868\u76d8
##view_drift_category_fileChanged = File Changed
##view_drift_category_fileNew = Newly Detected
##view_drift_category_fileRemoved = File Removed
-view_drift_delete_defConfirm = Delete the selected drift detection definition(s)?
-view_drift_delete_defConfirmAll = Delete all drift detection definition?
+##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
+##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
+view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
+##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
##view_drift_failure_load = Failed to fetch drift instances
##view_drift_failure_pinToDef = Failed to pin snapshot to definition
##view_drift_success_defUpdated = Drift detection definition updated and will affect the next detection run as applicable.
##view_drift_success_delete = Successfully deleted {0} drift instances
##view_drift_success_deleteDefs = Successfully deleted {0} drift detection definitions
+##view_drift_success_deleteTemplate = Successfully deleted {0} drift templates
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
+##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1205,6 +1209,8 @@ view_drift_delete_defConfirmAll = Delete all drift detection definition?
##view_drift_table_hover_defNotPinned = The drift definition is not pinned Click to view the initial snapshot.
##view_drift_table_hover_defPinned = The drift definition is pinned to its initial snapshot. Click to view the initial snapshot.
##view_drift_table_hover_edit = Click to view or edit the drift definition or template properties.
+##view_drift_table_hover_outOfCompliance_drift = There is drift
+##view_drift_table_hover_outOfCompliance_noBaseDir = The base directory does not exist
##view_drift_table_hover_templateNotPinned = The drift template is not pinned to a snapshot.
##view_drift_table_hover_templatePinned = The drift template is pinned to a snapshot. Click to view the pinned snapshot.
##view_drift_table_newFile = New File
@@ -1215,7 +1221,7 @@ view_drift_delete_defConfirmAll = Delete all drift detection definition?
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
-view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
+##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
##view_drift_wizard_addDef_failure = Failed to add new drift detection definition [{0}]
##view_drift_wizard_addDef_infoStepHelp = Each drift detection definition describes a set of files for which drift monitoring will be performed. The definition can be enabled and disabled, defines the detection run interval, and specifies a base directory and optional file filters. For each resource type offering drift detection there will be one or more predefined templates to use as a starting definition, which can then be edited.
@@ -1239,9 +1245,9 @@ view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_wizard_pinTemplate_infoStepName = Select the Template to be Pinned
##view_drift_wizard_pinTemplate_infoStepNewTemplate = Pin to New Template (derived from the snapshot''s Drift Definition)
##view_drift_wizard_pinTemplate_infoStepRadioHelp = The snapshot can be pinned to a new or existing drift template. The ''New Template" option allows the user to promote a trusted definition and snapshot, at the resource level, to the type level. The new template can then be applied to members of the type. The new template is initially a copy of the snapshot''s drift definition but can then be edited in the next step. The name should be changed and must be a unique drift template name for the type. The "Existing Template" option allows the user to pin, or re-pin, an existing template with the selected snapshot. To be valid, the existing template must monitor the same directories as the snapshot''s definition. The selection box displays only valid existing templates. If there are no valid existing templates this option can not be selected.
-view_drift_wizard_pinTemplate_infoStepRadioTitle = Template Selection
-view_drift_wizard_pinTemplate_infoStepSelectBlocked = There are no existing templates that monitor the same directories as the snapshot''s definition. Select the "New Template" option to continue.
-view_drift_wizard_pinTemplate_infoStepSelectTitle = Existing Templates
+##view_drift_wizard_pinTemplate_infoStepRadioTitle = Template Selection
+##view_drift_wizard_pinTemplate_infoStepSelectBlocked = There are no existing templates that monitor the same directories as the snapshot''s definition. Select the "New Template" option to continue.
+##view_drift_wizard_pinTemplate_infoStepSelectTitle = Existing Templates
##view_drift_wizard_pinTemplate_success = Successfully pinned the drift template [{0}].
##view_drift_wizard_pinTemplate_title = Pin Snapshot [{0}] of Definition [{1}] to a Drift Template for type [{2}]
##view_drift_wizard_pinTemplate_windowTitle = Pin Drift Definition Template Wizard
@@ -1339,9 +1345,9 @@ view_groupConfigEdit_valsDiff = \u6210\u5458\u503c\u6709\u5dee\u5f02
view_groupConfigEdit_valsDiffForProp = \u5c5e\u6027 [{0}]\u7684\u6210\u5458\u503c
view_groupCreateWizard_createFailure = \u521b\u5efa\u8d44\u6e90\u7ec4\u5931\u8d25 [{0}] : {1}
view_groupCreateWizard_createStepName = \u7ec4\u8bbe\u7f6e
-## view_groupCreateWizard_createStep_group_exists = Group with name [{0}] already exists
+##view_groupCreateWizard_createStep_group_exists = Group with name [{0}] already exists
view_groupCreateWizard_createStep_recursive = \u9012\u5f52
-## view_groupCreateWizard_createSuccessful_concise = \u6210\u529f\u7684\u521b\u5efa\u4e86\u8d44\u6e90\u7ec4. [{0}]
+##view_groupCreateWizard_createSuccessful_concise = \u6210\u529f\u7684\u521b\u5efa\u4e86\u8d44\u6e90\u7ec4. [{0}]
view_groupCreateWizard_createSuccessful_full = \u6210\u529f\u7684\u521b\u5efa\u540d\u79f0\u662f [{1}]\u5305\u542b [{2}]\u4e2a\u8d44\u6e90\u6210\u5458\u7684[{0}]\u8d44\u6e90\u7ec4
view_groupCreateWizard_membersStepName = \u9009\u62e9\u6210\u5458
view_groupCreateWizard_title = \u521b\u5efa\u7ec4
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
index 89d5709..37a87b7 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
@@ -823,15 +823,6 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
}
}
- private void updateCompliance(DriftDefinition updatedDef) {
- DriftDefinition currentDef = entityManager.find(DriftDefinition.class, updatedDef.getId());
-
- // check to see if we are unpinning the definition
- if (currentDef.isPinned() && !updatedDef.isPinned()) {
- updatedDef.setComplianceStatus(DriftComplianceStatus.IN_COMPLIANCE);
- }
- }
-
@Override
public boolean isBinaryFile(Subject subject, Drift<?, ?> drift) {
String path = drift.getPath();
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
index ddfe8f0..28e1fa1 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
@@ -165,8 +165,8 @@ public class DriftTemplateManagerBean implements DriftTemplateManagerLocal, Drif
DriftDefinitionTemplate template = entityMgr.find(DriftDefinitionTemplate.class, templateId);
for (DriftDefinition defintion : template.getDriftDefinitions()) {
if (defintion.isAttached()) {
- driftMgr.deleteDriftDefinition(subject, forResource(defintion.getResource().getId()),
- defintion.getName());
+ driftMgr.deleteDriftDefinition(subject, forResource(defintion.getResource().getId()), defintion
+ .getName());
} else {
defintion.setTemplate(null);
}
@@ -176,23 +176,30 @@ public class DriftTemplateManagerBean implements DriftTemplateManagerLocal, Drif
@RequiredPermission(Permission.MANAGE_SETTINGS)
@Override
- public void updateTemplate(Subject subject, DriftDefinitionTemplate template) {
- DriftDefinitionTemplate oldTemplate = entityMgr.find(DriftDefinitionTemplate.class, template.getId());
+ public void updateTemplate(Subject subject, DriftDefinitionTemplate updatedTemplate) {
- if (!oldTemplate.getName().equals(template.getName())) {
+ DriftDefinitionTemplate template = entityMgr.find(DriftDefinitionTemplate.class, updatedTemplate.getId());
+
+ if (null == template) {
+ throw new IllegalArgumentException("Template with id [" + updatedTemplate.getId() + "] not found");
+ }
+ if (!template.isUserDefined()) {
+ throw new IllegalArgumentException("Plugin-defined templates cannot be be modified");
+ }
+ if (!template.getName().equals(updatedTemplate.getName())) {
throw new IllegalArgumentException("The template's name cannot be modified");
}
-
DriftDefinitionComparator comparator = new DriftDefinitionComparator(
- DriftDefinitionComparator.CompareMode.ONLY_DIRECTORY_SPECIFICATIONS);
- if (comparator.compare(oldTemplate.getTemplateDefinition(), template.getTemplateDefinition()) != 0) {
+ DriftDefinitionComparator.CompareMode.ONLY_DIRECTORY_SPECIFICATIONS);
+ if (comparator.compare(template.getTemplateDefinition(), updatedTemplate.getTemplateDefinition()) != 0) {
throw new IllegalArgumentException("The template's base directory and filters cannot be modified");
}
- DriftDefinitionTemplate updatedTemplate = entityMgr.merge(template);
- DriftDefinition templateDef = updatedTemplate.getTemplateDefinition();
+ template.setTemplateDefinition(updatedTemplate.getTemplateDefinition());
+ template = entityMgr.merge(template);
+ DriftDefinition templateDef = template.getTemplateDefinition();
- for (DriftDefinition resourceDef : updatedTemplate.getDriftDefinitions()) {
+ for (DriftDefinition resourceDef : template.getDriftDefinitions()) {
if (resourceDef.isAttached()) {
resourceDef.setInterval(templateDef.getInterval());
resourceDef.setDriftHandlingMode(templateDef.getDriftHandlingMode());
commit d5c745ab74e75f52242b245c4ad83a3e70b6d7a0
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Nov 16 13:04:22 2011 +0100
BZ 754199 don't print to stdout/err from within plugins. Also put the discovery loop in a try-catch-block, so that one failed discovery does not prevent discovery of other processes.
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java
index 13c9ae6..40561a0 100644
--- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java
+++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASConnection.java
@@ -183,14 +183,14 @@ public class ASConnection {
try {
br.close();
} catch (IOException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.error(e.getMessage());
}
}
if (es != null) {
try {
es.close();
} catch (IOException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.error(e.getMessage());
}
}
long t2 = System.currentTimeMillis();
@@ -245,7 +245,7 @@ public class ASConnection {
res = mapper.readValue(node, Result.class);
return res;
} catch (IOException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.error(e.getMessage());
return null;
}
}
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java
index c505b00..d17a311 100644
--- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java
+++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ASUploadConnection.java
@@ -53,7 +53,7 @@ public class ASUploadConnection {
private static final String UPLOAD_URL_PATH = ASConnection.MANAGEMENT + "/add-content";
- private final Log log = LogFactory.getLog(ASUploadConnection.class);
+ private static final Log log = LogFactory.getLog(ASUploadConnection.class);
BufferedOutputStream os = null;
InputStream is = null;
@@ -122,7 +122,7 @@ public class ASUploadConnection {
log.warn("- no InputStream available -");
} catch (IOException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.error(e);
}
finally {
closeQuietly(is);
@@ -191,7 +191,7 @@ public class ASUploadConnection {
}
} catch (Exception e) {
- e.printStackTrace(); // TODO
+ log.error(e);
return true;
}
}
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseProcessDiscovery.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseProcessDiscovery.java
index 465e943..54e7e78 100644
--- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseProcessDiscovery.java
+++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/BaseProcessDiscovery.java
@@ -67,136 +67,140 @@ public class BaseProcessDiscovery extends AbstractBaseDiscovery implements Resou
for (ProcessScanResult psr : scans) {
- Configuration config = discoveryContext.getDefaultPluginConfiguration();
- // IF SE, then look at domain/configuration/host.xml <management interface="default" port="9990
- // for management port
- String[] commandLine = psr.getProcessInfo().getCommandLine();
- String serverNameFull;
- String serverName;
- String psName = psr.getProcessScan().getName();
- String description = discoveryContext.getResourceType().getDescription();
- String homeDir = getHomeDirFromCommandLine(commandLine);
- String version = determineServerVersionFromHomeDir(homeDir);
- boolean isEAP = false;
-
- //retrieve specific boot log file. Override for Standalone as server.log is more appropriate
- String bootLogFile = getLogFileFromCommandLine(commandLine);
- String logFile = bootLogFile;
-
- if (homeDir.contains("eap")) {
- isEAP=true;
- }
+ try {
+ Configuration config = discoveryContext.getDefaultPluginConfiguration();
+ // IF SE, then look at domain/configuration/host.xml <management interface="default" port="9990
+ // for management port
+ String[] commandLine = psr.getProcessInfo().getCommandLine();
+ String serverNameFull;
+ String serverName;
+ String psName = psr.getProcessScan().getName();
+ String description = discoveryContext.getResourceType().getDescription();
+ String homeDir = getHomeDirFromCommandLine(commandLine);
+ String version = determineServerVersionFromHomeDir(homeDir);
+ boolean isEAP = false;
+
+ //retrieve specific boot log file. Override for Standalone as server.log is more appropriate
+ String bootLogFile = getLogFileFromCommandLine(commandLine);
+ String logFile = bootLogFile;
+
+ if (homeDir.contains("eap")) {
+ isEAP=true;
+ }
- if (psName.equals("HostController")) {
+ if (psName.equals("HostController")) {
+
+ readStandaloneOrHostXml(psr.getProcessInfo(), true);
+ HostPort hp = getDomainControllerFromHostXml();
+ if (hp.isLocal) {
+ serverName = "DomainController"; // TODO make more unique
+ serverNameFull = "DomainController";
+ if (isEAP)
+ description = "Domain controller for a " + JBOSS_EAP_6 + " domain";
+ else
+ description = "Domain controller for an " + AS7 + " domain";
+ }
+ else {
+ serverName = "HostController"; // TODO make more unique
+ serverNameFull = "HostController";
+ if (isEAP)
+ description = "Host controller for a " + JBOSS_EAP_6 + " host";
+ else
+ description = "Host controller for an " + AS7 + " host";
+
+ }
+
+ config.put(new PropertySimple("baseDir", homeDir));
+ config.put(new PropertySimple("startScript", AS7Mode.DOMAIN.getStartScript()));
+ String host = findHost(psr.getProcessInfo(), true);
+ config.put(new PropertySimple("domainHost", host));
+
+ fillUserPassFromFile(config, "domain", homeDir);
+
+ // provide running config
+ String domainConfig = getServerConfigFromCommandLine(commandLine, AS7Mode.DOMAIN);
+ String hostConfig = getServerConfigFromCommandLine(commandLine, AS7Mode.HOST);
+ config.put(new PropertySimple("domainConfig",domainConfig));
+ config.put(new PropertySimple("hostConfig",hostConfig));
+
+ } else { // Standalone server
+ serverNameFull = homeDir;
- readStandaloneOrHostXml(psr.getProcessInfo(), true);
- HostPort hp = getDomainControllerFromHostXml();
- if (hp.isLocal) {
- serverName = "DomainController"; // TODO make more unique
- serverNameFull = "DomainController";
- if (isEAP)
- description = "Domain controller for a " + JBOSS_EAP_6 + " domain";
- else
- description = "Domain controller for an " + AS7 + " domain";
- }
- else {
- serverName = "HostController"; // TODO make more unique
- serverNameFull = "HostController";
if (isEAP)
- description = "Host controller for a " + JBOSS_EAP_6 + " host";
+ description = "Standalone " + JBOSS_EAP_6 + " server";
else
- description = "Host controller for an " + AS7 + " host";
+ description = "Standalone " + AS7 + " server";
- }
+ readStandaloneOrHostXml(psr.getProcessInfo(), false);
+ if ( serverNameFull.isEmpty()) {
+ // Try to obtain the server name
+ // -Dorg.jboss.boot.log.file=domain/servers/server-one/log/boot.log
+ // This is a hack until I know a better way to do so.
+ String tmp = getLogFileFromCommandLine(commandLine);
+ int i = tmp.indexOf("servers/");
+ tmp = tmp.substring(i + 8);
+ tmp = tmp.substring(0, tmp.indexOf("/"));
+ serverNameFull = tmp;
- config.put(new PropertySimple("baseDir", homeDir));
- config.put(new PropertySimple("startScript", AS7Mode.DOMAIN.getStartScript()));
- String host = findHost(psr.getProcessInfo(), true);
- config.put(new PropertySimple("domainHost", host));
-
- fillUserPassFromFile(config, "domain", homeDir);
-
- // provide running config
- String domainConfig = getServerConfigFromCommandLine(commandLine, AS7Mode.DOMAIN);
- String hostConfig = getServerConfigFromCommandLine(commandLine, AS7Mode.HOST);
- config.put(new PropertySimple("domainConfig",domainConfig));
- config.put(new PropertySimple("hostConfig",hostConfig));
-
- } else { // Standalone server
- serverNameFull = homeDir;
-
- if (isEAP)
- description = "Standalone " + JBOSS_EAP_6 + " server";
- else
- description = "Standalone " + AS7 + " server";
-
- readStandaloneOrHostXml(psr.getProcessInfo(), false);
- if ( serverNameFull.isEmpty()) {
- // Try to obtain the server name
- // -Dorg.jboss.boot.log.file=domain/servers/server-one/log/boot.log
- // This is a hack until I know a better way to do so.
- String tmp = getLogFileFromCommandLine(commandLine);
- int i = tmp.indexOf("servers/");
- tmp = tmp.substring(i + 8);
- tmp = tmp.substring(0, tmp.indexOf("/"));
- serverNameFull = tmp;
+ }
+ String host = findHost(psr.getProcessInfo(), false);
+ config.put(new PropertySimple("domainHost", host));
- }
- String host = findHost(psr.getProcessInfo(), false);
- config.put(new PropertySimple("domainHost", host));
+ config.put(new PropertySimple("baseDir", serverNameFull));
- config.put(new PropertySimple("baseDir", serverNameFull));
+ serverName = findHostName();
+ if (serverName.isEmpty())
+ serverName = serverNameFull;
- serverName = findHostName();
- if (serverName.isEmpty())
- serverName = serverNameFull;
+ String serverConfig = getServerConfigFromCommandLine(commandLine, AS7Mode.STANDALONE);
+ config.put(new PropertySimple("config",serverConfig));
+ config.put(new PropertySimple("startScript",AS7Mode.STANDALONE.getStartScript()));
- String serverConfig = getServerConfigFromCommandLine(commandLine, AS7Mode.STANDALONE);
- config.put(new PropertySimple("config",serverConfig));
- config.put(new PropertySimple("startScript",AS7Mode.STANDALONE.getStartScript()));
+ fillUserPassFromFile(config, "standalone", serverNameFull);
- fillUserPassFromFile(config, "standalone", serverNameFull);
+ //preload server.log file for event log monitoring
+ logFile = bootLogFile.substring(0, bootLogFile.lastIndexOf("/")) + File.separator + "server.log";
+ }
- //preload server.log file for event log monitoring
- logFile = bootLogFile.substring(0, bootLogFile.lastIndexOf("/")) + File.separator + "server.log";
- }
+ if (isEAP) {
+ serverName = "EAP " + serverName;
+ version="EAP " + version;
+ }
- if (isEAP) {
- serverName = "EAP " + serverName;
- version="EAP " + version;
+ initLogEventSourcesConfigProp(logFile, config);
+
+ HostPort managmentPort = getManagementPortFromHostXml(commandLine);
+ config.put(new PropertySimple("hostname", managmentPort.host));
+ config.put(new PropertySimple("port", managmentPort.port));
+ // String javaClazz = psr.getProcessInfo().getName();
+
+ /*
+ * We'll connect to the discovered VM on the local host, so set the jmx connection
+ * properties accordingly. This may only work on JDK6+, but then JDK5 is deprecated
+ * anyway.
+ */
+ // config.put(new PropertySimple(JMXDiscoveryComponent.COMMAND_LINE_CONFIG_PROPERTY,
+ // javaClazz));
+ // config.put(new PropertySimple(JMXDiscoveryComponent.CONNECTION_TYPE,
+ // LocalVMTypeDescriptor.class.getName()));
+ //
+ // // TODO vmid will change when the detected server is bounced - how do we follow this?
+ // config.put(new PropertySimple(JMXDiscoveryComponent.VMID_CONFIG_PROPERTY,psr.getProcessInfo().getPid()));
+
+ DiscoveredResourceDetails detail = new DiscoveredResourceDetails(discoveryContext.getResourceType(), // ResourceType
+ serverNameFull, // key TODO distinguish per domain?
+ serverName, // Name
+ version, // TODO get via API ?
+ description, // Description
+ config, psr.getProcessInfo());
+
+ // Add to return values
+ discoveredResources.add(detail);
+ log.info("Discovered new ... " + discoveryContext.getResourceType() + ", " + serverNameFull);
+ } catch (Exception e) {
+ log.warn("Discovery for a " + discoveryContext.getResourceType() + " failed for process " + psr + " :" + e.getMessage());
}
-
- initLogEventSourcesConfigProp(logFile, config);
-
- HostPort managmentPort = getManagementPortFromHostXml(commandLine);
- config.put(new PropertySimple("hostname", managmentPort.host));
- config.put(new PropertySimple("port", managmentPort.port));
- // String javaClazz = psr.getProcessInfo().getName();
-
- /*
- * We'll connect to the discovered VM on the local host, so set the jmx connection
- * properties accordingly. This may only work on JDK6+, but then JDK5 is deprecated
- * anyway.
- */
- // config.put(new PropertySimple(JMXDiscoveryComponent.COMMAND_LINE_CONFIG_PROPERTY,
- // javaClazz));
- // config.put(new PropertySimple(JMXDiscoveryComponent.CONNECTION_TYPE,
- // LocalVMTypeDescriptor.class.getName()));
- //
- // // TODO vmid will change when the detected server is bounced - how do we follow this?
- // config.put(new PropertySimple(JMXDiscoveryComponent.VMID_CONFIG_PROPERTY,psr.getProcessInfo().getPid()));
-
- DiscoveredResourceDetails detail = new DiscoveredResourceDetails(discoveryContext.getResourceType(), // ResourceType
- serverNameFull, // key TODO distinguish per domain?
- serverName, // Name
- version, // TODO get via API ?
- description, // Description
- config, psr.getProcessInfo());
-
- // Add to return values
- discoveredResources.add(detail);
- log.info("Discovered new ... " + discoveryContext.getResourceType() + ", " + serverNameFull);
}
return discoveredResources;
@@ -234,7 +238,7 @@ public class BaseProcessDiscovery extends AbstractBaseDiscovery implements Resou
}
} catch (IOException e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.error(e.getMessage());
} finally {
if (br != null)
try {
@@ -260,7 +264,7 @@ public class BaseProcessDiscovery extends AbstractBaseDiscovery implements Resou
is.close();
}
} catch (Exception e) {
- e.printStackTrace(); // TODO: Customise this generated block
+ log.error(e.getMessage());
}
if (hostName == null)
hostName = "local"; // Fallback to the installation default
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JmsComponent.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JmsComponent.java
index ec51a16..99b1a92 100644
--- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JmsComponent.java
+++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/JmsComponent.java
@@ -37,7 +37,6 @@ import org.rhq.core.pluginapi.inventory.CreateResourceReport;
import org.rhq.modules.plugins.jbossas7.json.Address;
import org.rhq.modules.plugins.jbossas7.json.ComplexResult;
import org.rhq.modules.plugins.jbossas7.json.Operation;
-import org.rhq.modules.plugins.jbossas7.json.PROPERTY_VALUE;
/**
* Component class for the JMS subsystem
@@ -98,7 +97,7 @@ public class JmsComponent extends BaseComponent {
report.setResourceName(report.getUserSpecifiedResourceName());
}
- System.out.println(report);
+ log.info(report);
return report;
}
diff --git a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASDiscovery.java b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASDiscovery.java
index 585c2dc..8df1c47 100644
--- a/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASDiscovery.java
+++ b/modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/ManagedASDiscovery.java
@@ -62,72 +62,76 @@ public class ManagedASDiscovery extends AbstractBaseDiscovery
for (ProcessScanResult psr : scans) {
- // get the HostController, as this is an indicator for managed AS
- String psName = psr.getProcessScan().getName();
- if (!psName.equals("HostController"))
- continue;
-
- // Now we have the host controller, lets get the host.xml file
- // and obtain the servers from there.
- ProcessInfo processInfo = psr.getProcessInfo();
- readStandaloneOrHostXml(processInfo, true);
- String hostName = findHostName();
- HostPort managementHostPort = getManagementPortFromHostXml(processInfo.getCommandLine());
-
- List<ServerInfo> serverNames = getServersFromHostXml();
- for (ServerInfo serverInfo : serverNames) {
-
- Configuration config = discoveryContext.getDefaultPluginConfiguration();
- config.put(new PropertySimple("domainHost", hostName));
- config.put(new PropertySimple("group", serverInfo.group));
- config.put(new PropertySimple("port", managementHostPort.port));
- config.put(new PropertySimple("hostname", managementHostPort.host));
- if (serverInfo.bindingGroup != null) {
- config.put(new PropertySimple("socket-binding-group", serverInfo.bindingGroup));
+ try {
+ // get the HostController, as this is an indicator for managed AS
+ String psName = psr.getProcessScan().getName();
+ if (!psName.equals("HostController"))
+ continue;
+
+ // Now we have the host controller, lets get the host.xml file
+ // and obtain the servers from there.
+ ProcessInfo processInfo = psr.getProcessInfo();
+ readStandaloneOrHostXml(processInfo, true);
+ String hostName = findHostName();
+ HostPort managementHostPort = getManagementPortFromHostXml(processInfo.getCommandLine());
+
+ List<ServerInfo> serverNames = getServersFromHostXml();
+ for (ServerInfo serverInfo : serverNames) {
+
+ Configuration config = discoveryContext.getDefaultPluginConfiguration();
+ config.put(new PropertySimple("domainHost", hostName));
+ config.put(new PropertySimple("group", serverInfo.group));
+ config.put(new PropertySimple("port", managementHostPort.port));
+ config.put(new PropertySimple("hostname", managementHostPort.host));
+ if (serverInfo.bindingGroup != null) {
+ config.put(new PropertySimple("socket-binding-group", serverInfo.bindingGroup));
+ config.put(new PropertySimple("socket-binding-port-offset", serverInfo.portOffset));
+ } else {
+ HostPort dcHP = getDomainControllerFromHostXml();
+ if (dcHP.port == 9999)
+ dcHP.port = 9990; // TODO Hack until JBAS-9306 is solved
+
+ ServerInfo dcInfo = getBindingsFromDC(dcHP, serverInfo.group);
+ config.put(new PropertySimple("socket-binding-group", dcInfo.bindingGroup));
+ config.put(new PropertySimple("socket-binding-port-offset", dcInfo.portOffset));
+ }
config.put(new PropertySimple("socket-binding-port-offset", serverInfo.portOffset));
- } else {
- HostPort dcHP = getDomainControllerFromHostXml();
- if (dcHP.port == 9999)
- dcHP.port = 9990; // TODO Hack until JBAS-9306 is solved
-
- ServerInfo dcInfo = getBindingsFromDC(dcHP, serverInfo.group);
- config.put(new PropertySimple("socket-binding-group", dcInfo.bindingGroup));
- config.put(new PropertySimple("socket-binding-port-offset", dcInfo.portOffset));
- }
- config.put(new PropertySimple("socket-binding-port-offset", serverInfo.portOffset));
-
- String path = "host=" + hostName + ",server-config=" + serverInfo.name;
- config.put(new PropertySimple("path", path));
-
- // TODO this fails for the downed servers.
- // get from the domain or other place as soon as the domain provides it.
- String homeDir = getHomeDirFromCommandLine(processInfo.getCommandLine());
- initLogFile(scans, serverInfo.name, config, homeDir);
- String version = determineServerVersionFromHomeDir(homeDir);
- String resourceDescription;
-
- String resourceName = serverInfo.name;
-
- if (homeDir.contains("eap")) {
- version = "EAP " + version;
- resourceDescription = "Managed JBoss Enterprise Application Platform 6 server";
- resourceName = "EAP " + resourceName;
- }
- else {
- resourceDescription = "Managed AS7 server";
+ String path = "host=" + hostName + ",server-config=" + serverInfo.name;
+ config.put(new PropertySimple("path", path));
+
+ // TODO this fails for the downed servers.
+ // get from the domain or other place as soon as the domain provides it.
+ String homeDir = getHomeDirFromCommandLine(processInfo.getCommandLine());
+ initLogFile(scans, serverInfo.name, config, homeDir);
+
+ String version = determineServerVersionFromHomeDir(homeDir);
+ String resourceDescription;
+
+ String resourceName = serverInfo.name;
+
+ if (homeDir.contains("eap")) {
+ version = "EAP " + version;
+ resourceDescription = "Managed JBoss Enterprise Application Platform 6 server";
+ resourceName = "EAP " + resourceName;
+ }
+ else {
+ resourceDescription = "Managed AS7 server";
+ }
+
+ DiscoveredResourceDetails detail = new DiscoveredResourceDetails(discoveryContext.getResourceType(), // ResourceType
+ hostName + "/" + serverInfo.name, // key
+ resourceName, // Name
+ version, // TODO get from Domain as soon as it is provided
+ resourceDescription, // Description
+ config, null);
+
+ // Add to return values
+ discoveredResources.add(detail);
+ log.info("Discovered new ... " + discoveryContext.getResourceType() + ", " + serverInfo);
}
-
- DiscoveredResourceDetails detail = new DiscoveredResourceDetails(discoveryContext.getResourceType(), // ResourceType
- hostName + "/" + serverInfo.name, // key
- resourceName, // Name
- version, // TODO get from Domain as soon as it is provided
- resourceDescription, // Description
- config, null);
-
- // Add to return values
- discoveredResources.add(detail);
- log.info("Discovered new ... " + discoveryContext.getResourceType() + ", " + serverInfo);
+ } catch (Exception e) {
+ log.warn("Discovery for a " + discoveryContext.getResourceType() + " failed for process " + psr + " :" + e.getMessage());
}
}
return discoveredResources;
commit 2594fa3706f30dd43c7aa566a6f4b5154ffdc863
Author: John Sanda <jsanda(a)redhat.com>
Date: Tue Nov 15 21:22:45 2011 -0500
[BZ 753827] Do not allow templates to be created with duplicate names
Template names for a given resource type must be unique. This commit has
three changes.
1) Add validation check in DriftTemplateManagerBean.createTemplate. An
IllegalArgumentException is thrown if the name is a duplicate. This
handles calls through the remote api as well as through the UI.
2) Add a validation check to the wizard in the drift templates view. If
you specify a duplicate name, the name field is flagged as being in
error when you click finish. The hover text says that the name must be
unique.
3) Add the same validation check as in 2) to the wizard for pinning a
snapshot to a template.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java
index 0815405..bf580cb 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftAddDefinitionWizardConfigStep.java
@@ -23,8 +23,10 @@ import com.smartgwt.client.widgets.Canvas;
import org.rhq.core.domain.common.EntityContext;
import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.PropertySimple;
import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
import org.rhq.core.domain.drift.DriftConfigurationDefinition;
+import org.rhq.core.domain.drift.DriftDefinitionTemplate;
import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizardStep;
import org.rhq.enterprise.gui.coregui.client.util.selenium.Locatable;
@@ -76,6 +78,15 @@ public class DriftAddDefinitionWizardConfigStep extends AbstractWizardStep {
}
public boolean nextPage() {
+ if (wizard.getEntityContext().getType() == EntityContext.Type.ResourceTemplate) {
+ Configuration templateConfig = editor.getConfiguration();
+ PropertySimple templateNameProp = templateConfig.getSimple(DriftConfigurationDefinition.PROP_NAME);
+
+ if (!isTemplateNameUnique(templateNameProp.getStringValue())) {
+ templateNameProp.setErrorMessage(MSG.view_drift_wizard_pinTemplate_duplicate_name_error());
+ }
+ }
+
if (editor != null && editor.validate()) {
wizard.setNewConfiguration(editor.getConfiguration());
wizard.execute();
@@ -85,6 +96,15 @@ public class DriftAddDefinitionWizardConfigStep extends AbstractWizardStep {
return false;
}
+ private boolean isTemplateNameUnique(String templateName) {
+ for (DriftDefinitionTemplate template : wizard.getType().getDriftDefinitionTemplates()) {
+ if (template.getName().equals(templateName)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
public String getName() {
return "";
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java
index 2a24e9b..7f6c683 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizard.java
@@ -112,7 +112,7 @@ public class DriftPinTemplateWizard extends AbstractDriftPinTemplateWizard {
}
public void onFailure(Throwable caught) {
- CoreGUI.getErrorHandler().handleError(MSG.view_drift_wizard_addDef_failure(template.getName()),
+ CoreGUI.getErrorHandler().handleError(MSG.view_drift_wizard_pinTemplate_failure(template.getName()),
caught);
getView().closeDialog();
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
index ccbe621..3c8fa9f 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/wizard/DriftPinTemplateWizardConfigStep.java
@@ -24,8 +24,10 @@ import com.smartgwt.client.util.SC;
import com.smartgwt.client.widgets.Canvas;
import org.rhq.core.domain.configuration.Configuration;
+import org.rhq.core.domain.configuration.PropertySimple;
import org.rhq.core.domain.configuration.definition.ConfigurationDefinition;
import org.rhq.core.domain.drift.DriftConfigurationDefinition;
+import org.rhq.core.domain.drift.DriftDefinitionTemplate;
import org.rhq.enterprise.gui.coregui.client.components.configuration.ConfigurationEditor;
import org.rhq.enterprise.gui.coregui.client.components.wizard.AbstractWizardStep;
import org.rhq.enterprise.gui.coregui.client.util.selenium.Locatable;
@@ -70,6 +72,13 @@ public class DriftPinTemplateWizardConfigStep extends AbstractWizardStep {
}
public boolean nextPage() {
+ Configuration templateConfig = editor.getConfiguration();
+ PropertySimple templateNameProp = templateConfig.getSimple(DriftConfigurationDefinition.PROP_NAME);
+
+ if (!isTemplateNameUnique(templateNameProp.getStringValue())) {
+ templateNameProp.setErrorMessage(MSG.view_drift_wizard_pinTemplate_duplicate_name_error());
+ }
+
if (wizard.isCreateTemplate() && (null == editor || !editor.validate())) {
return false;
}
@@ -100,6 +109,15 @@ public class DriftPinTemplateWizardConfigStep extends AbstractWizardStep {
return false;
}
+ private boolean isTemplateNameUnique(String templateName) {
+ for (DriftDefinitionTemplate template : wizard.getResourceType().getDriftDefinitionTemplates()) {
+ if (template.getName().equals(templateName)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
public String getName() {
return "";
}
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index d31bb29..232cff9 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -1238,7 +1238,8 @@ view_drift_wizard_addTemplate_title = Add Drift Definition Template for Type [{
view_drift_wizard_addTemplate_windowTitle = Add Drift Definition Template Wizard
view_drift_wizard_pinTemplate_confirmNotPinned = Once pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue pinning the template to the snapshot?
view_drift_wizard_pinTemplate_confirmPinned = Warning! This template is already pinned. The template can be re-pinned to this new snapshot. Once re-pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue re-pinning the template with this new snapshot?
-view_drift_wizard_pinTemplate_failure = Failed to pin snapshot to drift template [{0}]
+view_drift_wizard_pinTemplate_duplicate_name_error = Template name must be unique
+view_drift_wizard_pinTemplate_failure = Failed to pin snapshot to drift template [{0}]
view_drift_wizard_pinTemplate_infoStepExistingTemplate = Pin to ExistingTemplate
view_drift_wizard_pinTemplate_infoStepHelp = Once pinned each current and future drift definition for that template will have its initial snapshot set to the template''s pinned snapshot. And the definition itself will be marked as pinned. This is used to detect drift from an expected file set. Note that existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed.
view_drift_wizard_pinTemplate_infoStepName = Select the Template to be Pinned
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index 5382223..d89cf26 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -1081,6 +1081,7 @@ view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_wizard_addTemplate_windowTitle = Add Drift Definition Template Wizard
##view_drift_wizard_pinTemplate_confirmNotPinned = Once pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue pinning the template to the snapshot?
##view_drift_wizard_pinTemplate_confirmPinned = Warning! This template is already pinned. The template can be re-pinned to this new snapshot. Once re-pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue re-pinning the template with this new snapshot?
+##view_drift_wizard_pinTemplate_duplicate_name_error = Template name must be unique
##view_drift_wizard_pinTemplate_failure = Failed to pin snapshot to drift template [{0}]
##view_drift_wizard_pinTemplate_infoStepExistingTemplate = Pin to ExistingTemplate
##view_drift_wizard_pinTemplate_infoStepHelp = Select the template to pin. Once pinned each current and future drift definition for that template will have its initial snapshot set to the template''s pinned snapshot. And the definition itself will be marked as pinned. This is used to detect drift from an expected file set. Note that existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index 3e834c2..3359ece 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -1223,6 +1223,7 @@ view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_wizard_addTemplate_windowTitle = Add Drift Definition Template Wizard
##view_drift_wizard_pinTemplate_confirmNotPinned = Once pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue pinning the template to the snapshot?
##view_drift_wizard_pinTemplate_confirmPinned = Warning! This template is already pinned. The template can be re-pinned to this new snapshot. Once re-pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue re-pinning the template with this new snapshot?
+##view_drift_wizard_pinTemplate_duplicate_name_error = Template name must be unique
##view_drift_wizard_pinTemplate_failure = Failed to pin snapshot to drift template [{0}]
##view_drift_wizard_pinTemplate_infoStepExistingTemplate = Pin to ExistingTemplate
##view_drift_wizard_pinTemplate_infoStepHelp = Select the template to pin. Once pinned each current and future drift definition for that template will have its initial snapshot set to the template''s pinned snapshot. And the definition itself will be marked as pinned. This is used to detect drift from an expected file set. Note that existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
index 20d9759..e0b81f7 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
@@ -1252,6 +1252,7 @@ view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_wizard_addTemplate_windowTitle = Add Drift Definition Template Wizard
##view_drift_wizard_pinTemplate_confirmNotPinned = Once pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue pinning the template to the snapshot?
##view_drift_wizard_pinTemplate_confirmPinned = Warning! This template is already pinned. The template can be re-pinned to this new snapshot. Once re-pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue re-pinning the template with this new snapshot?
+##view_drift_wizard_pinTemplate_duplicate_name_error = Template name must be unique
##view_drift_wizard_pinTemplate_failure = Failed to pin snapshot to drift template [{0}]
##view_drift_wizard_pinTemplate_infoStepExistingTemplate = Pin to ExistingTemplate
##view_drift_wizard_pinTemplate_infoStepHelp = Select the template to pin. Once pinned each current and future drift definition for that template will have its initial snapshot set to the template''s pinned snapshot. And the definition itself will be marked as pinned. This is used to detect drift from an expected file set. Note that existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
index 06418d2..69d3fd1 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
@@ -1232,6 +1232,7 @@ view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_wizard_addTemplate_windowTitle = Add Drift Definition Template Wizard
##view_drift_wizard_pinTemplate_confirmNotPinned = Once pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue pinning the template to the snapshot?
##view_drift_wizard_pinTemplate_confirmPinned = Warning! This template is already pinned. The template can be re-pinned to this new snapshot. Once re-pinned each current and future drift definition for the template will have its initial snapshot set to the template''s pinned snapshot. Existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed. Continue re-pinning the template with this new snapshot?
+##view_drift_wizard_pinTemplate_duplicate_name_error = Template name must be unique
##view_drift_wizard_pinTemplate_failure = Failed to pin snapshot to drift template [{0}]
##view_drift_wizard_pinTemplate_infoStepExistingTemplate = Pin to ExistingTemplate
##view_drift_wizard_pinTemplate_infoStepHelp = Select the template to pin. Once pinned each current and future drift definition for that template will have its initial snapshot set to the template''s pinned snapshot. And the definition itself will be marked as pinned. This is used to detect drift from an expected file set. Note that existing definitions for this template will be reset to the new initial snapshot, and all exsiting snapshots will be removed.
diff --git a/modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBeanTest.java b/modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBeanTest.java
index de93b74..08c5b4d 100644
--- a/modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBeanTest.java
+++ b/modules/enterprise/server/itests/src/test/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBeanTest.java
@@ -194,6 +194,21 @@ public class DriftTemplateManagerBeanTest extends DriftServerTest {
templateMgr.updateTemplate(getOverlord(), template);
}
+ @Test(dependsOnMethods = "createTemplateForNegativeUpdateTests",
+ expectedExceptions = EJBException.class,
+ expectedExceptionsMessageRegExp = ".*template name must be unique.*")
+ @InitDB(false)
+ public void doNotAllowDuplicateTemplateNames() {
+ DriftDefinition definition = new DriftDefinition(new Configuration());
+ definition.setName("test::createTemplateForNegativeUpdateTests");
+ definition.setEnabled(true);
+ definition.setDriftHandlingMode(normal);
+ definition.setInterval(2400L);
+ definition.setBasedir(new DriftDefinition.BaseDirectory(fileSystem, "/foo/bar/test"));
+
+ templateMgr.createTemplate(getOverlord(), resourceType.getId(), true, definition);
+ }
+
public void createAndUpdateTemplate() {
// create the template
DriftDefinition definition = new DriftDefinition(new Configuration());
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
index 2c4bab4..ddfe8f0 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftTemplateManagerBean.java
@@ -88,6 +88,11 @@ public class DriftTemplateManagerBean implements DriftTemplateManagerLocal, Drif
template.setUserDefined(isUserDefined);
template.setTemplateDefinition(definition);
+ if (isDuplicateName(resourceType, template)) {
+ throw new IllegalArgumentException("Drift definition template name must be unique. A template named " +
+ "[" + template.getName() + "] already exists for " + resourceType);
+ }
+
resourceType.addDriftDefinitionTemplate(template);
entityMgr.persist(template);
@@ -97,6 +102,15 @@ public class DriftTemplateManagerBean implements DriftTemplateManagerLocal, Drif
}
}
+ private boolean isDuplicateName(ResourceType resourceType, DriftDefinitionTemplate newTemplate) {
+ for (DriftDefinitionTemplate template : resourceType.getDriftDefinitionTemplates()) {
+ if (template.getName().equals(newTemplate.getName())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
@RequiredPermission(Permission.MANAGE_SETTINGS)
@Override
@TransactionAttribute(NEVER)
commit deabf9f4876377183466a357a57d6199e4ce0181
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Tue Nov 15 18:01:21 2011 -0500
[BZ 753585] fix group metric and ops portlets for auto-group/cluster
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
index e51abde..71c2d98 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupMetricsPortlet.java
@@ -67,7 +67,6 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigura
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView.ChartViewWindow;
-import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.ResourceGroupDetailView;
import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
import org.rhq.enterprise.gui.coregui.client.util.BrowserUtility;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
@@ -82,9 +81,10 @@ import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
public class GroupMetricsPortlet extends LocatableVLayout implements CustomSettingsPortlet, AutoRefreshPortlet {
private int groupId = -1;
+ private boolean isAutoCluster;
+ private boolean isAutoGroup;
protected LocatableCanvas recentMeasurementsContent = new LocatableCanvas(extendLocatorId("RecentMetrics"));
protected boolean currentlyLoading = false;
- protected String baseViewPath = "";
protected long start = -1;
protected long end = -1;
@@ -110,9 +110,11 @@ public class GroupMetricsPortlet extends LocatableVLayout implements CustomSetti
CONFIG_INCLUDE.add(Constant.METRIC_RANGE_UNIT);
}
- public GroupMetricsPortlet(String locatorId, int groupId) {
+ public GroupMetricsPortlet(String locatorId, EntityContext context) {
super(locatorId);
- this.groupId = groupId;
+ this.groupId = context.getGroupId();
+ this.isAutoGroup = context.isAutoGroup();
+ this.isAutoCluster = context.isAutoCluster();
}
@Override
@@ -166,7 +168,7 @@ public class GroupMetricsPortlet extends LocatableVLayout implements CustomSetti
throw new IllegalArgumentException("Context [" + context + "] not supported by portlet");
}
- return new GroupMetricsPortlet(locatorId, context.getGroupId());
+ return new GroupMetricsPortlet(locatorId, context);
}
}
@@ -509,15 +511,11 @@ public class GroupMetricsPortlet extends LocatableVLayout implements CustomSetti
}
private boolean isAutoGroup() {
- return ResourceGroupDetailView.AUTO_GROUP_VIEW.equals(getBaseViewPath());
+ return this.isAutoGroup;
}
private boolean isAutoCluster() {
- return ResourceGroupDetailView.AUTO_CLUSTER_VIEW.equals(getBaseViewPath());
- }
-
- public String getBaseViewPath() {
- return baseViewPath;
+ return this.isAutoCluster;
}
protected void setRefreshing(boolean currentlyRefreshing) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java
index 9cfa362..9c54052 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/groups/GroupOperationsPortlet.java
@@ -59,7 +59,6 @@ import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigura
import org.rhq.enterprise.gui.coregui.client.dashboard.portlets.PortletConfigurationEditorComponent.Constant;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
import org.rhq.enterprise.gui.coregui.client.inventory.common.detail.summary.AbstractActivityView;
-import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.ResourceGroupDetailView;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.operation.history.GroupOperationHistoryDataSource;
import org.rhq.enterprise.gui.coregui.client.inventory.groups.detail.operation.history.GroupOperationHistoryListView;
import org.rhq.enterprise.gui.coregui.client.util.MeasurementUtility;
@@ -106,14 +105,18 @@ public class GroupOperationsPortlet extends LocatableVLayout implements CustomSe
protected int groupId;
protected boolean portletConfigInitialized = false;
private ResourceGroupComposite groupComposite;
- protected String baseViewPath = "";
protected LocatableCanvas recentOperationsContent = new LocatableCanvas(extendLocatorId("RecentOperations"));
protected String locatorId;
- public GroupOperationsPortlet(String locatorId, int groupId) {
+ private boolean isAutoGroup;
+ private boolean isAutoCluster;
+
+ public GroupOperationsPortlet(String locatorId, EntityContext context) {
super(locatorId);
this.locatorId = locatorId;
- this.groupId = groupId;
+ this.groupId = context.getGroupId();
+ this.isAutoGroup = context.isAutoGroup();
+ this.isAutoCluster = context.isAutoCluster();
}
@Override
@@ -299,7 +302,7 @@ public class GroupOperationsPortlet extends LocatableVLayout implements CustomSe
throw new IllegalArgumentException("Context [" + context + "] not supported by portlet");
}
- return new GroupOperationsPortlet(locatorId, context.getGroupId());
+ return new GroupOperationsPortlet(locatorId, context);
}
}
@@ -328,15 +331,11 @@ public class GroupOperationsPortlet extends LocatableVLayout implements CustomSe
}
private boolean isAutoGroup() {
- return ResourceGroupDetailView.AUTO_GROUP_VIEW.equals(getBaseViewPath());
+ return this.isAutoGroup;
}
private boolean isAutoCluster() {
- return ResourceGroupDetailView.AUTO_CLUSTER_VIEW.equals(getBaseViewPath());
- }
-
- public String getBaseViewPath() {
- return baseViewPath;
+ return this.isAutoCluster;
}
protected void setCurrentlyRefreshing(boolean currentlyRefreshing) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java
index 94f3ee8..dbb0d27 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/resource/ResourceMetricsPortlet.java
@@ -76,7 +76,7 @@ public class ResourceMetricsPortlet extends GroupMetricsPortlet {
private int resourceId = -1;
public ResourceMetricsPortlet(String locatorId, int resourceId) {
- super(locatorId, -1);
+ super(locatorId, EntityContext.forResource(-1));
this.resourceId = resourceId;
}
commit 827d3fdef7519423f8e2329f272eebc3b56ea609
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Tue Nov 15 16:32:17 2011 -0500
[BZ 753947] fix the selector so there isn't abnormal whitespace. Reduce the warning message so it is on a single line and add a yellow warning icon to bring the message to the attention of the user
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
index 4ed99cf..63019a9 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/selector/AbstractSelector.java
@@ -63,6 +63,7 @@ import com.smartgwt.client.widgets.layout.SectionStack;
import com.smartgwt.client.widgets.layout.SectionStackSection;
import com.smartgwt.client.widgets.layout.VStack;
+import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableListGrid;
import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableSectionStack;
@@ -189,6 +190,7 @@ public abstract class AbstractSelector<T, C extends org.rhq.core.domain.criteria
// LEFT SIDE
this.messageLayout = new Label();
this.messageLayout.setMargin(3);
+ this.messageLayout.setAutoHeight();
addMember(this.messageLayout);
this.availableFilterForm = getAvailableFilterForm();
if (this.availableFilterForm != null) {
@@ -376,10 +378,10 @@ public abstract class AbstractSelector<T, C extends org.rhq.core.domain.criteria
int totalAvailableRecords = totalRecords - assignedRecords.length;
if (availableRecords.size() < totalAvailableRecords) {
// TODO: i18n
- messageLayout.setContents("<b>Note:</b> Only " + availableRecords.size() + " out of "
- + totalAvailableRecords + " available " + getItemTitle()
- + " are listed - please specify more specific filters below to find the " + getItemTitle()
- + " for which you are looking.");
+ messageLayout.setContents(imgHTML(ImageManager.getAvailabilityYellowIcon()) + " Only "
+ + availableRecords.size() + " out of " + totalAvailableRecords + " available "
+ + getItemTitle() + " are listed. Use the search fields below to find the " + getItemTitle()
+ + " you want.");
} else {
// Clear the warning message, if any, from the previous fetch.
// Note, surprisingly, setContents(null) doesn't work.
commit 111c086aa28abd43c1dc2894aed9139bb92122ac
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Nov 15 15:10:33 2011 -0500
Related to Bug 669521
Make sure SLSB to SLSB code uses overlord as needed.
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
index 9e8ab62..89d5709 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/drift/DriftManagerBean.java
@@ -44,6 +44,9 @@ import javax.jms.Session;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
+import difflib.DiffUtils;
+import difflib.Patch;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Hibernate;
@@ -65,10 +68,8 @@ import org.rhq.core.domain.drift.DriftChangeSetCategory;
import org.rhq.core.domain.drift.DriftComplianceStatus;
import org.rhq.core.domain.drift.DriftComposite;
import org.rhq.core.domain.drift.DriftConfigurationDefinition;
-import org.rhq.core.domain.drift.DriftConfigurationDefinition.DriftHandlingMode;
import org.rhq.core.domain.drift.DriftDefinition;
import org.rhq.core.domain.drift.DriftDefinitionComparator;
-import org.rhq.core.domain.drift.DriftDefinitionComparator.CompareMode;
import org.rhq.core.domain.drift.DriftDefinitionComposite;
import org.rhq.core.domain.drift.DriftDefinitionTemplate;
import org.rhq.core.domain.drift.DriftDetails;
@@ -76,6 +77,8 @@ import org.rhq.core.domain.drift.DriftFile;
import org.rhq.core.domain.drift.DriftSnapshot;
import org.rhq.core.domain.drift.DriftSnapshotRequest;
import org.rhq.core.domain.drift.FileDiffReport;
+import org.rhq.core.domain.drift.DriftConfigurationDefinition.DriftHandlingMode;
+import org.rhq.core.domain.drift.DriftDefinitionComparator.CompareMode;
import org.rhq.core.domain.drift.dto.DriftChangeSetDTO;
import org.rhq.core.domain.drift.dto.DriftDTO;
import org.rhq.core.domain.drift.dto.DriftFileDTO;
@@ -98,9 +101,6 @@ import org.rhq.enterprise.server.util.CriteriaQueryGenerator;
import org.rhq.enterprise.server.util.CriteriaQueryRunner;
import org.rhq.enterprise.server.util.LookupUtil;
-import difflib.DiffUtils;
-import difflib.Patch;
-
/**
* The SLSB supporting Drift management to clients.
*
@@ -534,8 +534,8 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
PageList<DriftDefinition> definitions = findDriftDefinitionsByCriteria(subject, criteria);
if (definitions.isEmpty()) {
- log.warn("Could not find drift definition for [resourceId: " + resourceId + ", driftDefinitionName: " +
- summary.getDriftDefinitionName() + "]. Will not be able check compliance for thiis drift definition");
+ log.warn("Could not find drift definition for [resourceId: " + resourceId + ", driftDefinitionName: "
+ + summary.getDriftDefinitionName() + "]. Will not be able check compliance for thiis drift definition");
} else {
updateCompliance(subject, definitions.get(0), summary);
}
@@ -602,8 +602,8 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
DriftDefinition driftDef = driftManager.getDriftDefinition(subject, driftDefId);
if (driftDef.getTemplate() != null && driftDef.getTemplate().isPinned()) {
- throw new IllegalArgumentException(("Cannot repin a definition that has been created from a pinned " +
- "template."));
+ throw new IllegalArgumentException(("Cannot repin a definition that has been created from a pinned "
+ + "template."));
}
driftDef.setPinned(true);
@@ -627,7 +627,7 @@ public class DriftManagerBean implements DriftManagerLocal, DriftManagerRemote {
throw new RuntimeException("Failed to pin snapshot", e);
}
- AgentClient agent = agentManager.getAgentClient(subject, driftDef.getResource().getId());
+ AgentClient agent = agentManager.getAgentClient(subjectManager.getOverlord(), driftDef.getResource().getId());
DriftAgentService driftService = agent.getDriftAgentService();
driftService.pinSnapshot(driftDef.getResource().getId(), driftDef.getName(), snapshot);
}
diff --git a/modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java b/modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java
index 0850db0..028c1dd 100644
--- a/modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java
+++ b/modules/enterprise/server/plugins/drift-mongodb/src/main/java/org/rhq/enterprise/server/plugins/drift/mongodb/MongoDBDriftServer.java
@@ -21,6 +21,7 @@ package org.rhq.enterprise.server.plugins.drift.mongodb;
import static org.rhq.enterprise.server.util.LookupUtil.getAgentManager;
import static org.rhq.enterprise.server.util.LookupUtil.getResourceManager;
+import static org.rhq.enterprise.server.util.LookupUtil.getSubjectManager;
import java.io.BufferedReader;
import java.io.File;
@@ -177,7 +178,7 @@ public class MongoDBDriftServer implements DriftServerPluginFacet, ServerPluginC
ds.save(changeSet);
if (!missingContent.isEmpty()) {
- AgentClient agent = getAgentManager().getAgentClient(subject, resourceId);
+ AgentClient agent = getAgentManager().getAgentClient(getSubjectManager().getOverlord(), resourceId);
DriftAgentService driftService = agent.getDriftAgentService();
driftService.requestDriftFiles(resourceId, headers, missingContent);
}
commit 26c8ed98d3d8782c13da73897a910cb733a57211
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Nov 15 15:06:44 2011 -0500
add support for authentication; reproduce profile service bug with
getProfile()/getActiveProfile()
diff --git a/modules/jopr/etc/jbas5-jnp-client/client.sh b/modules/jopr/etc/jbas5-jnp-client/client.sh
index f4285ce..b4ae736 100755
--- a/modules/jopr/etc/jbas5-jnp-client/client.sh
+++ b/modules/jopr/etc/jbas5-jnp-client/client.sh
@@ -9,7 +9,7 @@
MAIN_JAR_NAME=jbas5-jnp-client-1.0.jar
MAIN_CLASS=test.RmiClient
-JBOSS_HOME=/home/ips/Applications/jboss-eap-5.1/jboss-as
+JBOSS_HOME=/home/ips/Applications/jboss-eap-5.1.1/jboss-as
if [ ! -d "$JBOSS_HOME" ]; then
echo "Dir specified by JBOSS_HOME variable ($JBOSS_HOME) does not exist."
exit 1
diff --git a/modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java b/modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java
index 76dade4..58d7a61 100644
--- a/modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java
+++ b/modules/jopr/etc/jbas5-jnp-client/src/main/java/test/RmiClient.java
@@ -1,5 +1,6 @@
package test;
+import java.util.Collection;
import java.util.Properties;
import javax.naming.Context;
@@ -11,22 +12,27 @@ import org.jboss.managed.api.ComponentType;
import org.jboss.managed.api.ManagedComponent;
import org.jboss.managed.api.ManagedProperty;
import org.jboss.metatype.api.values.SimpleValueSupport;
+import org.jboss.profileservice.spi.Profile;
+import org.jboss.profileservice.spi.ProfileKey;
import org.jboss.profileservice.spi.ProfileService;
public class RmiClient
{
- private static final String NAMING_CONTEXT_FACTORY = "org.jnp.interfaces.NamingContextFactory";
+ private static final String NAMING_CONTEXT_FACTORY = "org.jboss.security.jndi.JndiLoginInitialContextFactory";
+ //private static final String NAMING_CONTEXT_FACTORY = "org.jnp.interfaces.NamingContextFactory";
private static final String PROFILE_SERVICE_JNDI_NAME = "ProfileService";
public static void main(String[] args)
throws Exception
{
- String jnpUrl = (args.length == 1) ? args[0] : "jnp://127.0.0.1:1099";
+ String jnpUrl = (args.length == 1) ? args[0] : "jnp://127.0.0.51:1099";
Properties env = new Properties();
env.setProperty(Context.PROVIDER_URL, jnpUrl);
env.setProperty(Context.INITIAL_CONTEXT_FACTORY, NAMING_CONTEXT_FACTORY);
+ env.setProperty(Context.SECURITY_PRINCIPAL, "admin");
+ env.setProperty(Context.SECURITY_CREDENTIALS, "admin");
env.setProperty("jnp.disableDiscovery", "true");
env.setProperty("jnp.timeout", "120");
env.setProperty("jnp.sotimeout", "120");
@@ -39,11 +45,22 @@ public class RmiClient
DeploymentManager deploymentManager = profileService.getDeploymentManager();
System.err.println("DeploymentManager: " + deploymentManager);
- //profileService.getDomains();
- //profileService.getProfileKeys();
+ profileService.getDomains();
+ Collection<ProfileKey> profileKeys = profileService.getActiveProfileKeys();
+ for (ProfileKey profileKey : profileKeys) {
+ try {
+ Profile profile = profileService.getActiveProfile(profileKey);
+ System.err.println("Active profile for key [" + profileKey + "]: " + profile);
+ } catch (Exception e) {
+ System.err.println("Failed to get active profile for key [" + profileKey + "] - cause: " + e);
+ }
+ }
+
managementView.load();
- //managementView.getDeploymentNames();
- //deploymentManager.getProfiles();
+ managementView.getDeploymentNames();
+
+ deploymentManager.loadProfile(new ProfileKey(ProfileKey.DEFAULT));
+ deploymentManager.getProfiles();
ComponentType localTxDataSourceType = new ComponentType("DataSource", "LocalTx");
ManagedComponent defaultDSComponent = managementView.getComponent("DefaultDS", localTxDataSourceType);
commit 7bff6c7df2e5040feb4bf60028b63ffdd7adfc01
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Nov 15 15:01:20 2011 -0500
[bug 669521-getting agent clients is now too restrictive]
make sure gui and slsb use the same perm (manage_settings) for
authorization.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
index d78eb36..e17575e 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceDetailView.java
@@ -373,7 +373,7 @@ public class ResourceDetailView extends AbstractTwoLevelTabSetView<ResourceCompo
}
});
- boolean enabled = globalPermissions.contains(Permission.MANAGE_INVENTORY);
+ boolean enabled = globalPermissions.contains(Permission.MANAGE_SETTINGS);
viewFactory = (!enabled) ? null : new ViewFactory() {
@Override
public Canvas createView() {
commit 1cb7d5f1734e60e64e2bc6c32cfc27f90e29b0b9
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Nov 15 11:51:21 2011 -0500
improve description of "Version Name" trait
diff --git a/modules/plugins/jboss-as-5/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/jboss-as-5/src/main/resources/META-INF/rhq-plugin.xml
index b6ce5ec..32aca99 100644
--- a/modules/plugins/jboss-as-5/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/jboss-as-5/src/main/resources/META-INF/rhq-plugin.xml
@@ -1073,7 +1073,7 @@
<metric displayName="Version Name" property="MCBean|MCServer|*|versionName"
dataType="trait" displayType="summary"
- description="the code name for the this app server instance's major version (AS 5.0 = Morpheus, AS 5.1 = The Oracle, AS 6.0 = Neo)"/>
+ description="the code name for this app server's version (AS 5.0 = Morpheus, AS 5.1 = The Oracle, AS 6.x = Neo)"/>
<metric displayName="Build Date" property="MCBean|MCServer|*|buildDate"
dataType="trait" displayType="summary"
commit 8145ed069b7e2839e7ed29593ed814dfbc2e91ab
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Tue Nov 15 15:59:11 2011 +0100
[BZ 751246] - do NOT include implicit resources in the list of resource
group members when determining the group member ids in the script.
diff --git a/modules/enterprise/remoting/cli/src/main/samples/deploy-to-and-restart-JBAS.js b/modules/enterprise/remoting/cli/src/main/samples/deploy-to-and-restart-JBAS.js
index 15b43ff..a8afc26 100644
--- a/modules/enterprise/remoting/cli/src/main/samples/deploy-to-and-restart-JBAS.js
+++ b/modules/enterprise/remoting/cli/src/main/samples/deploy-to-and-restart-JBAS.js
@@ -172,25 +172,14 @@ function _loadGroupMembers(group) {
}
function _allResourceIds(group) {
- var set = new java.util.HashSet;
-
- var resourceIdPicker = function(resource) {
- set.add(resource.id);
- }
+ var list = [];
if (group.explicitResources != null) {
- foreach(group.explicitResources, resourceIdPicker);
+ foreach(group.explicitResources, function(resource) {
+ list.push(resource.id);
+ });
}
- if (group.implicitResources != null) {
- foreach(group.implicitResources, resourceIdPicker);
- }
-
- var list = [];
- foreach(set, function(id) {
- list.push(id);
- });
-
return list;
}
commit a80825a9d411faa50190c4d54700ab55171d23a5
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Mon Nov 14 16:22:35 2011 -0600
Removing the last maven scm and release references.
diff --git a/pom.xml b/pom.xml
index 32646760..c2d7c46 100644
--- a/pom.xml
+++ b/pom.xml
@@ -597,10 +597,6 @@
<version>2.4.3</version>
</plugin>
<plugin>
- <artifactId>maven-scm-plugin</artifactId>
- <version>1.4</version>
- </plugin>
- <plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.0</version>
</plugin>
@@ -814,32 +810,6 @@
</plugin>
<plugin>
- <artifactId>maven-release-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.scm</groupId>
- <artifactId>maven-scm-provider-gitexe</artifactId>
- <version>1.3</version>
- </dependency>
- </dependencies>
- <configuration>
- <autoVersionSubmodules>true</autoVersionSubmodules>
- <updateDependencies>false</updateDependencies>
- </configuration>
- </plugin>
-
- <plugin>
- <artifactId>maven-scm-plugin</artifactId>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven.scm</groupId>
- <artifactId>maven-scm-provider-gitexe</artifactId>
- <version>1.3</version>
- </dependency>
- </dependencies>
- </plugin>
-
- <plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<trimStackTrace>false</trimStackTrace>
commit 690ab692025ae95a62fa31f850d6b4703b1af5f4
Author: Stefan Negrea <snegrea(a)redhat.com>
Date: Thu Oct 27 13:44:31 2011 -0500
Remove all the scm tags and related properties from the poms. The tags are no longer in use.
diff --git a/etc/apt/pom.xml b/etc/apt/pom.xml
index 0e4ab0d..c36dc64 100644
--- a/etc/apt/pom.xml
+++ b/etc/apt/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Apt Plugin</name>
<description>A plugin for managing the apt based features</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/apt</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/apt</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/apt/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/etc/m2/smartgwt-war-archetype/pom.xml b/etc/m2/smartgwt-war-archetype/pom.xml
index 3bb66ef..19ef9be 100644
--- a/etc/m2/smartgwt-war-archetype/pom.xml
+++ b/etc/m2/smartgwt-war-archetype/pom.xml
@@ -18,12 +18,6 @@
<description>archetype for a Maven project for a SmartGWT web application (WAR)</description>
<url>http://rhq-project.org/</url>
- <scm>
- <connection>scm:git:git://git.fedorahosted.org/rhq/rhq.git</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq/rhq.git</developerConnection>
- <url>http://git.fedorahosted.org/git/rhq/rhq.git</url>
- </scm>
-
<licenses>
<license>
<name>Apache Software License (ASL) version 2.0</name>
diff --git a/etc/samples/perspectives/sample-perspective/app/pom.xml b/etc/samples/perspectives/sample-perspective/app/pom.xml
index 1b205a9..04c7ec6 100644
--- a/etc/samples/perspectives/sample-perspective/app/pom.xml
+++ b/etc/samples/perspectives/sample-perspective/app/pom.xml
@@ -15,11 +15,6 @@
<name>RHQ Sample Perspective War</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/etc/samples/sample-perspec...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/etc/samples/sample-perspec...</developerConnection>
- </scm>
-
<dependencyManagement>
<dependencies>
diff --git a/etc/samples/perspectives/sample-perspective/pom.xml b/etc/samples/perspectives/sample-perspective/pom.xml
index 8398f81..1e15de3 100644
--- a/etc/samples/perspectives/sample-perspective/pom.xml
+++ b/etc/samples/perspectives/sample-perspective/pom.xml
@@ -19,15 +19,6 @@
<name>RHQ Sample Perspective Parent</name>
<description>parent POM for modules comprising the RHQ Sample Perspective</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/etc/samples/sample-perspec...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/etc/samples/sample-perspec...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>etc/samples/sample-perspective/</scm.module.path>
- </properties>
-
<modules>
<module>app</module>
<module>perspective</module>
diff --git a/etc/samples/provisioning/sample-bundle/pom.xml b/etc/samples/provisioning/sample-bundle/pom.xml
index 697b6c4..26f227b 100644
--- a/etc/samples/provisioning/sample-bundle/pom.xml
+++ b/etc/samples/provisioning/sample-bundle/pom.xml
@@ -16,11 +16,6 @@
<name>RHQ Sample Bundle</name>
<description>a sample bundle consisting of JBossAS 6.0 running the Java Petstore application</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/etc/modules/sample-bundle/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/etc/modules/sample-bundle/</developerConnection>
- </scm>
-
<properties>
<!-- dependency versions -->
<derbyclient.version>10.5.3.0_1</derbyclient.version>
diff --git a/modules/common/ant-bundle/pom.xml b/modules/common/ant-bundle/pom.xml
index 550ddfd..81947ba 100644
--- a/modules/common/ant-bundle/pom.xml
+++ b/modules/common/ant-bundle/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Ant Bundle Plugins Common Library</name>
<description>A library with the code common to the agent and server plugins for Ant Bundles</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common/ant-bundle/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common/ant-bundle/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/common/ant-bundle/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/common/drift/pom.xml b/modules/common/drift/pom.xml
index 6a9bcf2..46ad40c 100644
--- a/modules/common/drift/pom.xml
+++ b/modules/common/drift/pom.xml
@@ -14,15 +14,6 @@
<name>RHQ Drift Common Library</name>
<description>A library with the code common to the agent and server drift management code</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common/drift/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common/drift/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/common/drift/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
diff --git a/modules/common/filetemplate-bundle/pom.xml b/modules/common/filetemplate-bundle/pom.xml
index d645c7a..89ecf98 100644
--- a/modules/common/filetemplate-bundle/pom.xml
+++ b/modules/common/filetemplate-bundle/pom.xml
@@ -14,15 +14,6 @@
<name>RHQ File Template Bundle Plugins Common Library</name>
<description>A library with the code common to the agent and server plugins for File Template Bundles</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common/filetemplat...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common/filetemplat...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/common/filetemplate-bundle/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/common/jboss-as/pom.xml b/modules/common/jboss-as/pom.xml
index a999e68..f328660 100644
--- a/modules/common/jboss-as/pom.xml
+++ b/modules/common/jboss-as/pom.xml
@@ -14,17 +14,7 @@
<name>RHQ JBossAS 4/5 Plugins Common Library</name>
<description>A library with the code common to the JBoss AS 4 and 5 plugins</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common/jboss-as/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common/jboss-as/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/common/jboss-as/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
diff --git a/modules/common/pom.xml b/modules/common/pom.xml
index d7eedff..9830cbb 100644
--- a/modules/common/pom.xml
+++ b/modules/common/pom.xml
@@ -14,14 +14,7 @@
<name>RHQ Common Plugin Libraries</name>
<description>parent POM for all RHQ common plugin libraries</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/common</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/common/</scm.module.path>
-
<hibernate-all.version>1.0.0.Alpha9</hibernate-all.version>
<persistence-api.version>1.0</persistence-api.version>
</properties>
diff --git a/modules/core/comm-api/pom.xml b/modules/core/comm-api/pom.xml
index 7eab16a..ed0087f 100644
--- a/modules/core/comm-api/pom.xml
+++ b/modules/core/comm-api/pom.xml
@@ -18,15 +18,6 @@
interfaces that do not necessarily have access to the full comm module
</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/comm-api</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/comm-api</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/core/comm-api/</scm.module.path>
- </properties>
-
<profiles>
<profile>
diff --git a/modules/core/dbutils/pom.xml b/modules/core/dbutils/pom.xml
index 3e9dbc5..85a5526 100644
--- a/modules/core/dbutils/pom.xml
+++ b/modules/core/dbutils/pom.xml
@@ -14,13 +14,7 @@
<name>RHQ Database Utilities</name>
<description>Database schema setup, upgrade and other utilities</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/dbutils</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/dbutils</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/core/dbutils/</scm.module.path>
<db.schema.version>2.116</db.schema.version>
<rhq.ds.type-mapping>${rhq.test.ds.type-mapping}</rhq.ds.type-mapping>
<rhq.ds.db-name>${rhq.test.ds.db-name}</rhq.ds.db-name>
diff --git a/modules/core/domain/pom.xml b/modules/core/domain/pom.xml
index 164f5ad..ceedba7 100644
--- a/modules/core/domain/pom.xml
+++ b/modules/core/domain/pom.xml
@@ -14,14 +14,7 @@
<name>RHQ Domain Model</name>
<description>RHQ domain model classes (i.e. POJOs used by both server and agent)</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/domain</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/domain</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/core/domain/</scm.module.path>
-
<!-- dependency versions -->
<jboss-embeddable-ejb3.version>1.0.0.Alpha9</jboss-embeddable-ejb3.version>
</properties>
diff --git a/modules/core/gui/pom.xml b/modules/core/gui/pom.xml
index 1d1572a..086b8fd 100644
--- a/modules/core/gui/pom.xml
+++ b/modules/core/gui/pom.xml
@@ -16,14 +16,7 @@
<description>JSF utility classes, validators, converters, etc. that are used by both enterprise and embedded
</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/domain</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/domain</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/core/gui/</scm.module.path>
-
<!-- dependency versions -->
<el.version>1.0</el.version>
<seam.version>2.1.0.SP1</seam.version>
diff --git a/modules/core/native-system/pom.xml b/modules/core/native-system/pom.xml
index 151521d..3f28672 100644
--- a/modules/core/native-system/pom.xml
+++ b/modules/core/native-system/pom.xml
@@ -18,15 +18,6 @@
Java API that wraps the native library used to access low-level system resources natively.
</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/native-system</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/native-system</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/core/native-system/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/core/plugin-api/pom.xml b/modules/core/plugin-api/pom.xml
index e01941d..df1a188 100644
--- a/modules/core/plugin-api/pom.xml
+++ b/modules/core/plugin-api/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Plugin API</name>
<description>RHQ Plugin API used to write custom plugins</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/plugin-api</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/plugin-api</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/core/plugin-api/</scm.module.path>
- </properties>
-
<dependencies>
<!-- Internal Deps -->
diff --git a/modules/core/plugin-container/pom.xml b/modules/core/plugin-container/pom.xml
index 9718b0e..e38ad83 100644
--- a/modules/core/plugin-container/pom.xml
+++ b/modules/core/plugin-container/pom.xml
@@ -14,19 +14,8 @@
<name>RHQ Plugin Container</name>
<description>RHQ plugin container</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/plugin-container</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/plugin-container</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/core/plugin-container/</scm.module.path>
- </properties>
-
<dependencies>
-
<!-- Internal Deps -->
-
<dependency>
<groupId>${rhq.groupId}</groupId>
<artifactId>rhq-core-domain</artifactId>
diff --git a/modules/core/pom.xml b/modules/core/pom.xml
index 002912b..99a1950 100644
--- a/modules/core/pom.xml
+++ b/modules/core/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Core Modules</name>
<description>parent POM for modules comprising the RHQ core (i.e. modules required by both the enterprise and embedded editions of RHQ)</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/core/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>net.sourceforge.cobertura</groupId>
diff --git a/modules/core/util/pom.xml b/modules/core/util/pom.xml
index 11efd74..a8e5ea6 100644
--- a/modules/core/util/pom.xml
+++ b/modules/core/util/pom.xml
@@ -14,15 +14,6 @@
<name>RHQ Utilities</name>
<description>generic utility classes for use by any RHQ module</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/util</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/core/util</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/core/util/</scm.module.path>
- </properties>
-
<dependencies>
<!-- Used by the (deprecated) legacy XML parser, which is used to parse RHQ license files. -->
diff --git a/modules/enterprise/agent/pom.xml b/modules/enterprise/agent/pom.xml
index 88827a8..b446c3d 100644
--- a/modules/enterprise/agent/pom.xml
+++ b/modules/enterprise/agent/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Enterprise Agent</name>
<description>RHQ Agent</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/agent/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/agent/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/agent/</scm.module.path>
- </properties>
-
<dependencies>
<!-- Internal Deps -->
diff --git a/modules/enterprise/agentupdate/pom.xml b/modules/enterprise/agentupdate/pom.xml
index 83aefb4..cb61cfd 100644
--- a/modules/enterprise/agentupdate/pom.xml
+++ b/modules/enterprise/agentupdate/pom.xml
@@ -16,13 +16,7 @@
<name>RHQ Enterprise Agent Update</name>
<description>RHQ Agent Update</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/agentup...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/agentup...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/agentupdate/</scm.module.path>
<ant.version>1.7.1</ant.version>
</properties>
diff --git a/modules/enterprise/comm/pom.xml b/modules/enterprise/comm/pom.xml
index af241d2..ae11a4b 100644
--- a/modules/enterprise/comm/pom.xml
+++ b/modules/enterprise/comm/pom.xml
@@ -16,11 +16,6 @@
<name>RHQ Enterprise Agent-Server Communications Layer</name>
<description>RHQ Enterprise Agent-Server Communications Layer</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/comm/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/comm/</developerConnection>
- </scm>
-
<properties>
<!-- Ports used by unit tests - can be overridden via profiles in settings.xml -->
<rhq.comm.test.connectorBindPort>33333</rhq.comm.test.connectorBindPort>
diff --git a/modules/enterprise/gui/base-perspective-jar/pom.xml b/modules/enterprise/gui/base-perspective-jar/pom.xml
index ce48f40..759d52d 100644
--- a/modules/enterprise/gui/base-perspective-jar/pom.xml
+++ b/modules/enterprise/gui/base-perspective-jar/pom.xml
@@ -16,11 +16,6 @@
<name>RHQ Base Perspective Jar</name>
<description>the base perspective classes and dependencies</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/bas...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/bas...</developerConnection>
- </scm>
-
<properties>
<jsf.version>1.2_14</jsf.version>
<facelets.version>1.1.15.B1</facelets.version>
diff --git a/modules/enterprise/gui/base-perspective-war/pom.xml b/modules/enterprise/gui/base-perspective-war/pom.xml
index e47afba..0066cdd 100644
--- a/modules/enterprise/gui/base-perspective-war/pom.xml
+++ b/modules/enterprise/gui/base-perspective-war/pom.xml
@@ -16,11 +16,6 @@
<name>RHQ Base Perspective War</name>
<description>an abstract WAR that can be used by the maven war plugin as an overlay (i.e. base) for a perspective WAR</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/bas...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/bas...</developerConnection>
- </scm>
-
<dependencies>
<dependency>
diff --git a/modules/enterprise/gui/content_http-war/pom.xml b/modules/enterprise/gui/content_http-war/pom.xml
index e0c53c8..f2919fb 100644
--- a/modules/enterprise/gui/content_http-war/pom.xml
+++ b/modules/enterprise/gui/content_http-war/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Enterprise Content HTTP Support</name>
<description>Provides http export for content in RHQ.</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/con...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/con...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/gui/content_http-war/</scm.module.path>
- </properties>
-
<dependencies>
<!-- Internal Deps -->
diff --git a/modules/enterprise/gui/coregui/pom.xml b/modules/enterprise/gui/coregui/pom.xml
index 174efac..ff5e243 100644
--- a/modules/enterprise/gui/coregui/pom.xml
+++ b/modules/enterprise/gui/coregui/pom.xml
@@ -16,12 +16,6 @@
<name>RHQ Enterprise Core GUI</name>
<description>the RHQ Enterprise Core GUI webapp</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/cor...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/cor...</developerConnection>
- </scm>
-
-
<properties>
<!-- dependency versions -->
<gwt.version>2.0.4</gwt.version>
@@ -76,7 +70,6 @@
<gwt.fallback.locale>en</gwt.fallback.locale>
</properties>
-
<dependencies>
<!-- ============= Internal Deps ============= -->
diff --git a/modules/enterprise/gui/installer-war/pom.xml b/modules/enterprise/gui/installer-war/pom.xml
index 0e65e6a..7f79832 100644
--- a/modules/enterprise/gui/installer-war/pom.xml
+++ b/modules/enterprise/gui/installer-war/pom.xml
@@ -16,13 +16,7 @@
<name>RHQ Enterprise Installer War</name>
<description>The RHQ Enterprise Installer webapp</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/ins...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/ins...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/gui/installer-war/</scm.module.path>
<war.dir>${basedir}/target/${final.name}</war.dir>
<!-- plugin versions -->
diff --git a/modules/enterprise/gui/pom.xml b/modules/enterprise/gui/pom.xml
index bfac4e7..db45111 100644
--- a/modules/enterprise/gui/pom.xml
+++ b/modules/enterprise/gui/pom.xml
@@ -19,15 +19,6 @@
<name>RHQ Enterprise GUI</name>
<description>parent POM for modules comprising the RHQ enterprise GUI</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/gui/</scm.module.path>
- </properties>
-
<profiles>
<profile>
diff --git a/modules/enterprise/gui/portal-war/pom.xml b/modules/enterprise/gui/portal-war/pom.xml
index 6c48f27..ffc2b42 100644
--- a/modules/enterprise/gui/portal-war/pom.xml
+++ b/modules/enterprise/gui/portal-war/pom.xml
@@ -15,15 +15,7 @@
<name>RHQ Enterprise Portal</name>
<description>the RHQ Enterprise Portal webapp</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/por...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/por...</developerConnection>
- </scm>
-
-
<properties>
- <scm.module.path>modules/enterprise/gui/portal-war/</scm.module.path>
-
<!-- dependency versions -->
<el.version>1.0</el.version>
<jsf-facelets.version>1.1.15.B1</jsf-facelets.version>
diff --git a/modules/enterprise/gui/rest-war/pom.xml b/modules/enterprise/gui/rest-war/pom.xml
index e828fbf..7f5707c 100644
--- a/modules/enterprise/gui/rest-war/pom.xml
+++ b/modules/enterprise/gui/rest-war/pom.xml
@@ -16,20 +16,6 @@
<name>RHQ REST interface</name>
<description>RHQ Rest interface for the RHQ server</description>
-
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/res...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/res...</developerConnection>
- </scm>
-
-
- <properties>
- <scm.module.path>modules/enterprise/gui/rest-war/</scm.module.path>
-
-
- <!-- Note: The product info properties now live in the RHQ root pom. -->
- </properties>
-
<dependencies>
<dependency>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/gui/webdav-war/pom.xml b/modules/enterprise/gui/webdav-war/pom.xml
index 021dc70..ac519a9 100644
--- a/modules/enterprise/gui/webdav-war/pom.xml
+++ b/modules/enterprise/gui/webdav-war/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Enterprise WebDav</name>
<description>The RHQ WebDav inventory access</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/web...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/web...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/gui/webdav-war/</scm.module.path>
- </properties>
-
<dependencies>
<!-- Internal Deps -->
diff --git a/modules/enterprise/pom.xml b/modules/enterprise/pom.xml
index 2627ebf..22a7c7e 100644
--- a/modules/enterprise/pom.xml
+++ b/modules/enterprise/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Enterprise Modules</name>
<description>parent POM for modules comprising the RHQ enterprise edition</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>net.sourceforge.cobertura</groupId>
diff --git a/modules/enterprise/remoting/cli/pom.xml b/modules/enterprise/remoting/cli/pom.xml
index d2990f3..32921bb 100644
--- a/modules/enterprise/remoting/cli/pom.xml
+++ b/modules/enterprise/remoting/cli/pom.xml
@@ -14,13 +14,7 @@
<name>RHQ Enterprise Remote CLI</name>
<description>RHQ Enterprise Remote Command Line Interface</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/client/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/client/</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/remoting/</scm.module.path>
<log4j.version>1.2.14</log4j.version>
<persistence-api.version>1.0</persistence-api.version>
<hibernate-all.version>1.0.0.Alpha9</hibernate-all.version>
diff --git a/modules/enterprise/remoting/client-api/pom.xml b/modules/enterprise/remoting/client-api/pom.xml
index 344f171..3051557 100644
--- a/modules/enterprise/remoting/client-api/pom.xml
+++ b/modules/enterprise/remoting/client-api/pom.xml
@@ -14,14 +14,7 @@
<name>RHQ Enterprise Remote Client API</name>
<description>a set of client APIs used to connect to an RHQ Server and invoke methods on it</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/remotin...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/remotin...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/remoting/</scm.module.path>
-
<log4j.version>1.2.14</log4j.version>
<persistence-api.version>1.0</persistence-api.version>
<hibernate-all.version>1.0.0.Alpha9</hibernate-all.version>
diff --git a/modules/enterprise/remoting/webservices/pom.xml b/modules/enterprise/remoting/webservices/pom.xml
index 28a0f43..b225ea1 100644
--- a/modules/enterprise/remoting/webservices/pom.xml
+++ b/modules/enterprise/remoting/webservices/pom.xml
@@ -12,13 +12,7 @@
<artifactId>rhq-remoting-webservices</artifactId>
<name>RHQ Remoting Web Services Client</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/client/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/client/</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/remoting/</scm.module.path>
<persistence-api.version>1.0</persistence-api.version>
</properties>
diff --git a/modules/enterprise/server/container-lib/pom.xml b/modules/enterprise/server/container-lib/pom.xml
index 2139374..b832b06 100644
--- a/modules/enterprise/server/container-lib/pom.xml
+++ b/modules/enterprise/server/container-lib/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Enterprise Container Library</name>
<description>A library of classes that will be deployed in the server container itself, above the main EAR</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/container-lib/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/enterprise/server/container/pom.xml b/modules/enterprise/server/container/pom.xml
index 1e55e08..428e1cb 100644
--- a/modules/enterprise/server/container/pom.xml
+++ b/modules/enterprise/server/container/pom.xml
@@ -16,17 +16,9 @@
<name>RHQ Enterprise Server Container</name>
<description>The full RHQ container build, including the JBossAS server and all config/deploy files</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/container/</scm.module.path>
-
<!-- dependency versions -->
<jboss-faces.version>4.2.3.GA</jboss-faces.version>
-
<rhq.webappsReloadable>false</rhq.webappsReloadable>
</properties>
diff --git a/modules/enterprise/server/ear/pom.xml b/modules/enterprise/server/ear/pom.xml
index 32ce3d3..5a7136e 100644
--- a/modules/enterprise/server/ear/pom.xml
+++ b/modules/enterprise/server/ear/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Enterprise Server EAR</name>
<description>RHQ enterprise server EAR</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/ear/</scm.module.path>
<earDirectory>${project.build.directory}/${project.build.finalName}</earDirectory>
<!-- dependency versions -->
diff --git a/modules/enterprise/server/jar/pom.xml b/modules/enterprise/server/jar/pom.xml
index f292a86..07aebae 100644
--- a/modules/enterprise/server/jar/pom.xml
+++ b/modules/enterprise/server/jar/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Enterprise Server JAR</name>
<description>RHQ enterprise server main JAR</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/jar/</scm.module.path>
<rhq.server.datasource>java:/RHQDS</rhq.server.datasource>
<rhq.server.ds-mapping>PostgreSQL</rhq.server.ds-mapping>
diff --git a/modules/enterprise/server/plugins/alert-cli/pom.xml b/modules/enterprise/server/plugins/alert-cli/pom.xml
index 3d64b03..d13ee76 100644
--- a/modules/enterprise/server/plugins/alert-cli/pom.xml
+++ b/modules/enterprise/server/plugins/alert-cli/pom.xml
@@ -11,15 +11,6 @@
<name>RHQ Enterprise Server CLI Script Alert Plugin</name>
<description>An alert sender able to execute an arbitrary CLI script as a response to an alert</description>
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-cli/</scm.module.path>
- </properties>
-
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<dependencies>
<dependency>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/alert-email/pom.xml b/modules/enterprise/server/plugins/alert-email/pom.xml
index 103f28f..d664a1b 100644
--- a/modules/enterprise/server/plugins/alert-email/pom.xml
+++ b/modules/enterprise/server/plugins/alert-email/pom.xml
@@ -13,15 +13,6 @@
<name>RHQ Enterprise Server Email Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-email/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/enterprise/server/plugins/alert-irc/pom.xml b/modules/enterprise/server/plugins/alert-irc/pom.xml
index a63eeaf..0f46399 100644
--- a/modules/enterprise/server/plugins/alert-irc/pom.xml
+++ b/modules/enterprise/server/plugins/alert-irc/pom.xml
@@ -11,18 +11,8 @@
<artifactId>alert-irc</artifactId>
<version>4.3.0-SNAPSHOT</version>
-
<name>RHQ Enterprise Server IRC Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-irc/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/enterprise/server/plugins/alert-log4j/pom.xml b/modules/enterprise/server/plugins/alert-log4j/pom.xml
index 4bfdad5..b06d1ec 100644
--- a/modules/enterprise/server/plugins/alert-log4j/pom.xml
+++ b/modules/enterprise/server/plugins/alert-log4j/pom.xml
@@ -13,16 +13,6 @@
<name>RHQ Enterprise Server Log4J Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-snmp/</scm.module.path>
- </properties>
-
-
<build>
<plugins>
diff --git a/modules/enterprise/server/plugins/alert-microblog/pom.xml b/modules/enterprise/server/plugins/alert-microblog/pom.xml
index d9f7e6e..f6b00e3 100644
--- a/modules/enterprise/server/plugins/alert-microblog/pom.xml
+++ b/modules/enterprise/server/plugins/alert-microblog/pom.xml
@@ -13,23 +13,12 @@
<name>RHQ Enterprise Server Microblog Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-microblog/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>${twitter4j.version}</version>
</dependency>
-
</dependencies>
<build>
diff --git a/modules/enterprise/server/plugins/alert-mobicents/pom.xml b/modules/enterprise/server/plugins/alert-mobicents/pom.xml
index 3a50667..76e49fa 100644
--- a/modules/enterprise/server/plugins/alert-mobicents/pom.xml
+++ b/modules/enterprise/server/plugins/alert-mobicents/pom.xml
@@ -13,15 +13,6 @@
<name>RHQ Enterprise Server Mobicents Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-mobicents/</scm.module.path>
- </properties>
-
<build>
<plugins>
diff --git a/modules/enterprise/server/plugins/alert-operations/pom.xml b/modules/enterprise/server/plugins/alert-operations/pom.xml
index 0fe30c2..46c3d61 100644
--- a/modules/enterprise/server/plugins/alert-operations/pom.xml
+++ b/modules/enterprise/server/plugins/alert-operations/pom.xml
@@ -13,13 +13,7 @@
<name>RHQ Enterprise Server Opertions Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-operations/</scm.module.path>
<seam.version>2.1.0.SP1</seam.version>
</properties>
diff --git a/modules/enterprise/server/plugins/alert-roles/pom.xml b/modules/enterprise/server/plugins/alert-roles/pom.xml
index 86907a4..311cfa9 100644
--- a/modules/enterprise/server/plugins/alert-roles/pom.xml
+++ b/modules/enterprise/server/plugins/alert-roles/pom.xml
@@ -13,13 +13,7 @@
<name>RHQ Enterprise Server Roles Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-roles/</scm.module.path>
<seam.version>2.1.0.SP1</seam.version>
</properties>
diff --git a/modules/enterprise/server/plugins/alert-scriptlang/pom.xml b/modules/enterprise/server/plugins/alert-scriptlang/pom.xml
index d76ad0a..5aace00 100644
--- a/modules/enterprise/server/plugins/alert-scriptlang/pom.xml
+++ b/modules/enterprise/server/plugins/alert-scriptlang/pom.xml
@@ -16,18 +16,6 @@
<name>RHQ Enterprise Server Script lang Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...
- </connection>
- <developerConnection>
- scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...
- </developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-scriptlang/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/enterprise/server/plugins/alert-sms/pom.xml b/modules/enterprise/server/plugins/alert-sms/pom.xml
index b34c97c..eaddb5a 100644
--- a/modules/enterprise/server/plugins/alert-sms/pom.xml
+++ b/modules/enterprise/server/plugins/alert-sms/pom.xml
@@ -16,13 +16,7 @@
<name>RHQ Enterprise Server SMS-Sender Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-sms/</scm.module.path>
<resteasy.version>1.2.GA</resteasy.version>
</properties>
diff --git a/modules/enterprise/server/plugins/alert-snmp/pom.xml b/modules/enterprise/server/plugins/alert-snmp/pom.xml
index 8d255a1..ff7466d 100644
--- a/modules/enterprise/server/plugins/alert-snmp/pom.xml
+++ b/modules/enterprise/server/plugins/alert-snmp/pom.xml
@@ -13,23 +13,12 @@
<name>RHQ Enterprise Server SNMP Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-snmp/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>org.snmp4j</groupId>
<artifactId>snmp4j</artifactId>
<version>1.8.2</version>
</dependency>
-
</dependencies>
<build>
diff --git a/modules/enterprise/server/plugins/alert-subject/pom.xml b/modules/enterprise/server/plugins/alert-subject/pom.xml
index 8ba0b56..9ba1fb9 100644
--- a/modules/enterprise/server/plugins/alert-subject/pom.xml
+++ b/modules/enterprise/server/plugins/alert-subject/pom.xml
@@ -13,22 +13,6 @@
<name>RHQ Enterprise Server Subject Alert Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...
- </connection>
- <developerConnection>
- scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...
- </developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/alert-subject/</scm.module.path>
- </properties>
-
- <dependencies>
-
- </dependencies>
-
<build>
<plugins>
diff --git a/modules/enterprise/server/plugins/ant-bundle/pom.xml b/modules/enterprise/server/plugins/ant-bundle/pom.xml
index 65eccd7..0d36c31 100644
--- a/modules/enterprise/server/plugins/ant-bundle/pom.xml
+++ b/modules/enterprise/server/plugins/ant-bundle/pom.xml
@@ -15,19 +15,8 @@
<name>RHQ Ant Bundle Server Plugin</name>
<description>Server side plugin that manages ant-scripted bundles</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/ant-bundle/</scm.module.path>
- </properties>
-
<dependencies>
-
<!-- Internal Deps -->
-
<dependency>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-domain</artifactId>
diff --git a/modules/enterprise/server/plugins/cloud/pom.xml b/modules/enterprise/server/plugins/cloud/pom.xml
index 176b174..2a5b73c 100644
--- a/modules/enterprise/server/plugins/cloud/pom.xml
+++ b/modules/enterprise/server/plugins/cloud/pom.xml
@@ -14,13 +14,7 @@
<name>RHQ Enterprise Server Cloud Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/plugins/cloud/</scm.module.path>
<cobber4j.version>0.1</cobber4j.version>
</properties>
diff --git a/modules/enterprise/server/plugins/cobbler/pom.xml b/modules/enterprise/server/plugins/cobbler/pom.xml
index be0f5ef..1f6e1c4 100644
--- a/modules/enterprise/server/plugins/cobbler/pom.xml
+++ b/modules/enterprise/server/plugins/cobbler/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Enterprise Server Cobbler Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/plugins/cobbler/</scm.module.path>
<cobber4j.version>0.1</cobber4j.version>
</properties>
diff --git a/modules/enterprise/server/plugins/disk/pom.xml b/modules/enterprise/server/plugins/disk/pom.xml
index 17ca168..9fcc685 100644
--- a/modules/enterprise/server/plugins/disk/pom.xml
+++ b/modules/enterprise/server/plugins/disk/pom.xml
@@ -15,19 +15,8 @@
<name>RHQ Enterprise Server Disk Content Source Plugin</name>
<description>JBoss Operations Network Enterprise Server Disk Content Source Plugin</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/disk/</scm.module.path>
- </properties>
-
<dependencies>
-
<!-- Internal Deps -->
-
<dependency>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-client-api</artifactId>
diff --git a/modules/enterprise/server/plugins/drift-mongodb/pom.xml b/modules/enterprise/server/plugins/drift-mongodb/pom.xml
index 7d14df3..4026ee5 100644
--- a/modules/enterprise/server/plugins/drift-mongodb/pom.xml
+++ b/modules/enterprise/server/plugins/drift-mongodb/pom.xml
@@ -15,17 +15,10 @@
<name>Drift Server MongoDB Plugin</name>
<description>Server side plugin providing MongoDB Backend for drift management</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/plugins/drift-mongodb/</scm.module.path>
<!--
Tests are temporarily disabled until a MongoDB server is set up for use with
hudson builds. They can however be run locally provided you have MongoDB installed.
-
- jsanda
-->
<skipTests>true</skipTests>
diff --git a/modules/enterprise/server/plugins/drift-rhq/pom.xml b/modules/enterprise/server/plugins/drift-rhq/pom.xml
index 9100ee7..d2181f1 100644
--- a/modules/enterprise/server/plugins/drift-rhq/pom.xml
+++ b/modules/enterprise/server/plugins/drift-rhq/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Drift Server Plugin</name>
<description>Server side plugin providing RHQ Backend for drift management</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/drift-rhq/</scm.module.path>
- </properties>
-
<dependencies>
<!-- Internal Deps -->
diff --git a/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml b/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
index 936f60d..a1a5025 100644
--- a/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
+++ b/modules/enterprise/server/plugins/filetemplate-bundle/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ File Template Bundle Server Plugin</name>
<description>Server side plugin that manages file template bundles</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/filetemplate-bundle/</scm.module.path>
- </properties>
-
<dependencies>
<!-- Internal Deps -->
diff --git a/modules/enterprise/server/plugins/groovy-script/pom.xml b/modules/enterprise/server/plugins/groovy-script/pom.xml
index 742e49c..fcae8eb 100644
--- a/modules/enterprise/server/plugins/groovy-script/pom.xml
+++ b/modules/enterprise/server/plugins/groovy-script/pom.xml
@@ -15,11 +15,6 @@
<name>RHQ Enterprise Server Groovy Script Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
diff --git a/modules/enterprise/server/plugins/jboss-software/pom.xml b/modules/enterprise/server/plugins/jboss-software/pom.xml
index 327171a..6fbaef6 100644
--- a/modules/enterprise/server/plugins/jboss-software/pom.xml
+++ b/modules/enterprise/server/plugins/jboss-software/pom.xml
@@ -15,17 +15,7 @@
<name>RHQ Enterprise Server JBoss Software Plugin</name>
<description>JBoss Operations Network Enterprise Server JBoss Software RSS Feed Plugin</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/jboss-software/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-client-api</artifactId>
diff --git a/modules/enterprise/server/plugins/packagetype-cli/pom.xml b/modules/enterprise/server/plugins/packagetype-cli/pom.xml
index de0163a..d5862ec 100644
--- a/modules/enterprise/server/plugins/packagetype-cli/pom.xml
+++ b/modules/enterprise/server/plugins/packagetype-cli/pom.xml
@@ -13,22 +13,6 @@
<name>RHQ Enterprise Server CLI Package Type Plugin</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...
- </connection>
- <developerConnection>
- scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...
- </developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/packagetype-cli/</scm.module.path>
- </properties>
-
- <dependencies>
-
- </dependencies>
-
<build>
<plugins>
diff --git a/modules/enterprise/server/plugins/perspectives/core/pom.xml b/modules/enterprise/server/plugins/perspectives/core/pom.xml
index 34e879a..c3d755c 100644
--- a/modules/enterprise/server/plugins/perspectives/core/pom.xml
+++ b/modules/enterprise/server/plugins/perspectives/core/pom.xml
@@ -16,17 +16,7 @@
<name>RHQ Core Perspective Parent</name>
<description>parent POM for modules comprising the RHQ Core Perspective</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/plugins...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/plugins...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/plugins/perspectives/core/</scm.module.path>
- </properties>
-
<profiles>
-
<profile>
<id>default</id>
<activation>
diff --git a/modules/enterprise/server/plugins/perspectives/policy/app/pom.xml b/modules/enterprise/server/plugins/perspectives/policy/app/pom.xml
index 164de34..9846566 100644
--- a/modules/enterprise/server/plugins/perspectives/policy/app/pom.xml
+++ b/modules/enterprise/server/plugins/perspectives/policy/app/pom.xml
@@ -15,11 +15,6 @@
<name>RHQ Policy Perspective War</name>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/etc/samples/sample-perspec...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/etc/samples/sample-perspec...</developerConnection>
- </scm>
-
<dependencyManagement>
<dependencies>
diff --git a/modules/enterprise/server/plugins/perspectives/policy/pom.xml b/modules/enterprise/server/plugins/perspectives/policy/pom.xml
index 618522f..380c337 100644
--- a/modules/enterprise/server/plugins/perspectives/policy/pom.xml
+++ b/modules/enterprise/server/plugins/perspectives/policy/pom.xml
@@ -16,11 +16,6 @@
<name>RHQ Policy Perspective Parent</name>
<description>parent POM for modules comprising the RHQ Policy Perspective</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/plugins...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/plugins...</developerConnection>
- </scm>
-
<modules>
<module>perspective</module>
<module>app</module>
diff --git a/modules/enterprise/server/plugins/pom.xml b/modules/enterprise/server/plugins/pom.xml
index 1e7d64d..ddb8e3a 100644
--- a/modules/enterprise/server/plugins/pom.xml
+++ b/modules/enterprise/server/plugins/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Enterprise Server Plugins</name>
<description>RHQ enterprise server plugins parent POM</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/</scm.module.path>
- </properties>
-
<dependencies>
<!-- all server-side plugins have access to some of the server-side APIs, therefore, we need this dependency -->
<dependency>
diff --git a/modules/enterprise/server/plugins/rhnhosted/pom.xml b/modules/enterprise/server/plugins/rhnhosted/pom.xml
index 4dff432..e4c2529 100644
--- a/modules/enterprise/server/plugins/rhnhosted/pom.xml
+++ b/modules/enterprise/server/plugins/rhnhosted/pom.xml
@@ -15,19 +15,8 @@
<name>RHQ Enterprise Server RHN Hosted Plugin</name>
<description>Provides ability to communicate with RHN Hosted</description>
- <scm>
- <connection>scm:svn:http://svn.rhq-project.org/repos/rhq/trunk/modules/enterprise/ser...</connection>
- <developerConnection>scm:svn:http://svn.rhq-project.org/repos/rhq/trunk/modules/enterprise/ser...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/rhnhosted/</scm.module.path>
- </properties>
-
<dependencies>
-
<!-- Internal Deps -->
-
<dependency>
<groupId>org.rhq</groupId>
<artifactId>rhq-core-client-api</artifactId>
diff --git a/modules/enterprise/server/plugins/url/pom.xml b/modules/enterprise/server/plugins/url/pom.xml
index 6669606..ede0674 100644
--- a/modules/enterprise/server/plugins/url/pom.xml
+++ b/modules/enterprise/server/plugins/url/pom.xml
@@ -15,17 +15,7 @@
<name>RHQ Enterprise Server URL Content Source Plugin</name>
<description>URL Content Source Plugin</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/url/</scm.module.path>
- </properties>
-
<dependencies>
-
<!-- Internal Deps -->
<dependency>
<groupId>org.rhq</groupId>
diff --git a/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml b/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
index 1cfef10..a57d703 100644
--- a/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
+++ b/modules/enterprise/server/plugins/validate-all-serverplugins/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Validate All Server Plugins</name>
<description>Test POM that will validate all RHQ server plugins</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/validate-all-serverplugins/</scm.module.path>
- </properties>
-
<build>
<plugins>
<plugin>
diff --git a/modules/enterprise/server/plugins/yum/pom.xml b/modules/enterprise/server/plugins/yum/pom.xml
index d24447a..4b19d90 100644
--- a/modules/enterprise/server/plugins/yum/pom.xml
+++ b/modules/enterprise/server/plugins/yum/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Enterprise Server Yum Content Source Plugin</name>
<description>JBoss Operations Network Enterprise Server Yum Content Source Plugin</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/plugins/yum/</scm.module.path>
- </properties>
-
<dependencies>
<!-- Internal Deps -->
diff --git a/modules/enterprise/server/pom.xml b/modules/enterprise/server/pom.xml
index 2c9ef76..42d5c4b 100644
--- a/modules/enterprise/server/pom.xml
+++ b/modules/enterprise/server/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Enterprise Server Parent</name>
<description>RHQ enterprise server parent POM</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/</scm.module.path>
- </properties>
-
<profiles>
<profile>
diff --git a/modules/enterprise/server/safe-invoker/pom.xml b/modules/enterprise/server/safe-invoker/pom.xml
index 22faa19..3b23fc0 100644
--- a/modules/enterprise/server/safe-invoker/pom.xml
+++ b/modules/enterprise/server/safe-invoker/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Enterprise Safe WebService Invoker</name>
<description>A webservice invoker that safely calls returns ejb3 pojo's with lazy attributes</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/safe-invoker/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/enterprise/server/sars/agent-sar/pom.xml b/modules/enterprise/server/sars/agent-sar/pom.xml
index 9d67aa1..56f2f99 100644
--- a/modules/enterprise/server/sars/agent-sar/pom.xml
+++ b/modules/enterprise/server/sars/agent-sar/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Enterprise Server Embedded Agent SAR</name>
<description>The SAR that allows the server to embed the agent</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/enterprise/server/sars/agent-sar/</scm.module.path>
<sarDirectory>${project.build.directory}/${project.build.finalName}</sarDirectory>
</properties>
diff --git a/modules/enterprise/server/sars/pom.xml b/modules/enterprise/server/sars/pom.xml
index 0b54ce9..bd52c46 100644
--- a/modules/enterprise/server/sars/pom.xml
+++ b/modules/enterprise/server/sars/pom.xml
@@ -16,11 +16,6 @@
<name>RHQ Enterprise Server JBoss AS SARs</name>
<description>parent POM for all JBoss AS SARs</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
<build>
<plugins>
diff --git a/modules/enterprise/server/xml-schemas/pom.xml b/modules/enterprise/server/xml-schemas/pom.xml
index b071f6f..c2aca81 100644
--- a/modules/enterprise/server/xml-schemas/pom.xml
+++ b/modules/enterprise/server/xml-schemas/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Server XML Schemas</name>
<description>Server side XML schemas and JAXB APIs used mailing to support the RHQ Server plugin container</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/server/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/enterprise/server/xml-schemas/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>${rhq.groupId}</groupId>
diff --git a/modules/helpers/pluginAnnotations/pom.xml b/modules/helpers/pluginAnnotations/pom.xml
index d56c8dd..b6720cb 100644
--- a/modules/helpers/pluginAnnotations/pom.xml
+++ b/modules/helpers/pluginAnnotations/pom.xml
@@ -19,11 +19,6 @@
<name>RHQ plugin annotations</name>
<description>Annotations to help generate plugin descriptors</description>
- <scm>
- <connection>scm:git:git://git.fedorahosted.org/rhq/rhq.git</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq/rhq.git</developerConnection>
- </scm>
-
<build>
<plugins>
diff --git a/modules/helpers/pluginGen/pom.xml b/modules/helpers/pluginGen/pom.xml
index fd6a367..6394863 100644
--- a/modules/helpers/pluginGen/pom.xml
+++ b/modules/helpers/pluginGen/pom.xml
@@ -19,12 +19,6 @@
<name>RHQ plugin generator</name>
<description>Helper to generate plugin skeletons</description>
- <scm>
- <connection>scm:git:git://git.fedorahosted.org/rhq/rhq.git</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq/rhq.git</developerConnection>
- </scm>
-
-
<build>
<plugins>
diff --git a/modules/helpers/pluginGen/src/main/resources/pom.ftl b/modules/helpers/pluginGen/src/main/resources/pom.ftl
index adc8b37..378bd76 100644
--- a/modules/helpers/pluginGen/src/main/resources/pom.ftl
+++ b/modules/helpers/pluginGen/src/main/resources/pom.ftl
@@ -44,7 +44,6 @@
</#if>
<properties>
- <scm.module.path>TODO</scm.module.path>
<rhq.version><#if props.rhqVersion??>${props.rhqVersion}<#else >1.3.0-SNAPSHOT</#if></rhq.version> <!-- TODO adjust, see above too -->
</properties>
diff --git a/modules/helpers/pom.xml b/modules/helpers/pom.xml
index 92da29b..c98f407 100644
--- a/modules/helpers/pom.xml
+++ b/modules/helpers/pom.xml
@@ -16,17 +16,6 @@
<name>RHQ Helpers</name>
<description>parent POM for all RHQ helpers</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/helpers</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/helpers</developerConnection>
- </scm>
-
-
- <properties>
- <scm.module.path>modules/helpers/</scm.module.path>
- </properties>
-
-
<dependencies>
<dependency>
<groupId>net.sourceforge.cobertura</groupId>
diff --git a/modules/helpers/rtfilter/pom.xml b/modules/helpers/rtfilter/pom.xml
index 93928a6..c80f26a 100644
--- a/modules/helpers/rtfilter/pom.xml
+++ b/modules/helpers/rtfilter/pom.xml
@@ -15,14 +15,8 @@
<name>RHQ rtfilter</name>
<description>Filter to gather response time metrics from web applcations</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/helpers/rtfilter</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/helpers/rtfilter</developerConnection>
- </scm>
-
<properties>
<final.name>rhq-rtfilter</final.name>
- <scm.module.path>modules/helpers/rtfilter/</scm.module.path>
<war.dir>${basedir}/target/${final.name}</war.dir>
</properties>
diff --git a/modules/integration-tests/apache-plugin-test/pom.xml b/modules/integration-tests/apache-plugin-test/pom.xml
index 9feecf3..13241f0 100644
--- a/modules/integration-tests/apache-plugin-test/pom.xml
+++ b/modules/integration-tests/apache-plugin-test/pom.xml
@@ -14,13 +14,7 @@
<name>Apache plugin integration test</name>
<description>Apache plugin integration tests</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/integration-tests/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/integration-tests/...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/integration-tests/apache-plugin-test</scm.module.path>
<byteman.version>1.5.2</byteman.version>
<httpd.version>2.2.17</httpd.version>
<httpd.install.dir>${basedir}/target/itest/httpd</httpd.install.dir>
diff --git a/modules/integration-tests/jboss-as-7-plugin-test/pom.xml b/modules/integration-tests/jboss-as-7-plugin-test/pom.xml
index 2744b37..ec0c098 100644
--- a/modules/integration-tests/jboss-as-7-plugin-test/pom.xml
+++ b/modules/integration-tests/jboss-as-7-plugin-test/pom.xml
@@ -19,15 +19,6 @@
<name>RHQ AS7 Integration Test</name>
<description>Integration tests for the AS7 plugin</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/integration-tests/...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/integration-tests/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/integration-tests/jboss-as-7-plugin-test</scm.module.path>
- </properties>
-
<build>
<plugins>
<plugin>
diff --git a/modules/integration-tests/mod_cluster-plugin-test/pom.xml b/modules/integration-tests/mod_cluster-plugin-test/pom.xml
index bb40916..a51f3b1 100644
--- a/modules/integration-tests/mod_cluster-plugin-test/pom.xml
+++ b/modules/integration-tests/mod_cluster-plugin-test/pom.xml
@@ -16,7 +16,6 @@
<description>Integration tests for mod_cluster RHQ Agent plugin</description>
<properties>
- <scm.module.path>modules/integration-tests/mod_cluster-plugin-test</scm.module.path>
<!-- jbossas.version>6.0.0.20100429-M3</jbossas.version -->
<!-- jbossas.version>6.0.0.M1</jbossas.version -->
<jbossas.version>6.0.0.Final</jbossas.version>
diff --git a/modules/integration-tests/pom.xml b/modules/integration-tests/pom.xml
index 36b7d34..0341e53 100644
--- a/modules/integration-tests/pom.xml
+++ b/modules/integration-tests/pom.xml
@@ -17,15 +17,6 @@
<name>RHQ Integration Tests</name>
<description>Parent POM for all RHQ integration tests</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/integration-tests</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/integration-tests</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/integration-tests/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>${rhq.groupId}</groupId>
diff --git a/modules/jopr/dist/agent/pom.xml b/modules/jopr/dist/agent/pom.xml
index 3fb3443..5a3cd70 100644
--- a/modules/jopr/dist/agent/pom.xml
+++ b/modules/jopr/dist/agent/pom.xml
@@ -27,15 +27,6 @@
<name>Jopr Agent</name>
<description>The Jopr Agent</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/dist/agent/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/dist/agent/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/dist/agent/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/jopr/dist/pom.xml b/modules/jopr/dist/pom.xml
index a806bc4..699fe82 100644
--- a/modules/jopr/dist/pom.xml
+++ b/modules/jopr/dist/pom.xml
@@ -15,15 +15,6 @@
<name>Jopr Distros</name>
<description>parent POM for all Jopr distributions</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/dist/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/dist/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/dist/</scm.module.path>
- </properties>
-
<modules>
<!-- Note, The Jopr Agent is the RHQ Agent verbatim. There is no need currently to make any tweaks. -->
<module>server</module>
diff --git a/modules/jopr/dist/server/pom.xml b/modules/jopr/dist/server/pom.xml
index 39a1f34..9ec8f35 100644
--- a/modules/jopr/dist/server/pom.xml
+++ b/modules/jopr/dist/server/pom.xml
@@ -16,14 +16,7 @@
<name>Jopr Server</name>
<description>The Jopr Server</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/dist/server/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/dist/server/</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/dist/server/</scm.module.path>
-
<!-- dependency versions -->
<product.shortName>Jopr</product.shortName>
<product.name>Jopr</product.name>
diff --git a/modules/jopr/modules-plugins-pom.xml b/modules/jopr/modules-plugins-pom.xml
index dc1fa28..3b602ea 100644
--- a/modules/jopr/modules-plugins-pom.xml
+++ b/modules/jopr/modules-plugins-pom.xml
@@ -17,15 +17,6 @@
<name>Jopr Plugins</name>
<description>parent POM for all Jopr plugins</description>
- <scm>
- <connection>scm:svn:http://svn.jboss.org/repos/jopr/tags/Jopr_2_3_0_EmbJopr_1_3_0-1/m...</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/jopr/tags/Jopr_2_3_0_EmbJopr_1_3_0-1/...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>${rhq.groupId}</groupId>
diff --git a/modules/jopr/modules-pom.xml b/modules/jopr/modules-pom.xml
index 7571c50..67e763b 100644
--- a/modules/jopr/modules-pom.xml
+++ b/modules/jopr/modules-pom.xml
@@ -15,14 +15,7 @@
<name>Jopr Modules</name>
<description>parent POM for all Jopr modules</description>
- <scm>
- <connection>scm:svn:http://svn.jboss.org/repos/jopr/trunk/modules/</connection>
- <developerConnection>scm:svn:https://svn.jboss.org/repos/jopr/trunk/modules/</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/</scm.module.path>
-
<!-- dependency versions -->
<hibernate-all.version>1.0.0.Alpha9</hibernate-all.version>
<persistence-api.version>1.0</persistence-api.version>
diff --git a/modules/jopr/pom.xml b/modules/jopr/pom.xml
index aa8b6d2..de109aa 100644
--- a/modules/jopr/pom.xml
+++ b/modules/jopr/pom.xml
@@ -26,11 +26,6 @@
<url>http://jboss.com/</url>
</organization>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/</developerConnection>
- </scm>
-
<issueManagement>
<system>jira</system>
<url>https://jira.jboss.org/jira/browse/JOPR</url>
@@ -45,9 +40,6 @@
<rhq.defaultDevContainerPath>dev-container</rhq.defaultDevContainerPath>
<!-- set the below prop to true to enable misc extra build output -->
<rhq.debug>false</rhq.debug>
-
- <scm.branch>trunk</scm.branch>
- <scm.module.path />
</properties>
<modules>
diff --git a/modules/jopr/tools/jbas5-plugin-descriptor-gen/pom.xml b/modules/jopr/tools/jbas5-plugin-descriptor-gen/pom.xml
index 305babe..965002a 100644
--- a/modules/jopr/tools/jbas5-plugin-descriptor-gen/pom.xml
+++ b/modules/jopr/tools/jbas5-plugin-descriptor-gen/pom.xml
@@ -20,11 +20,6 @@
<name>Jopr JBossAS 5.x/6.x Plugin Descriptor Generator</name>
<description>A tool that connects to a JBoss Application Server 5.x/6.x instance's Profile Service and generates an RHQ plugin descriptor with a ResourceType for each ManagedComponent type that is deployed.</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/jopr/tools/jbas5-p...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/jopr/tools/jbas5-p...</developerConnection>
- </scm>
-
<properties>
<jbossas.version>6.0.0.M1</jbossas.version>
</properties>
diff --git a/modules/plugins/JBossOSGi/pom.xml b/modules/plugins/JBossOSGi/pom.xml
index 9566be8..1033830 100644
--- a/modules/plugins/JBossOSGi/pom.xml
+++ b/modules/plugins/JBossOSGi/pom.xml
@@ -19,11 +19,6 @@
<name>JBossOSGi Plugin</name>
<description>Plugin to Manage JBossOSGi services</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/JBoss-OSGi/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/JBoss-OSGi/</developerConnection>
- </scm>
-
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/aliases/pom.xml b/modules/plugins/aliases/pom.xml
index 270330d..f581033 100644
--- a/modules/plugins/aliases/pom.xml
+++ b/modules/plugins/aliases/pom.xml
@@ -17,13 +17,7 @@
<name>RHQ Aliases File Plugin</name>
<description>A plugin for managing the system aliases file</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/aliases</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/aliases</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/aliases/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/ant-bundle/pom.xml b/modules/plugins/ant-bundle/pom.xml
index 0c5505d..b00a1ce 100644
--- a/modules/plugins/ant-bundle/pom.xml
+++ b/modules/plugins/ant-bundle/pom.xml
@@ -15,23 +15,12 @@
<name>RHQ Ant Bundle Plugin</name>
<description>a plugin that processes ant-based bundles</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/ant-bundle/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/ant-bundle/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/ant-bundle/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>org.rhq</groupId>
<artifactId>rhq-ant-bundle-common</artifactId>
<version>${project.version}</version>
</dependency>
-
</dependencies>
<build>
diff --git a/modules/plugins/apache/pom.xml b/modules/plugins/apache/pom.xml
index e5d95e2..16854fe 100644
--- a/modules/plugins/apache/pom.xml
+++ b/modules/plugins/apache/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Apache Plugin</name>
<description>a plugin for managing Apache web servers (1.3 and later)</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/apache/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/apache/</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/apache/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/byteman/pom.xml b/modules/plugins/byteman/pom.xml
index 331acc2..37101bb 100644
--- a/modules/plugins/byteman/pom.xml
+++ b/modules/plugins/byteman/pom.xml
@@ -15,24 +15,13 @@
<name>RHQ Byteman Plugin</name>
<description>a plugin for managing VMs with a byteman agent installed</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/byteman/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/byteman/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/byteman/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>org.jboss.byteman</groupId>
<artifactId>byteman</artifactId>
<version>1.2.1</version>
<scope>provided</scope>
</dependency>
-
</dependencies>
<build>
diff --git a/modules/plugins/cobbler/pom.xml b/modules/plugins/cobbler/pom.xml
index 9c12590..e7da655 100644
--- a/modules/plugins/cobbler/pom.xml
+++ b/modules/plugins/cobbler/pom.xml
@@ -17,18 +17,11 @@
<name>RHQ Cobbler File Plugin</name>
<description>A plugin for managing the system cobbler file</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/cobbler</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/cobbler</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/cobbler/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
<dependencies>
-
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
diff --git a/modules/plugins/cron/pom.xml b/modules/plugins/cron/pom.xml
index d2c9331..148ad63 100644
--- a/modules/plugins/cron/pom.xml
+++ b/modules/plugins/cron/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Augeas-based Cron Plugin</name>
<description>A plugin for managing the *nix cron file</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/cron</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/cron</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/cron/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/filetemplate-bundle/pom.xml b/modules/plugins/filetemplate-bundle/pom.xml
index 1d6f220..6e80698 100644
--- a/modules/plugins/filetemplate-bundle/pom.xml
+++ b/modules/plugins/filetemplate-bundle/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ File Template Bundle Plugin</name>
<description>a plugin that processes file template bundles</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/filetempla...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/filetempla...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/filetemplate-bundle/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/grub/pom.xml b/modules/plugins/grub/pom.xml
index f964998..131a98f 100644
--- a/modules/plugins/grub/pom.xml
+++ b/modules/plugins/grub/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ GRUB Plugin</name>
<description>A plugin for managing the GRUB boot loader</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/grub</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/grub</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/grub/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/hadoop/pom.xml b/modules/plugins/hadoop/pom.xml
index af68966..f30d2fb 100644
--- a/modules/plugins/hadoop/pom.xml
+++ b/modules/plugins/hadoop/pom.xml
@@ -15,10 +15,6 @@
<name>RHQ Hadoop Plugin</name>
<description>Monitor Hadoop clusters</description>
- <properties>
- <scm.module.path>TODO</scm.module.path>
- </properties>
-
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/hibernate/pom.xml b/modules/plugins/hibernate/pom.xml
index 6c647fb..06c6470 100644
--- a/modules/plugins/hibernate/pom.xml
+++ b/modules/plugins/hibernate/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Hibernate Plugin</name>
<description>A plugin for managing Hibernate services</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/hibernate/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/plugins/hi...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/hibernate/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/hosts/pom.xml b/modules/plugins/hosts/pom.xml
index 33eee7a..9f0aedc 100644
--- a/modules/plugins/hosts/pom.xml
+++ b/modules/plugins/hosts/pom.xml
@@ -17,13 +17,7 @@
<name>RHQ Hosts File Plugin</name>
<description>A plugin for managing the system hosts file</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/hosts</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/hosts</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/hosts/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/iis/pom.xml b/modules/plugins/iis/pom.xml
index d3eaebb..c4c5587 100644
--- a/modules/plugins/iis/pom.xml
+++ b/modules/plugins/iis/pom.xml
@@ -15,19 +15,6 @@
<name>RHQ IIS Plugin</name>
<description>a plugin for managing Microsoft Internet Information Server (IIS)</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/iis</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/iis</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/iis/</scm.module.path>
- </properties>
-
- <dependencies>
-
- </dependencies>
-
<profiles>
<profile>
<id>integration-tests</id>
diff --git a/modules/plugins/iptables/pom.xml b/modules/plugins/iptables/pom.xml
index 266acbc..9a9c1c4 100644
--- a/modules/plugins/iptables/pom.xml
+++ b/modules/plugins/iptables/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Augeas-based iptables Plugin</name>
<description>A plugin for managing the *nix iptables file</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/iptables</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/iptables</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/iptables/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>${rhq.groupId}</groupId>
diff --git a/modules/plugins/jboss-as-5/pom.xml b/modules/plugins/jboss-as-5/pom.xml
index cfd2e9c..3de6752 100644
--- a/modules/plugins/jboss-as-5/pom.xml
+++ b/modules/plugins/jboss-as-5/pom.xml
@@ -19,16 +19,7 @@
<name>RHQ JBossAS 5.x Plugin</name>
<description>A plugin for managing JBoss Application Server 5.x</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-as-5</connection>
- <developerConnection>
- scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-as-5
- </developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/jboss-as-5/</scm.module.path>
-
<jbossas.version>6.0.0.M1</jbossas.version>
</properties>
diff --git a/modules/plugins/jboss-as-5/testsuite/pom.xml b/modules/plugins/jboss-as-5/testsuite/pom.xml
index 6976c39..e5e30f5 100644
--- a/modules/plugins/jboss-as-5/testsuite/pom.xml
+++ b/modules/plugins/jboss-as-5/testsuite/pom.xml
@@ -21,15 +21,7 @@
<name>Jopr JBossAS 5.x Plugin Test Suite</name>
<description>Test suite for JBoss Application Server 5.x plugin</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-as-5...</connection>
- <developerConnection>
- scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-as-5...
- </developerConnection>
- </scm>
-
<properties>
- <scm.module.path>jon/plugins/jboss-as-5/testsuite</scm.module.path>
<final.name>jboss-as5-testsuite</final.name>
<war.dir>${basedir}/target/${final.name}</war.dir>
<jon.version>2.0.1-SNAPSHOT</jon.version>
diff --git a/modules/plugins/jboss-as-7/pom.xml b/modules/plugins/jboss-as-7/pom.xml
index 826861b..e069be3 100644
--- a/modules/plugins/jboss-as-7/pom.xml
+++ b/modules/plugins/jboss-as-7/pom.xml
@@ -15,7 +15,6 @@
<name>RHQ JBossAS 7.x Plugin</name>
<properties>
- <scm.module.path>TODO</scm.module.path>
<json.version>${project.json.version}</json.version>
<jackson.version>1.7.4</jackson.version>
</properties>
diff --git a/modules/plugins/jboss-as/pom.xml b/modules/plugins/jboss-as/pom.xml
index d816e2a..c0292da 100644
--- a/modules/plugins/jboss-as/pom.xml
+++ b/modules/plugins/jboss-as/pom.xml
@@ -15,19 +15,8 @@
<name>RHQ JBossAS 3.2.x/4.x Plugin</name>
<description>A plugin for managing JBoss Application Server 3.2.x/4.x</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-as/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-as/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/jboss-as/</scm.module.path>
- </properties>
-
<dependencies>
-
<!-- internal -->
-
<!-- TODO: Move this up to the parent pom. -->
<dependency>
<groupId>${rhq.groupId}</groupId>
diff --git a/modules/plugins/jboss-cache-v3/pom.xml b/modules/plugins/jboss-cache-v3/pom.xml
index 84d7f79..efad67d 100644
--- a/modules/plugins/jboss-cache-v3/pom.xml
+++ b/modules/plugins/jboss-cache-v3/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ JBossCache 3.x Plugin</name>
<description>A plugin for managing JBossCache 3.x services</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-cach...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-cach...</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/jboss-cache-v3/</scm.module.path>
<jbossas.version>6.0.0.M1</jbossas.version>
<rhq.groupId>org.rhq</rhq.groupId>
</properties>
diff --git a/modules/plugins/jboss-cache/pom.xml b/modules/plugins/jboss-cache/pom.xml
index 9ea9a93..4ecbee4 100644
--- a/modules/plugins/jboss-cache/pom.xml
+++ b/modules/plugins/jboss-cache/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ JBossCache 4.x Plugin</name>
<description>A plugin for managing JBossCache 4.x services</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-cache/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jboss-cache/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/jboss-cache/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/jdbctrace/pom.xml b/modules/plugins/jdbctrace/pom.xml
index f052dff..9f1e210 100644
--- a/modules/plugins/jdbctrace/pom.xml
+++ b/modules/plugins/jdbctrace/pom.xml
@@ -15,17 +15,7 @@
<name>RHQ JDBC Trace Plugin</name>
<description>a plugin that traces JDBC invocations via byte-code manipulation</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jdbctrace/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jdbctrace/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/jdbctrace/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>${rhq.groupId}</groupId>
<artifactId>rhq-byteman-plugin</artifactId>
diff --git a/modules/plugins/jira/pom.xml b/modules/plugins/jira/pom.xml
index 6e488f6..b97bc8a 100644
--- a/modules/plugins/jira/pom.xml
+++ b/modules/plugins/jira/pom.xml
@@ -15,16 +15,6 @@
<name>RHQ Jira Plugin</name>
<description>A plugin for monitoring Jira</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jira</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jira</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/jira/</scm.module.path>
- </properties>
-
-
<dependencies>
<!-- scope provided means it is only used for compilation and not included in jar
<dependency>
diff --git a/modules/plugins/jmx/pom.xml b/modules/plugins/jmx/pom.xml
index 989825b..e92eb21 100644
--- a/modules/plugins/jmx/pom.xml
+++ b/modules/plugins/jmx/pom.xml
@@ -15,23 +15,12 @@
<name>RHQ JMX Plugin</name>
<description>a plugin for managing a generic JMX-enabled application</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jmx</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/jmx</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/jmx/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>mc4j</groupId>
<artifactId>org-mc4j-ems</artifactId>
<!-- NOTE: The version is defined in the root POM's dependencyManagement section. -->
</dependency>
-
</dependencies>
<build>
diff --git a/modules/plugins/lsof/pom.xml b/modules/plugins/lsof/pom.xml
index 6f7439d..3c03009 100644
--- a/modules/plugins/lsof/pom.xml
+++ b/modules/plugins/lsof/pom.xml
@@ -15,24 +15,13 @@
<name>RHQ Network Resource Detector Plugin</name>
<description>a plugin that uses lsof technology to discovery network resources</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/lsof/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/lsof/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/lsof/</scm.module.path>
- </properties>
-
<dependencies>
-
<dependency>
<groupId>${rhq.groupId}</groupId>
<artifactId>rhq-script-plugin</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
-
</dependencies>
<build>
diff --git a/modules/plugins/mysql/pom.xml b/modules/plugins/mysql/pom.xml
index 4919620..4068435 100644
--- a/modules/plugins/mysql/pom.xml
+++ b/modules/plugins/mysql/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ MySql Plugin</name>
<description>A plugin for managing MySql</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/mysql</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/mysql</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/mysql/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/netservices/pom.xml b/modules/plugins/netservices/pom.xml
index 8b00d6a..0bdb176 100644
--- a/modules/plugins/netservices/pom.xml
+++ b/modules/plugins/netservices/pom.xml
@@ -17,15 +17,6 @@
A plugin for monitoring network services.
</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/platform</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/platform</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/platform/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/onewire/pom.xml b/modules/plugins/onewire/pom.xml
index 0cf5d3a..8c2628b 100644
--- a/modules/plugins/onewire/pom.xml
+++ b/modules/plugins/onewire/pom.xml
@@ -15,15 +15,6 @@
<name>snmptrapd</name>
<description>RHQ OneWire Plugin</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/snmpget/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/snmpget/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/onewire</scm.module.path>
- </properties>
-
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/oracle/pom.xml b/modules/plugins/oracle/pom.xml
index deb44d3..4b52d63 100644
--- a/modules/plugins/oracle/pom.xml
+++ b/modules/plugins/oracle/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Oracle Plugin</name>
<description>A plugin for managing Oracle Database Servers</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/oracle</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/oracle</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/oracle/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/pattern-generator/pom.xml b/modules/plugins/pattern-generator/pom.xml
index eb40cae..269b169 100644
--- a/modules/plugins/pattern-generator/pom.xml
+++ b/modules/plugins/pattern-generator/pom.xml
@@ -15,16 +15,6 @@
<name>RHQ pattern Plugin</name>
<description>Generate metrics that follow given patterns</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/pattern-ge...</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/pattern-ge...</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/pattern-generator/</scm.module.path>
- </properties>
-
-
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/perftest/pom.xml b/modules/plugins/perftest/pom.xml
index 670f437..e296f55 100644
--- a/modules/plugins/perftest/pom.xml
+++ b/modules/plugins/perftest/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Performance Test Plugin</name>
<description>a plugin for performance testing</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/perftest</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/perftest</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/perftest/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
diff --git a/modules/plugins/platform/pom.xml b/modules/plugins/platform/pom.xml
index 87206a7..f22ac8a 100644
--- a/modules/plugins/platform/pom.xml
+++ b/modules/plugins/platform/pom.xml
@@ -17,19 +17,6 @@
A plugin for monitoring the different supported platforms.
</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/platform</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/platform</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/platform/</scm.module.path>
- </properties>
-
- <dependencies>
-
- </dependencies>
-
<profiles>
<profile>
<id>integration-tests</id>
diff --git a/modules/plugins/pom.xml b/modules/plugins/pom.xml
index 3fd1b88..389b69c 100644
--- a/modules/plugins/pom.xml
+++ b/modules/plugins/pom.xml
@@ -16,15 +16,6 @@
<name>RHQ Plugins</name>
<description>parent POM for all RHQ plugins</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/postfix/pom.xml b/modules/plugins/postfix/pom.xml
index dc905e9..2582d6b 100644
--- a/modules/plugins/postfix/pom.xml
+++ b/modules/plugins/postfix/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Augeas-based Postfix Plugin</name>
<description>A plugin for managing the RHEL Postfix server</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/postfix</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/postfix</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/postfix/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/postgres/pom.xml b/modules/plugins/postgres/pom.xml
index d3ad8ac..a3d5cae 100644
--- a/modules/plugins/postgres/pom.xml
+++ b/modules/plugins/postgres/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Postgres Plugin</name>
<description>A plugin for managing PostgreSQL</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/postgres</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/postgres</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/postgres/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/rhq-agent/pom.xml b/modules/plugins/rhq-agent/pom.xml
index 27aa74e..92068fd 100644
--- a/modules/plugins/rhq-agent/pom.xml
+++ b/modules/plugins/rhq-agent/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ RHQ-Agent Plugin</name>
<description>a plugin for monitoring RHQ agents</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/rhq-agent</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/rhq-agent</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/rhq-agent/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/rhq-server/pom.xml b/modules/plugins/rhq-server/pom.xml
index 0d72160..86b3f7a 100644
--- a/modules/plugins/rhq-server/pom.xml
+++ b/modules/plugins/rhq-server/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Server Plugin</name>
<description>A plugin for managing RHQ Servers</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/rhq-server</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/rhq-server</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/rhq-server/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
<groupId>${rhq.groupId}</groupId>
diff --git a/modules/plugins/samba/pom.xml b/modules/plugins/samba/pom.xml
index cdb7869..f30db8f 100644
--- a/modules/plugins/samba/pom.xml
+++ b/modules/plugins/samba/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Augeas-based Samba Plugin</name>
<description>A plugin for managing the RHEL samba file</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/samba</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/samba</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/samba/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/script/pom.xml b/modules/plugins/script/pom.xml
index c1b3fb2..94af3a5 100644
--- a/modules/plugins/script/pom.xml
+++ b/modules/plugins/script/pom.xml
@@ -17,15 +17,6 @@
A plugin for managing resources that have command line executables or scripts as their management interface.
</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/script</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/script</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/script/</scm.module.path>
- </properties>
-
<profiles>
<profile>
<id>integration-tests</id>
diff --git a/modules/plugins/script2/pom.xml b/modules/plugins/script2/pom.xml
index 472c868..f89d6fc 100644
--- a/modules/plugins/script2/pom.xml
+++ b/modules/plugins/script2/pom.xml
@@ -15,16 +15,6 @@
<name>RHQ Script2 Plugin</name>
<description>Plugin that allows monitoring via scripting languages (Ruby, Python)</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/script2</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/script2/</developerConnection>
- </scm>
-
-
- <properties>
- <scm.module.path>modules/plugins/script2</scm.module.path>
- </properties>
-
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/services/pom.xml b/modules/plugins/services/pom.xml
index adf6da8..9c62d09 100644
--- a/modules/plugins/services/pom.xml
+++ b/modules/plugins/services/pom.xml
@@ -14,9 +14,6 @@
<name>RHQ Services Plugin</name>
<description>Do some System config services stuff</description>
- <properties>
- <scm.module.path>modules/plugins/services</scm.module.path>
- </properties>
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/snmptrapd/pom.xml b/modules/plugins/snmptrapd/pom.xml
index 8317bdc..eec5fc5 100644
--- a/modules/plugins/snmptrapd/pom.xml
+++ b/modules/plugins/snmptrapd/pom.xml
@@ -12,15 +12,6 @@
<name>RHQ SnmpTrapd Plugin</name>
<description>RHQ SnmpTrapd Plugin</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/snmptrapd</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/snmptrapd</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/snmptrapd/</scm.module.path>
- </properties>
-
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/sshd/pom.xml b/modules/plugins/sshd/pom.xml
index 649d707..4ef043f 100644
--- a/modules/plugins/sshd/pom.xml
+++ b/modules/plugins/sshd/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ SSHD Plugin</name>
<description>A plugin for managing the OpenSSH daemon</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/sshd</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/sshd</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/sshd/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/sudoers/pom.xml b/modules/plugins/sudoers/pom.xml
index ecf8343..95567bb 100644
--- a/modules/plugins/sudoers/pom.xml
+++ b/modules/plugins/sudoers/pom.xml
@@ -15,13 +15,7 @@
<name>RHQ Augeas-based Sudoers Plugin</name>
<description>A plugin for managing the *nix sudoers file</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/sudoers</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/sudoers</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/sudoers/</scm.module.path>
<ant.contrib.version>1.0b3</ant.contrib.version>
</properties>
diff --git a/modules/plugins/tomcat/pom.xml b/modules/plugins/tomcat/pom.xml
index 01b7c6e..4837c5b 100644
--- a/modules/plugins/tomcat/pom.xml
+++ b/modules/plugins/tomcat/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Tomcat Plugin</name>
<description>A plugin for managing standalone JBoss EWS and Apache Tomcat Servers</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/tomcat/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/tomcat/</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/tomcat/</scm.module.path>
- </properties>
-
<dependencies>
<dependency>
diff --git a/modules/plugins/twitter/pom.xml b/modules/plugins/twitter/pom.xml
index be036d3..de46080 100644
--- a/modules/plugins/twitter/pom.xml
+++ b/modules/plugins/twitter/pom.xml
@@ -15,10 +15,6 @@
<name>RHQ Twitter Plugin</name>
<description>Do some Twitter statistics monitoring</description>
- <properties>
- <scm.module.path>modules/plugins/twitter</scm.module.path>
- </properties>
-
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/validate-all-plugins/pom.xml b/modules/plugins/validate-all-plugins/pom.xml
index b83736c..fa35f4e 100644
--- a/modules/plugins/validate-all-plugins/pom.xml
+++ b/modules/plugins/validate-all-plugins/pom.xml
@@ -15,15 +15,6 @@
<name>RHQ Validate All Plugins</name>
<description>Test POM that will validate all RHQ plugins</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/validate-all-plugins</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/validate-all-plugins</developerConnection>
- </scm>
-
- <properties>
- <scm.module.path>modules/plugins/validate-all-plugins/</scm.module.path>
- </properties>
-
<build>
<plugins>
<plugin>
diff --git a/modules/plugins/virt/pom.xml b/modules/plugins/virt/pom.xml
index 116bbe5..bb62eee 100644
--- a/modules/plugins/virt/pom.xml
+++ b/modules/plugins/virt/pom.xml
@@ -14,13 +14,7 @@
<name>RHQ Virtualization Plugin</name>
<description>Plugin used to manage virtualization</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/virt/</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/plugins/virt/</developerConnection>
- </scm>
-
<properties>
- <scm.module.path>modules/plugins/virt/</scm.module.path>
<libvirt-java.version>0.4.1</libvirt-java.version>
</properties>
diff --git a/modules/pom.xml b/modules/pom.xml
index f802f23..f0eaeef 100644
--- a/modules/pom.xml
+++ b/modules/pom.xml
@@ -16,14 +16,6 @@
<name>RHQ Modules</name>
<description>parent POM for all RHQ modules</description>
- <scm>
- <connection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules</developerConnection>
- </scm>
-
- <properties>
- </properties>
-
<modules>
<module>test-utils</module>
</modules>
diff --git a/pom.xml b/pom.xml
index 07d4984..32646760 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,18 +19,11 @@
<url>http://redhat.com/</url>
</organization>
- <scm>
- <connection>scm:git:git://git.fedorahosted.org/rhq/rhq.git</connection>
- <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq/rhq.git</developerConnection>
- <url>http://git.fedorahosted.org/git/rhq/rhq.git</url>
- </scm>
-
<issueManagement>
<system>bugzilla</system>
<url>https://bugzilla.redhat.com/browse.cgi?product=RHQ%20Project</url>
</issueManagement>
-
<properties>
<!-- explictly specify a default encoding to avoid relying on the LANG env var being set correctly -->
<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
commit 2f10f68c296d7e350b3deba4e59c009483290c9e
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Tue Nov 15 15:28:11 2011 +0100
[BZ 753225] - removing the unused "directive index" property from
the Directory plugin configuration.
diff --git a/modules/plugins/apache/src/main/java/org/rhq/plugins/apache/ApacheDirectoryDiscoveryComponent.java b/modules/plugins/apache/src/main/java/org/rhq/plugins/apache/ApacheDirectoryDiscoveryComponent.java
index 97d14d5..8a3cac8 100644
--- a/modules/plugins/apache/src/main/java/org/rhq/plugins/apache/ApacheDirectoryDiscoveryComponent.java
+++ b/modules/plugins/apache/src/main/java/org/rhq/plugins/apache/ApacheDirectoryDiscoveryComponent.java
@@ -84,7 +84,7 @@ public class ApacheDirectoryDiscoveryComponent implements ResourceDiscoveryCompo
ResourceType resourceType = context.getResourceType();
for (AugeasNode node : directories) {
- Configuration pluginConfiguration = new Configuration();
+ Configuration pluginConfiguration = context.getDefaultPluginConfiguration();
String ifmoduleParams = AugeasNodeSearch.getNodeKey(node, parentNode);
List<AugeasNode> params = node.getChildByLabel("param");
diff --git a/modules/plugins/apache/src/main/resources/META-INF/rhq-plugin.xml b/modules/plugins/apache/src/main/resources/META-INF/rhq-plugin.xml
index 68f0802..0818cfd 100644
--- a/modules/plugins/apache/src/main/resources/META-INF/rhq-plugin.xml
+++ b/modules/plugins/apache/src/main/resources/META-INF/rhq-plugin.xml
@@ -694,7 +694,6 @@
<service name="Directory" class="ApacheDirectoryComponent" discovery="ApacheDirectoryDiscoveryComponent" createDeletePolicy="both">
<plugin-configuration>
- <c:simple-property name="directiveIndex" readOnly="true" required="true" type="integer" default="-1"/>
<c:simple-property name="regexp" displayName="Regular Expression" type="boolean" default="false" readOnly="true"
description="Does the name of this directory denote a regular expression?"/>
</plugin-configuration>
commit 6fa90ab75091ba17e9ac07dbd5c95d73c60c0adc
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Tue Nov 15 12:16:16 2011 +0100
[BZ 751246] - Sample scripts for deploying apps to JBAS.
bundle.js contains generic functions to deploy stuff using the bundle
subsystem.
deploy-to-and-restart-JBAS.js - contains functions to create and update
applications deployed to JBAS instances in a group with a sub-sequential
restart of the JBAS instances.
diff --git a/modules/enterprise/remoting/cli/src/main/samples/bundles.js b/modules/enterprise/remoting/cli/src/main/samples/bundles.js
new file mode 100644
index 0000000..4402ad8
--- /dev/null
+++ b/modules/enterprise/remoting/cli/src/main/samples/bundles.js
@@ -0,0 +1,153 @@
+/**
+ * file: bundles.js
+ *
+ * description: this file contains a couple of example functions for more convenient
+ * work with the bundle subsystem.
+ * This script has a dependency on util.js. To load this script's functions into your
+ * CLI session execute the following from the CLI shell,
+ *
+ * $ login <username> <password>
+ * $ exec -f samples/util.js
+ * $ exec -f samples/bundles.js
+ *
+ * Note that you must login before you can load the scripts. Also please note
+ * that if a function is not documented, then it is not intended for public
+ * use. It is used only as an internal helper function.
+ *
+ * author: lkrejci(a)redhat.com
+ */
+
+/**
+ * A simple function to create a new bundle version from a zip file containing
+ * the bundle.
+ *
+ * @param pathToBundleZipFile the path to the bundle on the local file system
+ *
+ * @return an instance of BundleVersion class describing what's been created on
+ * the RHQ server.
+ */
+function createBundleVersion(pathToBundleZipFile) {
+ var bytes = getFileBytes(pathToBundleZipFile)
+ return BundleManager.createBundleVersionViaByteArray(bytes)
+}
+
+/**
+ * This is a helper function that one can use to find out what base directories
+ * given resource type defines.
+ * <p>
+ * These base directories then can be used when specifying bundle destinations.
+ *
+ * @param resourceTypeId
+ * @returns a java.util.Set of ResourceTypeBundleConfiguration objects
+ */
+function getAllBaseDirectories(resourceTypeId) {
+ var crit = new ResourceTypeCriteria;
+ crit.addFilterId(resourceTypeId);
+ crit.fetchBundleConfiguration(true);
+
+ var types = ResourceTypeManager.findResourceTypesByCriteria(crit);
+
+ if (types.size() == 0) {
+ throw "Could not find a resource type with id " + resourceTypeId;
+ } else if (types.size() > 1) {
+ throw "More than one resource type found with id " + resourceTypeId + "! How did that happen!";
+ }
+
+ var type = types.get(0);
+
+ return type.getResourceTypeBundleConfiguration().getBundleDestinationBaseDirectories();
+}
+
+/**
+ * Creates a new destination for given bundle. Once a destination exists,
+ * actual bundle versions can be deployed to it.
+ * <p>
+ * Note that this only differs from the <code>BundleManager.createBundleDestination</code>
+ * method in the fact that one can provide bundle and resource group names instead of their
+ * ids.
+ *
+ * @param destinationName the name of the destination to be created
+ * @param description the description for the destination
+ * @param bundleName the name of the bundle to create the destination for
+ * @param groupName name of a group of resources that the destination will handle
+ * @param baseDirName the name of the basedir definition that represents where inside the
+ * deployment of the individual resources the bundle will get deployed
+ * @param deployDir the specific sub directory of the base dir where the bundles will get deployed
+ *
+ * @return BundleDestination object
+ */
+function createBundleDestination(destinationName, description, bundleName, groupName, baseDirName, deployDir) {
+ var groupCrit = new ResourceGroupCriteria;
+ groupCrit.addFilterName(groupName);
+ var groups = ResourceGroupManager.findResourceGroupsByCriteria(groupCrit);
+
+ if (groups.empty) {
+ throw "No group called '" + groupName + "' found.";
+ }
+
+ var group = groups.get(0);
+
+ var bundleCrit = new BundleCriteria;
+ bundleCrit.addFilterName(bundleName);
+ var bundles = BundleManager.findBundlesByCriteria(bundleCrit);
+
+ if (bundles.empty) {
+ throw "No bundle called '" + bundleName + "' found.";
+ }
+
+ var bundle = bundles.get(0);
+
+ return BundleManager.createBundleDestination(bundle.id, destinationName, description, baseDirName, deployDir, group.id);
+}
+
+/**
+ * Tries to deploy given bundle version to provided destination using given configuration.
+ * <p>
+ * This method blocks while waiting for the deployment to complete or fail.
+ *
+ * @param destination the bundle destination (or id thereof)
+ * @param bundleVersion the bundle version to deploy (or id thereof)
+ * @param deploymentConfiguration the deployment configuration. This can be an ordinary
+ * javascript object (hash) or an instance of RHQ's Configuration. If it is the former,
+ * it is converted to the Configuration instance using the <code>asConfiguration</code>
+ * function from <code>util.js</code>. Please consult the documentation of that method
+ * to understand the limitations of that approach.
+ * @param description the deployment description
+ *
+ * @return the BundleDeployment instance describing the deployment
+ */
+function deployBundle(destination, bundleVersion, deploymentConfiguration, description) {
+ var destinationId = destination;
+ if (typeof(destination) == 'object') {
+ destinationId = destination.id;
+ }
+
+ var bundleVersionId = bundleVersion;
+ if (typeof(bundleVersion) == 'object') {
+ bundleVersionId = bundleVersion.id;
+ }
+
+ var deploymentConfig = deploymentConfiguration;
+ if (!(deploymentConfiguration instanceof Configuration)) {
+ deploymentConfig = asConfiguration(deploymentConfiguration);
+ }
+
+ var deployment = BundleManager.createBundleDeployment(bundleVersionId, destinationId, description, deploymentConfig);
+
+ deployment = BundleManager.scheduleBundleDeployment(deployment.id, false);
+
+ var crit = new BundleDeploymentCriteria;
+ crit.addFilterId(deployment.id);
+
+ while (deployment.status == BundleDeploymentStatus.PENDING || deployment.status == BundleDeploymentStatus.IN_PROGRESS) {
+ java.lang.Thread.currentThread().sleep(1000);
+ var dps = BundleManager.findBundleDeploymentsByCriteria(crit);
+ if (dps.empty) {
+ throw "The deployment disappeared while we were waiting for it to complete.";
+ }
+
+ deployment = dps.get(0);
+ }
+
+ return deployment;
+}
diff --git a/modules/enterprise/remoting/cli/src/main/samples/deploy-to-and-restart-JBAS.js b/modules/enterprise/remoting/cli/src/main/samples/deploy-to-and-restart-JBAS.js
new file mode 100644
index 0000000..15b43ff
--- /dev/null
+++ b/modules/enterprise/remoting/cli/src/main/samples/deploy-to-and-restart-JBAS.js
@@ -0,0 +1,255 @@
+/**
+ * file: deploy-to-and-restart-JBAS.js
+ *
+ * description: this is an example script that defines a function for deploying
+ * a new application to a group of JBoss AS 5.1.x servers using the bundle
+ * subsystem and then restarting the servers serially.
+ *
+ * This script depends on a bundles.js and thus that script needs to be included
+ * prior to including this script.
+ * $ login <username> <password>
+ * $ exec -f samples/util.js
+ * $ exec -f samples/bundles.js
+ * $ exec -f samples/deploy-to-and-restart-JBAS.js
+ *
+ * Note that you must login before you can load the scripts. Also please note
+ * that if a function is not documented, then it is not intended for public use.
+ * It is used only as an internal helper function.
+ *
+ * author: lkrejci(a)redhat.com
+ */
+
+/**
+ * This creates a new destination in the JBoss AS (4,5,6,7) servers from the provided
+ * group and deploys the application provided by the bundle to it. Once the app is deployed,
+ * the servers in the group are sequentially stopped and started.
+ *
+ * @param bundleZipFile the path to the zip file with the application bundle
+ * @param deploymentConfiguration the deployment configuration required by the bundle.
+ * See the <code>deployBundle</code> in <code>bundles.js</code> to find out about
+ * supported formats.
+ * @param groupName the name of the compatible group of JBossAS servers to deploy the bundle to
+ * @param destinationName the name of the destination that will be created so that the bundle
+ * can be deployed to it
+ * @param destinationDescription the description of the destination
+ * @param baseDirName the name of the base directory for the deployment. Each resource type
+ * defines a list of deployment base directories which you can review using, for example,
+ * the <code>getAllBaseDirectories(resourceTypeId)</code> function from <code>bundles.js</code>.
+ * @param deployDir the name of the directory under the base dir in which the bundle will be
+ * deployed to.
+ *
+ * @return the BundleDeployment instance
+ */
+function createAppAndRestartJBAS(bundleZipFile, deploymentConfiguration, groupName, destinationName, destinationDescription, baseDirName, deployDir) {
+ var gcrit = new ResourceGroupCriteria;
+ gcrit.addFilterName(groupName);
+ gcrit.fetchResourceType(true);
+
+ var groups = ResourceGroupManager.findResourceGroupsByCriteria(gcrit);
+ if (groups.empty) {
+ throw "Could not find a resource group called " + groupName;
+ } else if (groups.size() > 1) {
+ throw "There are more than 1 groups called " + groupName;
+ }
+
+ var group = groups.get(0);
+ var targetResourceType = group.resourceType;
+
+ var deployFn = function(restartFn) {
+
+ var bundleVersion = createBundleVersion(bundleZipFile);
+ var destination = BundleManager.createBundleDestination(bundleVersion.bundle.id, destinationName, destinationDescription, baseDirName, deployDir, group.id);
+
+ var deployment = deployBundle(bundleVersion, destination, deploymentConfiguration, null);
+
+ if (deployment.status != BundleDeploymentStatus.SUCCESS) {
+ throw "Deployment wasn't successful: " + deployment;
+ }
+
+ restartFn(group);
+
+ return deployment;
+ };
+
+ if (targetResourceType.plugin == "JBossAS" && targetResourceType.name == "JBossAS Server") {
+ return deployFn(_restartAS4);
+ } else if (targetResourceType.plugin == "JBossAS5" && targetResourceType.name == "JBossAS Server") {
+ return deployFn(_restartAS5);
+ } else if (targetResourceType.plugin == "jboss-as-7" &&
+ (targetResourceType.name == "JBossAS7-Standalone" ||
+ targetResourceType.name == "JBossAS-Managed")) {
+ return deployFn(_restartAS7);
+ }
+
+ throw "The resource group the destination targets doesn't seem to be a JBoss AS server group.";
+}
+
+/**
+ * Deploys an updated bundle of an enterprise application to a destination that
+ * points to a group of JBoss AS(4,5,6,7) servers and then stops all the servers
+ * serially and then starts them up again sequentially.
+ *
+ * @param bundleZipFile
+ * the path to the bundle zip file with the application
+ * @param jbasDestination
+ * the bundle destination the bundle should be deployed to (or id
+ * thereof)
+ * @param deploymentConfiguration
+ * the deployment configuration. This can be an ordinary javascript
+ * object (hash) or an instance of RHQ's Configuration. If it is the
+ * former, it is converted to the Configuration instance using the
+ * <code>asConfiguration</code> function from <code>util.js</code>.
+ * Please consult the documentation of that method to understand the
+ * limitations of that approach.
+ * @param description
+ * the deployment description
+ *
+ * @return the deployment instance
+ */
+function updateAppAndRestartJBAS(bundleZipFile, jbasDestination, deploymentConfiguration) {
+ // first figure out the jbas version we are deploying to
+ var destinationId = jbasDestination;
+ if (typeof(jbasDestination) == 'object') {
+ destinationId = jbasDestination.id;
+ }
+
+ var destCrit = new BundleDestinationCriteria
+ destCrit.fetchGroup(true)
+
+ var destinations = BundleManager.findBundleDestinationsByCriteria(destCrit);
+
+ if (destinations.empty) {
+ throw "No destinations corresponding to " + jbasDestination + " found on the server.";
+ }
+
+ var destination = destinations.get(0);
+
+ var targetResourceType = destination.group.resourceType;
+
+ if (targetResourceType == null) {
+ throw "This function expects a compatible group of JBoss AS (4,5,6 or 7) resources but the provided destination is connected with " + destination.group;
+ }
+
+ var deployFn = function(restartFn) {
+ var bundleVersion = createBundleVersion(bundleZipFile);
+ var deployment = deployBundle(bundleVersion, destination, deploymentConfiguration, null);
+
+ if (deployment.status != BundleDeploymentStatus.SUCCESS) {
+ throw "Deployment wasn't successful: " + deployment;
+ }
+
+ restartFn(destination.group);
+
+ return deployment;
+ };
+
+ if (targetResourceType.plugin == "JBossAS" && targetResourceType.name == "JBossAS Server") {
+ return deployFn(_restartAS4);
+ } else if (targetResourceType.plugin == "JBossAS5" && targetResourceType.name == "JBossAS Server") {
+ return deployFn(_restartAS5);
+ } else if (targetResourceType.plugin == "jboss-as-7" &&
+ (targetResourceType.name == "JBossAS7-Standalone" ||
+ targetResourceType.name == "JBossAS-Managed")) {
+ return deployFn(_restartAS7);
+ }
+
+ throw "The resource group the destination targets doesn't seem to be a JBoss AS server group.";
+}
+
+function _loadGroupMembers(group) {
+ var crit = new ResourceGroupCriteria;
+ crit.addFilterId(group.id);
+ crit.fetchExplicitResources(true);
+ crit.fetchImplicitResources(true);
+
+ var groups = ResourceGroupManager.findResourceGroupsByCriteria(crit)
+
+ if (groups.empty) {
+ throw "Could not find a previously loaded group on the server: " + group;
+ }
+
+ return groups.get(0);
+}
+
+function _allResourceIds(group) {
+ var set = new java.util.HashSet;
+
+ var resourceIdPicker = function(resource) {
+ set.add(resource.id);
+ }
+
+ if (group.explicitResources != null) {
+ foreach(group.explicitResources, resourceIdPicker);
+ }
+
+ if (group.implicitResources != null) {
+ foreach(group.implicitResources, resourceIdPicker);
+ }
+
+ var list = [];
+ foreach(set, function(id) {
+ list.push(id);
+ });
+
+ return list;
+}
+
+function _runOperationSequentially(group, operationName, operationConfig) {
+ group = _loadGroupMembers(group);
+ var resourceIds = _allResourceIds(group);
+
+ var conf = operationConfig;
+ if (!(conf instanceof Configuration)) {
+ conf = asConfiguration(conf);
+ }
+
+ // by specifying the resource ids explicitly, we define the order in which
+ // the operations will be executed on individual resources (in sequence).
+ // if the resourceIds were null, the operations would be invoked all at once
+ // in no particular order.
+ var schedule = OperationManager.scheduleGroupOperation(group.id, resourceIds, false, operationName, conf, 0, 0, 0, 0, null);
+
+ // now we need to wait for all the individual operations on resources to
+ // complete
+ var crit = new GroupOperationHistoryCriteria;
+ crit.addFilterJobId(new JobId(schedule.jobName, schedule.jobGroup));
+
+ while (true) {
+ // XXX should this be configurable?
+ // we're waiting for an AS to start/shutdown which takes time..
+ // Let's check in 5s intervals.
+ // We're waiting at the start of this loop to also ensure that the server
+ // had time to issue the quartz job and persist the history entry.
+ java.lang.Thread.currentThread().sleep(5000);
+
+ var results = OperationManager.findGroupOperationHistoriesByCriteria(crit);
+
+ if (results.empty) {
+ throw "Could not find operation history for schedule " + schedule + ". This should not happen.";
+ }
+
+ var history = results.get(0);
+
+ if (history.status != OperationRequestStatus.INPROGRESS) {
+ return history;
+ }
+ }
+}
+
+function _restartAS4(group) {
+ _runOperationSequentially(group, "shutdown", new Configuration);
+ _runOperationSequentially(group, "start", new Configuration);
+}
+
+function _restartAS5(group) {
+ _runOperationSequentially(group, "shutdown", new Configuration);
+ _runOperationSequentially(group, "start", new Configuration);
+}
+
+function _restartAS7(group) {
+ var shutdownOp = group.resourceType.name == "JBossAS7-Standalone" ? "shutdown" : "server:stop";
+ var startOp = group.resourceType.name == "JBossAS7-Standalone" ? "start" : "server:start";
+
+ _runOperationSequentially(group, shutdownOp, new Configuration);
+ _runOperationSequentially(group, startOp, new Configuration);
+}
diff --git a/modules/enterprise/remoting/cli/src/main/samples/util.js b/modules/enterprise/remoting/cli/src/main/samples/util.js
index b3499df..c3c94a0 100644
--- a/modules/enterprise/remoting/cli/src/main/samples/util.js
+++ b/modules/enterprise/remoting/cli/src/main/samples/util.js
@@ -12,6 +12,7 @@
* Note that you must login before you can load the script.
*
* author: jsanda(a)redhat.com
+ * author: lkrejci(a)redhat.com
*
* See also http://johnsanda.blogspot.com/search/label/javascript
*/
@@ -112,3 +113,174 @@ function findAll(obj, fn) {
}
return matches;
}
+
+/**
+ * A convenience function to convert javascript hashes into RHQ's configuration
+ * objects.
+ * <p>
+ * The conversion of individual keys in the hash follows these rules:
+ * <ol>
+ * <li> if a value of a key is a javascript array, it is interpreted as PropertyList
+ * <li> if a value is a hash, it is interpreted as a PropertyMap
+ * <li> otherwise it is interpreted as a PropertySimple
+ * <li> a null or undefined value is ignored
+ * </ol>
+ * <p>
+ * Note that the conversion isn't perfect, because the hash does not contain enough
+ * information to restore the names of the list members.
+ * <p>
+ * Example: <br/>
+ * <pre><code>
+ * {
+ * simple : "value",
+ * list : [ "value1", "value2"],
+ * listOfMaps : [ { k1 : "value", k2 : "value" }, { k1 : "value2", k2 : "value2" } ]
+ * }
+ * </code></pre>
+ * gets converted to a configuration object:
+ * Configuration:
+ * <ul>
+ * <li> PropertySimple(name = "simple", value = "value")
+ * <li> PropertyList(name = "list")
+ * <ol>
+ * <li>PropertySimple(name = "list", value = "value1")
+ * <li>PropertySimple(name = "list", value = "value2")
+ * </ol>
+ * <li> PropertyList(name = "listOfMaps")
+ * <ol>
+ * <li> PropertyMap(name = "listOfMaps")
+ * <ul>
+ * <li>PropertySimple(name = "k1", value = "value")
+ * <li>PropertySimple(name = "k2", value = "value")
+ * </ul>
+ * <li> PropertyMap(name = "listOfMaps")
+ * <ul>
+ * <li>PropertySimple(name = "k1", value = "value2")
+ * <li>PropertySimple(name = "k2", value = "value2")
+ * </ul>
+ * </ol>
+ * </ul>
+ * Notice that the members of the list have the same name as the list itself
+ * which generally is not the case.
+ */
+function asConfiguration(hash) {
+
+ config = new Configuration;
+
+ for(key in hash) {
+ value = hash[key];
+
+ if (value == null) {
+ continue;
+ }
+
+ (function(parent, key, value) {
+ function isArray(obj) {
+ return typeof(obj) == 'object' && (obj instanceof Array);
+ }
+
+ function isHash(obj) {
+ return typeof(obj) == 'object' && !(obj instanceof Array);
+ }
+
+ function isPrimitive(obj) {
+ return typeof(obj) != 'object';
+ }
+
+ //this is an anonymous function, so the only way it can call itself
+ //is by getting its reference via argument.callee. Let's just assign
+ //a shorter name for it.
+ var me = arguments.callee;
+
+ var prop = null;
+
+ if (isPrimitive(value)) {
+ prop = new PropertySimple(key, new java.lang.String(value));
+ } else if (isArray(value)) {
+ prop = new PropertyList(key);
+ for(var i = 0; i < value.length; ++i) {
+ var v = value[i];
+ if (v != null) {
+ me(prop, key, v);
+ }
+ }
+ } else if (isHash(value)) {
+ prop = new PropertyMap(key);
+ for(var i in value) {
+ var v = value[i];
+ if (value != null) {
+ me(prop, i, v);
+ }
+ }
+ }
+
+ if (parent instanceof PropertyList) {
+ parent.add(prop);
+ } else {
+ parent.put(prop);
+ }
+ })(config, key, value);
+ }
+
+ return config;
+}
+
+/**
+ * Opposite of <code>asConfiguration</code>. Converts an RHQ's configuration object
+ * into a javascript hash.
+ *
+ * @param configuration
+ */
+function asHash(configuration) {
+ ret = {}
+
+ iterator = configuration.getMap().values().iterator();
+ while(iterator.hasNext()) {
+ prop = iterator.next();
+
+ (function(parent, prop) {
+ function isArray(obj) {
+ return typeof(obj) == 'object' && (obj instanceof Array);
+ }
+
+ function isHash(obj) {
+ return typeof(obj) == 'object' && !(obj instanceof Array);
+ }
+
+ var me = arguments.callee;
+
+ var representation = null;
+
+ if (prop instanceof PropertySimple) {
+ representation = prop.stringValue;
+ } else if (prop instanceof PropertyList) {
+ representation = [];
+
+ for(var i = 0; i < prop.list.size(); ++i) {
+ var child = prop.list.get(i);
+ me(representation, child);
+ }
+ } else if (prop instanceof PropertyMap) {
+ representation = {};
+
+ var childIterator = prop.getMap().values().iterator();
+ while(childIterator.hasNext()) {
+ var child = childIterator.next();
+
+ me(representation, child);
+ }
+ }
+
+ if (isArray(parent)) {
+ parent.push(representation);
+ } else if (isHash(parent)) {
+ parent[prop.name] = representation;
+ }
+ })(ret, prop);
+ }
+ (function(parent) {
+
+ })(configuration);
+
+ return ret;
+}
\ No newline at end of file
commit faa248bc6499c6dbbfb06fd7e141f01371ae1e36
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Tue Nov 15 10:58:34 2011 +0100
BZ 750240 - escape <,",>,&,',/ to prevent html injection attacks
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/BaseDispatchAction.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/BaseDispatchAction.java
index eca5a91..d5dc786 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/BaseDispatchAction.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/BaseDispatchAction.java
@@ -72,6 +72,13 @@ public abstract class BaseDispatchAction extends DispatchAction {
throw new ServletException("dispatch parameter [" + parameter + "] not found");
}
+ name = name.replaceAll("<","<")
+ .replaceAll("\"",""")
+ .replaceAll(">",">")
+ .replaceAll("&","&")
+ .replaceAll("'","'")
+ .replaceAll("/","/");
+
// look up the dispatch method
String methodName = getKeyMethodMap().getProperty(name);
if (methodName == null) {
diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/hub/HubForm.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/hub/HubForm.java
index 8db0d6a..84450dd 100644
--- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/hub/HubForm.java
+++ b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/legacy/action/resource/hub/HubForm.java
@@ -129,7 +129,19 @@ public abstract class HubForm extends BaseValidatorForm {
}
public void setKeywords(String keywords) {
- this.keywords = keywords;
+ if (keywords==null) {
+ this.keywords=null;
+ return;
+ }
+
+ this.keywords = keywords.replaceAll("<","<")
+ .replaceAll("\"",""")
+ .replaceAll(">",">")
+ .replaceAll("&","&")
+ .replaceAll("'","'")
+ .replaceAll("/","/");
+
+
}
public String getKeywords() {
commit 6cf3612a2110ddf453bfa3814b3a72ccec699c37
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Nov 14 22:19:03 2011 -0500
make in Compliance column wider so column header isn't clipped.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
index e740da5..36b8d2c 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
@@ -157,9 +157,12 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
int complianceCode = record.getAttributeAsInt(ATTR_COMPLIANCE);
DriftComplianceStatus complianceStatus = DriftComplianceStatus.fromCode(complianceCode);
switch (complianceStatus) {
- case OUT_OF_COMPLIANCE_NO_BASEDIR: return MSG.view_drift_table_out_of_compliance_no_basedir();
- case OUT_OF_COMPLIANCE_DRIFT: return MSG.view_drift_table_out_of_compliance_drift();
- default: return "";
+ case OUT_OF_COMPLIANCE_NO_BASEDIR:
+ return MSG.view_drift_table_out_of_compliance_no_basedir();
+ case OUT_OF_COMPLIANCE_DRIFT:
+ return MSG.view_drift_table_out_of_compliance_drift();
+ default:
+ return "";
}
}
});
@@ -225,6 +228,7 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
nameField.setWidth("20%");
enabledField.setWidth(60);
+ inComplianceField.setWidth(100);
driftHandlingModeField.setWidth("10%");
intervalField.setWidth(100);
baseDirField.setWidth("*");
@@ -239,7 +243,7 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
changeSetField.setWidth(70);
changeSetTimeField.setWidth(100);
enabledField.setWidth(60);
- inComplianceField.setWidth(60);
+ inComplianceField.setWidth(100);
driftHandlingModeField.setWidth("15%");
intervalField.setWidth(70);
baseDirField.setWidth("*");
@@ -359,8 +363,8 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
record.setAttribute(ATTR_IS_ENABLED, String.valueOf(def.isEnabled()));
record.setAttribute(ATTR_IS_ENABLED_ICON, ImageManager.getAvailabilityIcon(def.isEnabled()));
record.setAttribute(ATTR_COMPLIANCE, def.getComplianceStatus().ordinal());
- record.setAttribute(ATTR_COMPLIANCE_ICON, ImageManager.getAvailabilityIcon(
- def.getComplianceStatus() == DriftComplianceStatus.IN_COMPLIANCE));
+ record.setAttribute(ATTR_COMPLIANCE_ICON, ImageManager
+ .getAvailabilityIcon(def.getComplianceStatus() == DriftComplianceStatus.IN_COMPLIANCE));
// fixed value, just the edit icon
record.setAttribute(ATTR_EDIT, ImageManager.getEditIcon());
record.setAttribute(ATTR_IS_PINNED, def.isPinned() ? ImageManager.getPinnedIcon() : ImageManager
commit 945cacd1ee63aa0a6a6743ffcbc941cda606d3cf
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Nov 14 22:04:10 2011 -0500
more work for [bug 753000 - Error on the initial snapshot when creating a drift profile on Windows]
Fix support for windows separators (back slashes) in base directories
and path filters. Support ant style file patterns.
diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/FilterFileVisitor.java b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/FilterFileVisitor.java
index c0d9bef..77a8ef4 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/FilterFileVisitor.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/drift/FilterFileVisitor.java
@@ -123,8 +123,7 @@ public class FilterFileVisitor implements FileVisitor {
filterPattern = filter.getPattern();
}
- return new PathFilter(FilenameUtils.normalize(filterPath.getAbsolutePath()).replace("\\", "/"),
- filterPattern);
+ return new PathFilter(FilenameUtils.normalize(filterPath.getAbsolutePath()), filterPattern);
}
private boolean isEmpty(String s) {
@@ -145,8 +144,8 @@ public class FilterFileVisitor implements FileVisitor {
}
} else {
// else neither includes nor excludes is empty
- if (includesPattern.matcher(file.getAbsolutePath()).matches() &&
- !excludesPattern.matcher(file.getAbsolutePath()).matches()) {
+ if (includesPattern.matcher(file.getAbsolutePath()).matches()
+ && !excludesPattern.matcher(file.getAbsolutePath()).matches()) {
visitor.visit(file);
}
}
diff --git a/modules/core/util/src/main/java/org/rhq/core/util/file/FileUtil.java b/modules/core/util/src/main/java/org/rhq/core/util/file/FileUtil.java
index 63768e4..7cfac87 100644
--- a/modules/core/util/src/main/java/org/rhq/core/util/file/FileUtil.java
+++ b/modules/core/util/src/main/java/org/rhq/core/util/file/FileUtil.java
@@ -409,17 +409,25 @@ public class FileUtil {
first = false;
}
regex.append("(");
- File path = new File(filter.getPath());
+ File pathFile = new File(filter.getPath());
- if (isEmpty(filter.getPattern()) && path.isDirectory()) {
+ if (isEmpty(filter.getPattern()) && pathFile.isDirectory()) {
regex.append(".*");
- } else if (isEmpty(filter.getPattern()) && !path.isDirectory()) {
- buildPatternRegex(path.getAbsolutePath(), regex);
+ } else if (isEmpty(filter.getPattern()) && !pathFile.isDirectory()) {
+ buildPatternRegex(pathFile.getAbsolutePath(), regex);
+
} else if (!isEmpty(filter.getPattern())) {
// note that this case assumes path is a directory. We probably
// need another if else block for when there is a pattern and
// path is not a directory.
- regex.append(path).append("/").append("(");
+
+ // escape win separators because backslash is a regex character
+ String pathString = pathFile.getAbsolutePath();
+ if (!pathString.endsWith(File.separator)) {
+ pathString += File.separator;
+ }
+ pathString = pathString.replace("\\", "\\\\");
+ regex.append(pathString).append("(");
buildPatternRegex(filter.getPattern(), regex);
regex.append(")");
}
@@ -432,8 +440,11 @@ public class FileUtil {
for (int i = 0; i < pattern.length(); i++) {
char c = pattern.charAt(i);
if (c == '?') {
+ // ? match any character
regex.append('.');
+
} else if (c == '*') {
+ // ? match zero or more characters
if (i + 1 < pattern.length()) {
char c2 = pattern.charAt(i + 1);
if (c2 == '*') {
@@ -442,13 +453,23 @@ public class FileUtil {
continue;
}
}
- regex.append("[^/]*");
+ String separator = File.separator;
+ if ("\\".equals(separator)) {
+ separator = "\\\\";
+ }
+ regex.append("[^" + separator + "]*");
+
} else if (c == '.') {
+ // escape file extensions because dot is a regex character
regex.append("\\.");
+
+ } else if (c == '\\') {
+ // escape windows separators because backslash is a regex character
+ regex.append("\\\\");
+
} else {
regex.append(c);
}
- // TODO: Escape backslashes.
}
}
commit 36a26861294cc2ed1a47ec39c3e5bdac3722ecc6
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Mon Nov 14 18:20:36 2011 -0500
[BZ 753959] do not add dup menu items
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
index e7daca8..44f3b90 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTreeView.java
@@ -623,59 +623,58 @@ public class ResourceTreeView extends LocatableVLayout {
}
});
+ }//end dashboard iteration
+
+ //add new menu item for adding current graphable element to view if on Monitor/Graphs tab
+ String currentViewPath = History.getToken();
+ if (currentViewPath.indexOf("Monitoring/Graphs") > -1) {
+ MenuItem addGraphItem = new MenuItem(MSG.common_title_add_graph_to_view());
+ defSubItem.addItem(addGraphItem);
- //add new menu item for adding current graphable element to view if on Monitor/Graphs tab
- String currentViewPath = History.getToken();
- if (currentViewPath.indexOf("Monitoring/Graphs") > -1) {
- MenuItem addGraphItem = new MenuItem(MSG.common_title_add_graph_to_view());
- defSubItem.addItem(addGraphItem);
-
- addGraphItem.addClickHandler(new ClickHandler() {
- public void onClick(MenuItemClickEvent menuItemClickEvent) {
- //generate javascript to call out to.
- //Ex. menuLayers.hide();addMetric('${metric.resourceId},${metric.scheduleId}')
- if (getScheduleDefinitionId(resource, def.getName()) > -1) {
- String resourceGraphElements = resource.getId() + ","
- + getScheduleDefinitionId(resource, def.getName());
-
- //construct portal.war url to access
- String baseUrl = "/resource/common/monitor/visibility/IndicatorCharts.do";
- baseUrl += "?id=" + resource.getId();
- baseUrl += "&view=Default";
- baseUrl += "&action=addChart&metric=" + resourceGraphElements;
- baseUrl += "&view=Default";
- final String url = baseUrl;
- //initiate HTTP request
- final RequestBuilder b = new RequestBuilder(RequestBuilder.GET, baseUrl);
-
- try {
- b.setCallback(new RequestCallback() {
- public void onResponseReceived(final Request request,
- final Response response) {
+ addGraphItem.addClickHandler(new ClickHandler() {
+ public void onClick(MenuItemClickEvent menuItemClickEvent) {
+ //generate javascript to call out to.
+ //Ex. menuLayers.hide();addMetric('${metric.resourceId},${metric.scheduleId}')
+ if (getScheduleDefinitionId(resource, def.getName()) > -1) {
+ String resourceGraphElements = resource.getId() + ","
+ + getScheduleDefinitionId(resource, def.getName());
+
+ //construct portal.war url to access
+ String baseUrl = "/resource/common/monitor/visibility/IndicatorCharts.do";
+ baseUrl += "?id=" + resource.getId();
+ baseUrl += "&view=Default";
+ baseUrl += "&action=addChart&metric=" + resourceGraphElements;
+ baseUrl += "&view=Default";
+ final String url = baseUrl;
+ //initiate HTTP request
+ final RequestBuilder b = new RequestBuilder(RequestBuilder.GET, baseUrl);
+
+ try {
+ b.setCallback(new RequestCallback() {
+ public void onResponseReceived(final Request request,
+ final Response response) {
Log
.trace("Successfully submitted request to add graph to view:"
- + url);
-
- //kick off a page reload.
- String currentViewPath = History.getToken();
- CoreGUI.goToView(currentViewPath, true);
- }
-
- @Override
- public void onError(Request request, Throwable t) {
- Log.trace("Error adding Metric:" + url, t);
- }
- });
- b.send();
- } catch (RequestException e) {
- Log.trace("Error adding Metric:" + url, e);
- }
+ + url);
+
+ //kick off a page reload.
+ String currentViewPath = History.getToken();
+ CoreGUI.goToView(currentViewPath, true);
+ }
+
+ @Override
+ public void onError(Request request, Throwable t) {
+ Log.trace("Error adding Metric:" + url, t);
+ }
+ });
+ b.send();
+ } catch (RequestException e) {
+ Log.trace("Error adding Metric:" + url, e);
}
}
- });
- }
- // }//end trait check
- }//end dashboard iteration
+ }
+ });
+ } // end add the "add to view" menu item
}//end trait exclusion
}//end measurement def iteration
commit c6e550f9da09dc3d418fcf6fee2fd99803ee48b2
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Mon Nov 14 18:00:31 2011 -0500
[BZ 753883] require a user to have MODIFY_RESOURCE perm on a Resource in order
to delete ResourceErrors from that Resource
(https://bugzilla.redhat.com/show_bug.cgi?id=753883); fix a few javadoc typos
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java
index dd0a24c..977a67b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceErrorsView.java
@@ -18,6 +18,8 @@
*/
package org.rhq.enterprise.gui.coregui.client.inventory.resource.detail;
+import java.util.Set;
+
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.Criteria;
import com.smartgwt.client.types.Alignment;
@@ -37,6 +39,8 @@ import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
+import org.rhq.core.domain.authz.Permission;
+import org.rhq.core.domain.resource.composite.ResourceComposite;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.components.table.AbstractTableAction;
import org.rhq.enterprise.gui.coregui.client.components.table.Table;
@@ -132,9 +136,11 @@ public class ResourceErrorsView extends Table<ResourceErrorsDataSource> {
setListGridFields(errorTypeField, timeField, summaryField, iconField);
+ ResourceComposite resourceComposite = titleBar.getResource();
+ Set<Permission> resourcePermissions = resourceComposite.getResourcePermission().getPermissions();
+ final boolean canModifyResource = resourcePermissions.contains(Permission.MODIFY_RESOURCE);
addTableAction(extendLocatorId("delete"), MSG.common_button_delete(), MSG.common_msg_areYouSure(),
- new AbstractTableAction(TableActionEnablement.ANY) {
- @Override
+ new AbstractTableAction(canModifyResource ? TableActionEnablement.ANY : TableActionEnablement.NEVER) {
public void executeAction(final ListGridRecord[] selection, Object actionValue) {
if (selection == null || selection.length == 0) {
return;
@@ -147,7 +153,6 @@ public class ResourceErrorsView extends Table<ResourceErrorsDataSource> {
GWTServiceLookup.getResourceService().deleteResourceErrors(resourceErrorIds,
new AsyncCallback<Void>() {
- @Override
public void onSuccess(Void result) {
Message msg = new Message(MSG.dataSource_resourceErrors_deleteSuccess(String
.valueOf(selection.length)), Severity.Info);
@@ -155,7 +160,6 @@ public class ResourceErrorsView extends Table<ResourceErrorsDataSource> {
refresh();
}
- @Override
public void onFailure(Throwable caught) {
CoreGUI.getErrorHandler().handleError(MSG.dataSource_resourceErrors_deleteFailure(),
caught);
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
index e497d57..5dfe13b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/detail/ResourceTitleBar.java
@@ -300,6 +300,10 @@ public class ResourceTitleBar extends LocatableVLayout {
}
}
+ public ResourceComposite getResource() {
+ return resourceComposite;
+ }
+
void displayResourceName(String resourceName) {
if (!resource.getName().equals(resourceName)) {
resource.setName(resourceName); // the name must have been changed by the user via the editable field
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
index f87fa14..c2ac7db 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
@@ -2047,9 +2047,10 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
ResourceError error = entityManager.find(ResourceError.class, resourceErrorId);
if (error != null) {
- if (!authorizationManager.canViewResource(user, error.getResource().getId())) {
- throw new PermissionException("Cannot delete resource error [" + resourceErrorId + "]. User [" + user
- + "] does not have permission to operate on resource [" + error.getResource().getName() + "].");
+ if (!authorizationManager.hasResourcePermission(user, Permission.MODIFY_RESOURCE,
+ error.getResource().getId())) {
+ throw new PermissionException("Cannot delete Resource error [" + resourceErrorId + "]. User [" + user
+ + "] does not have permission to modify Resource [" + error.getResource().getName() + "].");
}
entityManager.remove(error);
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
index 841428b..1d1ec69 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
@@ -103,8 +103,8 @@ public interface ResourceManagerLocal {
* method, make sure you have a specific reason for it; check to see if calling
* {@link #uninventoryResource(Subject, int)} would not be more appropriate.
*
- * @param user the user deleting the resource
- * @param resource the resource to be deleted
+ * @param user the user deleting the resource
+ * @param resourceId the ID of the resource to be deleted
*/
void uninventoryResourceAsyncWork(Subject user, int resourceId);
@@ -300,9 +300,6 @@ public interface ResourceManagerLocal {
PageList<Resource> findResourceByIds(Subject subject, int[] resourceIds, boolean attachParentResource,
PageControl pageControl);
- /**
- * @see ResourceManagerRemote#getResourceTree(int)
- */
Resource getResourceTree(int rootResourceId, boolean recursive);
/**
@@ -351,7 +348,9 @@ public interface ResourceManagerLocal {
void addResourceError(ResourceError resourceError);
/**
- * Deletes the given resource error, effectively removing it from its resource's list of errors.
+ * Deletes the given resource error, effectively removing it from its resource's list of errors. Requires the
+ * specified user to possess the {@link org.rhq.core.domain.authz.Permission#MODIFY_RESOURCE MODIFY_RESOURCE}
+ * permission for the Resource with which the error is associated.
*
* @param user the user deleting the resource error
* @param resourceErrorId identifies the resource error to delete
@@ -415,11 +414,11 @@ public interface ResourceManagerLocal {
/**
* Load the entire list of resources under an agent. Tries to do so in as few
- * queries as possible while prefectching the information necessary to create a tree
+ * queries as possible while prefetching the information necessary to create a tree
* view of the platform inventory. This includes resource type and subcategory information
* as well as current availability and structure.
*
- * This method also returns placesholder {@link org.rhq.core.domain.resource.composite.LockedResource}
+ * This method also returns placeholder "locked" ResourceFlyweight
* objects for resources that a user should not have visibility to in order to keep the tree a
* directed graph.
*
commit 88aaa3b1ec22fd04ced1281db43c60a01e12f974
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Nov 14 15:12:24 2011 -0500
Fix to QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE to ensure we
don't miss compliant resources with definitions.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
index bff84bc..c2dbe74 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
@@ -83,7 +83,7 @@ import org.rhq.core.domain.util.Summary;
* Represents an RHQ managed resource (i.e. a platform, server, or service).
*/
@Entity
-@NamedQueries({
+@NamedQueries( {
@NamedQuery(name = Resource.QUERY_FIND_PROBLEM_RESOURCES_ALERT_ADMIN, query = "" //
+ " SELECT DISTINCT new org.rhq.core.domain.resource.composite.ProblemResourceComposite"
+ " ( "
@@ -740,23 +740,21 @@ import org.rhq.core.domain.util.Summary;
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id " //
+ "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name "),
-// @NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_REPORT, query = "" //
-// + "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount( " //
-// + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), r.version) " //
-// + "FROM Resource r " //
-// + "WHERE r.inventoryStatus = 'COMMITTED' " //
-// + "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version " //
-// + "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
+ // @NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_REPORT, query = "" //
+ // + "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount( " //
+ // + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), r.version) " //
+ // + "FROM Resource r " //
+ // + "WHERE r.inventoryStatus = 'COMMITTED' " //
+ // + "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version " //
+ // + "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
@NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE, query = ""
+ "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount("
+ "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), "
+ "r.version, size(templates), 0) "
+ "FROM Resource r JOIN r.resourceType type LEFT JOIN type.driftDefinitionTemplates templates "
- + "WHERE r.inventoryStatus = 'COMMITTED' AND 0 = ("
- + " SELECT COUNT(defs) "
- + " FROM r.driftDefinitions defs "
- + " WHERE defs.complianceStatus = 0) "
+ + "WHERE r.inventoryStatus = 'COMMITTED' AND 0 = (" + " SELECT COUNT(defs) "
+ + " FROM r.driftDefinitions defs " + " WHERE NOT defs.complianceStatus = 0) "
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version "
+ "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
@@ -765,13 +763,10 @@ import org.rhq.core.domain.util.Summary;
+ "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), "
+ "r.version, size(templates), 1) "
+ "FROM Resource r JOIN r.resourceType type LEFT JOIN type.driftDefinitionTemplates templates "
- + "WHERE r.inventoryStatus = 'COMMITTED' AND 0 < ("
- + " SELECT COUNT(defs) "
- + " FROM r.driftDefinitions defs "
- + " WHERE defs.complianceStatus <> 0) "
+ + "WHERE r.inventoryStatus = 'COMMITTED' AND 0 < (" + " SELECT COUNT(defs) "
+ + " FROM r.driftDefinitions defs " + " WHERE defs.complianceStatus <> 0) "
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version "
- + "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version ")
-})
+ + "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version ") })
@SequenceGenerator(name = "RHQ_RESOURCE_SEQ", sequenceName = "RHQ_RESOURCE_ID_SEQ")
@Table(name = Resource.TABLE_NAME)
@XmlAccessorType(XmlAccessType.FIELD)
@@ -908,10 +903,8 @@ public class Resource implements Comparable<Resource>, Serializable {
public static final String QUERY_RESOURCE_REPORT = "Resource.findResourceReport";
public static final String QUERY_RESOURCE_VERSION_REPORT = "Resource.findResourceVersionReport";
- public static final String QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE =
- "Resource.findResourceVersionDriftInCompliance";
- public static final String QUERY_RESOURCE_VERSION_AND_DRIFT_OUT_OF_COMPLIANCE =
- "Resource.findResourceVersionDriftOutOfCompliance";
+ public static final String QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE = "Resource.findResourceVersionDriftInCompliance";
+ public static final String QUERY_RESOURCE_VERSION_AND_DRIFT_OUT_OF_COMPLIANCE = "Resource.findResourceVersionDriftOutOfCompliance";
private static final int UUID_LENGTH = 36;
12 years, 5 months
[rhq] modules/core modules/enterprise
by lkrejci
modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java | 15 ++++++++--
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java | 5 +++
2 files changed, 18 insertions(+), 2 deletions(-)
New commits:
commit 90081e71f34681d194767d00705d485a393ee133
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Thu Nov 24 12:56:28 2011 +0100
[BZ 755653] - Make sure role membership is not updated through
the updateResourceGroup() methods.
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java
index 564cef3..156253c 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/group/ResourceGroup.java
@@ -409,6 +409,10 @@ public class ResourceGroup extends Group {
@ManyToMany
private Set<Resource> implicitResources;
+ //TODO ResourceGroup probably isn't the right owning side of this relationship
+ //this means that any update of a group can update the role membership,
+ //which is not something one normally does. Maybe the more logical owner of this
+ //relationship would be the Role.
@JoinTable(name = "RHQ_ROLE_RESOURCE_GROUP_MAP", joinColumns = { @JoinColumn(name = "RESOURCE_GROUP_ID") }, inverseJoinColumns = { @JoinColumn(name = "ROLE_ID") })
@ManyToMany
private Set<Role> roles = new HashSet<Role>();
@@ -562,15 +566,22 @@ public class ResourceGroup extends Group {
}
public Set<Role> getRoles() {
+ //even though the field has an initializer, it can end up
+ //being null after deserialization. Because there is no
+ //setter and there are some other public methods depending
+ //on this not being null, let's make it lazy init.
+ if (roles == null) {
+ roles = new HashSet<Role>();
+ }
return roles;
}
public void addRole(Role role) {
- this.roles.add(role);
+ getRoles().add(role);
}
public void removeRole(Role role) {
- this.roles.remove(role);
+ getRoles().remove(role);
}
@NotNull
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
index b8e52c4..82a91dc 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/group/ResourceGroupManagerBean.java
@@ -206,6 +206,11 @@ public class ResourceGroupManagerBean implements ResourceGroupManagerLocal, Reso
+ "] does not have permission to modify Resource group with id [" + groupId + "].");
}
+ //roles are not to be updated by this call but the group entity
+ //owns the relationship. Let's make sure we don't change the assigned roles here.
+ group.getRoles().clear();
+ group.getRoles().addAll(attachedGroup.getRoles());
+
if (changeType == null) {
changeType = RecursivityChangeType.None;
if (attachedGroup.isRecursive() == true && group.isRecursive() == false) {
12 years, 5 months
[rhq] modules/integration-tests
by Jan Martiska
modules/integration-tests/pom.xml | 42 ++++++++++++++++++++------------------
1 file changed, 23 insertions(+), 19 deletions(-)
New commits:
commit 18d73b987d8023c52c00d6fc99b73cab14528e44
Author: Jan Martiska <jmartisk(a)redhat.com>
Date: Thu Nov 24 13:50:58 2011 +0100
changed maven profiles for integration tests
diff --git a/modules/integration-tests/pom.xml b/modules/integration-tests/pom.xml
index 0341e53..0290729 100644
--- a/modules/integration-tests/pom.xml
+++ b/modules/integration-tests/pom.xml
@@ -36,10 +36,11 @@
It is fixed in JDK 6.
-->
<dependency>
- <groupId>javax.persistence</groupId>
- <artifactId>persistence-api</artifactId>
- <version>1.0</version>
- <scope>provided</scope> <!-- by RHQ container -->
+ <groupId>javax.persistence</groupId>
+ <artifactId>persistence-api</artifactId>
+ <version>1.0</version>
+ <scope>provided</scope>
+ <!-- by RHQ container -->
</dependency>
<!--
@@ -47,27 +48,30 @@
it is fixed in JDK 6.
-->
<dependency>
- <groupId>jboss.jboss-embeddable-ejb3</groupId>
- <artifactId>hibernate-all</artifactId>
- <version>1.0.0.Alpha9</version>
- <scope>provided</scope> <!-- by RHQ container -->
+ <groupId>jboss.jboss-embeddable-ejb3</groupId>
+ <artifactId>hibernate-all</artifactId>
+ <version>1.0.0.Alpha9</version>
+ <scope>provided</scope>
+ <!-- by RHQ container -->
</dependency>
</dependencies>
<profiles>
<profile>
- <id>as7-integration-test</id>
- <modules>
- <module>jboss-as-7-plugin-test</module>
- </modules>
- </profile>
- <profile>
- <id>apache-plugin-test</id>
- <modules>
- <module>apache-plugin-test</module>
- </modules>
- </profile>
+ <id>integration-tests</id>
+ <modules>
+ <module>apache-plugin-test</module>
+ <!--<module>mod_cluster-plugin-test</module>-->
+ </modules>
+ </profile>
+ <profile>
+ <id>as7-integration-test</id>
+ <!-- this one is separate from others, requires special setup -->
+ <modules>
+ <module>jboss-as-7-plugin-test</module>
+ </modules>
+ </profile>
</profiles>
12 years, 5 months
[rhq] Branch 'release_jon3.x' - modules/enterprise
by Heiko W. Rupp
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java | 41 +++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java | 46 ++++++----
2 files changed, 58 insertions(+), 29 deletions(-)
New commits:
commit ed291a904f45a495253488610ae1a70266bc8d4c
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Nov 23 21:25:26 2011 +0100
BZ 755544 prevent NPE when no resource or group or metric were selected.(cherry picked from commit f6cee08)
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
index 87d1199..d91fc3b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
@@ -54,10 +54,10 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "ResourceGroupMetric";
- // A default displayed, persisted name for the portlet
+ // A default displayed, persisted name for the portlet
public static final String NAME = MSG.view_portlet_defaultName_groupMetric();
- // set on initial configuration, the window for this portlet view.
+ // set on initial configuration, the window for this portlet view.
private PortletWindow portletWindow;
public static final String CFG_RESOURCE_GROUP_ID = "resourceGroupId";
@@ -79,8 +79,13 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
}
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- setEntityId(storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID).getIntegerValue());
- setDefinitionId(storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID).getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID).getIntegerValue();
+ if (integerValue!=null)
+ setEntityId(integerValue);
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null)
+ setDefinitionId(propertySimple.getIntegerValue());
}
}
@@ -92,11 +97,12 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
protected void onDraw() {
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- super.onDraw();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
removeMembers(getMembers());
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ super.onDraw();
}
}
@@ -113,7 +119,7 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
.extendLocatorId("Selector"), GroupCategory.COMPATIBLE, false);
resourceGroupSelector.setWidth(700);
resourceGroupSelector.setHeight(300);
- //TODO, would probaby be nice to find a way to seed assigned with the current group
+ //TODO, would probaby be nice to find a way to seed assigned with the current group
//ListGridRecord rec = new ListGridRecord();
//rec.setAttribute("id", getEntityId());
//rec.setAttribute("name", "current");
@@ -152,10 +158,14 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
final DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- form.setValue(CFG_RESOURCE_GROUP_ID, storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID)
- .getIntegerValue());
- form.setValue(CFG_DEFINITION_ID, storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID)
- .getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID)
+ .getIntegerValue();
+ if (integerValue!=null)
+ form.setValue(CFG_RESOURCE_GROUP_ID, integerValue);
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null)
+ form.setValue(CFG_DEFINITION_ID, propertySimple.getIntegerValue());
}
selectorItem.setCanvas(resourceGroupSelector);
@@ -184,10 +194,11 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
removeMembers(getMembers());
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- renderGraph();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID);
+ if (simple == null | simple.getIntegerValue()==null) {
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ renderGraph();
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
index ad18fcb..7187066 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
@@ -48,10 +48,10 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "ResourceMetric";
- // A default displayed, persisted name for the portlet
+ // A default displayed, persisted name for the portlet
public static final String NAME = MSG.view_portlet_defaultName_resourceMetric();
- // set on initial configuration, the window for this portlet view.
+ // set on initial configuration, the window for this portlet view.
private PortletWindow portletWindow;
public static final String CFG_RESOURCE_ID = "resourceId";
@@ -73,8 +73,19 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
}
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- setEntityId(storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID).getIntegerValue());
- setDefinitionId(storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID).getIntegerValue());
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (propertySimple!=null) {
+ Integer integerValue = propertySimple.getIntegerValue();
+ if (integerValue!=null)
+ setEntityId(integerValue);
+ }
+ propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null) {
+
+ Integer integerValue = propertySimple.getIntegerValue();
+ if (integerValue!=null)
+ setDefinitionId(integerValue);
+ }
}
}
@@ -86,11 +97,12 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
protected void onDraw() {
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- super.onDraw();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
removeMembers(getMembers());
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ super.onDraw();
}
}
@@ -133,10 +145,15 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
});
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- form.setValue(CFG_RESOURCE_ID, storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID)
- .getIntegerValue());
- form.setValue(CFG_DEFINITION_ID, storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID)
- .getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID).getIntegerValue();
+ if (integerValue!=null) {
+ form.setValue(CFG_RESOURCE_ID, integerValue);
+ }
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null) {
+ form.setValue(CFG_DEFINITION_ID, propertySimple.getIntegerValue());
+ }
}
form.setFields(resourceLookupComboBoxItem, metric);
@@ -164,10 +181,11 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
removeMembers(getMembers());
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- renderGraph();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ renderGraph();
}
}
12 years, 5 months
[rhq] Branch 'release_jon3.x' - 2 commits - modules/core modules/enterprise
by Jay Shaughnessy
modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java | 30
modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java | 19
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java | 14
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java | 61 --
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java | 5
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReport.java | 301 ++++++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java | 191 ++++++
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java | 40 -
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java | 25
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReportResourceSearchView.java | 134 ----
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java | 29
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 1
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties | 8
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties | 3
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties | 11
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties | 3
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java | 25
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java | 2
18 files changed, 643 insertions(+), 259 deletions(-)
New commits:
commit bd7cb6b45b1b7f3f4adbbb7e781cba9c60268f4c
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Wed Nov 23 12:12:09 2011 -0500
Create new Drift Compliance Report
Similar to the Inventory Summary report with two differences:
1. Constrained to types that provide drift monitoring
2. Adds compliance columns
- Restored Inventory Summary Report to its former self, removing the
compliance stuff that had been added. This makes it more focused and
faster.
- Added separate SLSB support for the new report.
- Fixed a problem in the compliance queries that generated the wrong
resource count.
- Fixed sorting issue for compliance column in report's resource view
Conflicts:
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
index c2dbe74..dd5da1b 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/Resource.java
@@ -740,31 +740,31 @@ import org.rhq.core.domain.util.Summary;
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id " //
+ "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name "),
- // @NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_REPORT, query = "" //
- // + "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount( " //
- // + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), r.version) " //
- // + "FROM Resource r " //
- // + "WHERE r.inventoryStatus = 'COMMITTED' " //
- // + "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version " //
- // + "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
+ @NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_REPORT, query = "" //
+ + "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount( " //
+ + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), r.version) " //
+ + "FROM Resource r " //
+ + "WHERE r.inventoryStatus = 'COMMITTED' " //
+ + "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version " //
+ + "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
@NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE, query = ""
+ "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount("
- + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), "
+ + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(distinct r), "
+ "r.version, size(templates), 0) "
- + "FROM Resource r JOIN r.resourceType type LEFT JOIN type.driftDefinitionTemplates templates "
- + "WHERE r.inventoryStatus = 'COMMITTED' AND 0 = (" + " SELECT COUNT(defs) "
- + " FROM r.driftDefinitions defs " + " WHERE NOT defs.complianceStatus = 0) "
+ + "FROM Resource r JOIN r.resourceType type JOIN type.driftDefinitionTemplates templates "
+ + "WHERE r.inventoryStatus = 'COMMITTED' AND " //
+ + " 0 = ( SELECT COUNT(defs) FROM r.driftDefinitions defs WHERE NOT defs.complianceStatus = 0) "
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version "
+ "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version "),
@NamedQuery(name = Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_OUT_OF_COMPLIANCE, query = ""
+ "SELECT new org.rhq.core.domain.resource.composite.ResourceInstallCount("
- + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(r), "
+ + "r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, count(distinct r), "
+ "r.version, size(templates), 1) "
- + "FROM Resource r JOIN r.resourceType type LEFT JOIN type.driftDefinitionTemplates templates "
- + "WHERE r.inventoryStatus = 'COMMITTED' AND 0 < (" + " SELECT COUNT(defs) "
- + " FROM r.driftDefinitions defs " + " WHERE defs.complianceStatus <> 0) "
+ + "FROM Resource r JOIN r.resourceType type JOIN type.driftDefinitionTemplates templates "
+ + "WHERE r.inventoryStatus = 'COMMITTED' AND " //
+ + " 0 < ( SELECT COUNT(defs) FROM r.driftDefinitions defs WHERE defs.complianceStatus <> 0) "
+ "GROUP BY r.resourceType.name, r.resourceType.plugin, r.resourceType.category, r.resourceType.id, r.version "
+ "ORDER BY r.resourceType.category, r.resourceType.plugin, r.resourceType.name, r.version ") })
@SequenceGenerator(name = "RHQ_RESOURCE_SEQ", sequenceName = "RHQ_RESOURCE_ID_SEQ")
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java
index 030dcc6..877686f 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/composite/ResourceInstallCount.java
@@ -41,6 +41,15 @@ public class ResourceInstallCount implements Serializable {
public ResourceInstallCount() {
}
+ public ResourceInstallCount(String typeName, String typePlugin, ResourceCategory category, int typeId, long count) {
+ this(typeName, typePlugin, category, typeId, count, null, -1, -1);
+ }
+
+ public ResourceInstallCount(String typeName, String typePlugin, ResourceCategory category, int typeId, long count,
+ String version) {
+ this(typeName, typePlugin, category, typeId, count, version, -1, -1);
+ }
+
public ResourceInstallCount(String typeName, String typePlugin, ResourceCategory category, int typeId, long count,
String version, int numDriftTemplates, int inCompliance) {
this.count = count;
@@ -53,16 +62,6 @@ public class ResourceInstallCount implements Serializable {
this.inCompliance = inCompliance == 0;
}
-
- public ResourceInstallCount(String typeName, String typePlugin, ResourceCategory category, int typeId, long count) {
- this.count = count;
- this.typeName = typeName;
- this.typePlugin = typePlugin;
- this.category = category;
- this.typeId = typeId;
- }
-
-
public long getCount() {
return count;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
index f44cf8e..5842483 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/gwt/ResourceGWTService.java
@@ -71,6 +71,10 @@ public interface ResourceGWTService extends RemoteService {
PageList<ProblemResourceComposite> findProblemResources(long ctime, int maxItems) throws RuntimeException;
+ List<ResourceInstallCount> findResourceComplianceCounts() throws RuntimeException;
+
+ List<ResourceInstallCount> findResourceInstallCounts(boolean groupByVersions) throws RuntimeException;
+
Resource getPlatformForResource(int resourceId) throws RuntimeException;
Map<Resource, List<Resource>> getQueuedPlatformsAndServers(HashSet<InventoryStatus> statuses, PageControl pc)
@@ -94,5 +98,4 @@ public interface ResourceGWTService extends RemoteService {
List<Integer> uninventoryResources(int[] resourceIds) throws RuntimeException;
- List<ResourceInstallCount> findResourceInstallCounts(boolean groupByVersions) throws RuntimeException;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReport.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReport.java
new file mode 100644
index 0000000..51e9282
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReport.java
@@ -0,0 +1,301 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2011 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2, as
+ * published by the Free Software Foundation, and/or the GNU Lesser
+ * General Public License, version 2.1, also as published by the Free
+ * Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License and the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the GNU Lesser General Public License along with this program;
+ * if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.rhq.enterprise.gui.coregui.client.report;
+
+import java.util.HashMap;
+import java.util.List;
+
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.smartgwt.client.data.Criteria;
+import com.smartgwt.client.data.DSRequest;
+import com.smartgwt.client.data.DSResponse;
+import com.smartgwt.client.data.Record;
+import com.smartgwt.client.types.ListGridFieldType;
+import com.smartgwt.client.widgets.events.DoubleClickEvent;
+import com.smartgwt.client.widgets.events.DoubleClickHandler;
+import com.smartgwt.client.widgets.grid.CellFormatter;
+import com.smartgwt.client.widgets.grid.HoverCustomizer;
+import com.smartgwt.client.widgets.grid.ListGrid;
+import com.smartgwt.client.widgets.grid.ListGridField;
+import com.smartgwt.client.widgets.grid.ListGridRecord;
+
+import org.rhq.core.domain.resource.ResourceCategory;
+import org.rhq.core.domain.resource.composite.ResourceInstallCount;
+import org.rhq.enterprise.gui.coregui.client.BookmarkableView;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.ImageManager;
+import org.rhq.enterprise.gui.coregui.client.ViewPath;
+import org.rhq.enterprise.gui.coregui.client.components.table.Table;
+import org.rhq.enterprise.gui.coregui.client.components.view.ViewName;
+import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
+import org.rhq.enterprise.gui.coregui.client.gwt.ResourceGWTServiceAsync;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
+import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.LocatableVLayout;
+
+/**
+ * A tweaked version of the InventorySummary report that narrows the relevant types to those that support Drift
+ * monitoring, and shows the compliance state of each type.
+ *
+ * @author Jay Shaughnessy
+ */
+public class DriftComplianceReport extends LocatableVLayout implements BookmarkableView {
+
+ public static final ViewName VIEW_ID = new ViewName("DriftCompliance", MSG.view_reports_driftCompliance());
+
+ private ResourceSearchView resourceList;
+
+ public DriftComplianceReport(String locatorId) {
+ super(locatorId);
+
+ setHeight100();
+ setWidth100();
+ }
+
+ @Override
+ public void renderView(ViewPath viewPath) {
+ if (!viewPath.isEnd()) {
+ int resourceTypeId = Integer.parseInt(viewPath.getCurrent().getPath());
+ viewPath.next();
+ Criteria criteria;
+ if (!viewPath.isEnd()) {
+ String resourceVersion = viewPath.getCurrent().getPath();
+ criteria = createResourceSearchViewCriteria(resourceTypeId, resourceVersion);
+ } else {
+ criteria = createResourceSearchViewCriteria(resourceTypeId);
+ }
+ showResourceList(criteria);
+ } else {
+ hideResourceList();
+ }
+ }
+
+ @Override
+ protected void onInit() {
+ super.onInit();
+
+ addMember(new DriftComplianceReportTable(extendLocatorId("table")));
+ }
+
+ protected Criteria createResourceSearchViewCriteria(int resourceTypeId) {
+ Criteria criteria = new Criteria();
+ criteria.addCriteria(ResourceDataSourceField.TYPE.propertyName(), resourceTypeId);
+ return criteria;
+ }
+
+ protected Criteria createResourceSearchViewCriteria(int resourceTypeId, String resourceVersion) {
+ Criteria criteria = new Criteria();
+ criteria.addCriteria(ResourceDataSourceField.TYPE.propertyName(), resourceTypeId);
+ criteria.addCriteria("version", resourceVersion);
+ return criteria;
+ }
+
+ private void showResourceList(Criteria criteria) {
+ hideResourceList();
+ resourceList = new DriftComplianceReportResourceSearchView(extendLocatorId("resourceList"), criteria);
+ addMember(resourceList);
+ markForRedraw();
+ }
+
+ private void hideResourceList() {
+ if (resourceList != null) {
+ removeMember(resourceList);
+ resourceList.destroy();
+ resourceList = null;
+ }
+ markForRedraw();
+ }
+
+ class DriftComplianceReportTable extends Table<DriftComplianceReportTable.DataSource> {
+
+ public DriftComplianceReportTable(String locatorId) {
+ super(locatorId, VIEW_ID.getTitle());
+ setDataSource(new DataSource());
+ }
+
+ @Override
+ protected void configureTable() {
+ ListGridField fieldTypeName = new ListGridField(DataSource.Field.TYPENAME, MSG.common_title_resource_type());
+ ListGridField fieldPlugin = new ListGridField(DataSource.Field.TYPEPLUGIN, MSG.common_title_plugin());
+ ListGridField fieldCategory = new ListGridField(DataSource.Field.CATEGORY, MSG.common_title_category());
+ ListGridField fieldVersion = new ListGridField(DataSource.Field.VERSION, MSG.common_title_version());
+ ListGridField fieldCount = new ListGridField(DataSource.Field.COUNT, MSG.common_title_count());
+
+ ListGridField fieldInCompliance = new ListGridField(DataSource.Field.IN_COMPLIANCE, MSG
+ .common_title_in_compliance());
+ HashMap<String, String> complianceIcons = new HashMap<String, String>();
+ complianceIcons.put("true", ImageManager.getAvailabilityIcon(true));
+ complianceIcons.put("false", ImageManager.getAvailabilityIcon(false));
+ fieldInCompliance.setValueIcons(complianceIcons);
+ fieldInCompliance.setType(ListGridFieldType.ICON);
+ fieldInCompliance.setCanSortClientOnly(true);
+
+ fieldTypeName.setWidth("35%");
+ fieldPlugin.setWidth("10%");
+ fieldCategory.setWidth(70);
+ fieldVersion.setWidth("*");
+ fieldCount.setWidth(60);
+ fieldInCompliance.setWidth(100);
+
+ // TODO (ips, 11/11/11): The groupBy functionality is very buggy in SmartGWT 2.4. Once they fix it
+ // uncomment these lines to allow grouping by the plugin or category fields.
+ /*getListGrid().setCanGroupBy(true);
+ fieldTypeName.setCanGroupBy(false);
+ fieldVersion.setCanGroupBy(false);
+ fieldCount.setCanGroupBy(false);
+ fieldInCompliance.setCanGroupBy(false);*/
+
+ fieldTypeName.setCellFormatter(new CellFormatter() {
+ @Override
+ public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
+ String url = getResourceTypeTableUrl(record);
+ if (url == null) {
+ return value.toString();
+ }
+
+ return "<a href=\"" + url + "\">" + value.toString() + "</a>";
+ }
+ });
+
+ fieldCategory.setType(ListGridFieldType.ICON);
+ fieldCategory.setShowValueIconOnly(true);
+ HashMap<String, String> categoryIcons = new HashMap<String, String>(3);
+ categoryIcons
+ .put(ResourceCategory.PLATFORM.name(), ImageManager.getResourceIcon(ResourceCategory.PLATFORM));
+ categoryIcons.put(ResourceCategory.SERVER.name(), ImageManager.getResourceIcon(ResourceCategory.SERVER));
+ categoryIcons.put(ResourceCategory.SERVICE.name(), ImageManager.getResourceIcon(ResourceCategory.SERVICE));
+ fieldCategory.setValueIcons(categoryIcons);
+ fieldCategory.setShowHover(true);
+ fieldCategory.setHoverCustomizer(new HoverCustomizer() {
+ @Override
+ public String hoverHTML(Object value, ListGridRecord record, int rowNum, int colNum) {
+ String cat = record.getAttribute(DataSource.Field.CATEGORY);
+ if (ResourceCategory.PLATFORM.name().equals(cat)) {
+ return MSG.common_title_platform();
+ } else if (ResourceCategory.SERVER.name().equals(cat)) {
+ return MSG.common_title_server();
+ } else if (ResourceCategory.SERVICE.name().equals(cat)) {
+ return MSG.common_title_service();
+ }
+ return "";
+ }
+ });
+
+ setListGridDoubleClickHandler(new DoubleClickHandler() {
+ @Override
+ public void onDoubleClick(DoubleClickEvent event) {
+ ListGrid lg = (ListGrid) event.getSource();
+ ListGridRecord selected = lg.getSelectedRecord();
+ String url = getResourceTypeTableUrl(selected);
+ if (url != null) {
+ CoreGUI.goToView(url);
+ }
+ }
+ });
+
+ setListGridFields(fieldTypeName, fieldPlugin, fieldCategory, fieldVersion, fieldCount, fieldInCompliance);
+ }
+
+ private String getResourceTypeTableUrl(ListGridRecord selected) {
+ String url = null;
+ if (selected != null) {
+ int resourceTypeId = selected.getAttributeAsInt(DataSource.Field.TYPEID);
+ String version = selected.getAttribute(DataSource.Field.VERSION);
+ if (version == null) {
+ url = "#Reports/Inventory/DriftCompliance/" + resourceTypeId;
+ } else {
+ url = "#Reports/Inventory/DriftCompliance/" + resourceTypeId + "/" + version;
+ }
+ }
+ return url;
+ }
+
+ class DataSource extends RPCDataSource<ResourceInstallCount, org.rhq.core.domain.criteria.Criteria> {
+
+ public class Field {
+ public static final String COUNT = "count"; // long that we convert to int
+ public static final String TYPENAME = "typeName"; // String
+ public static final String TYPEPLUGIN = "typePlugin"; // String
+ public static final String CATEGORY = "category"; // ResourceCategory
+ public static final String TYPEID = "typeId"; // int
+ public static final String VERSION = "version"; // String
+ public static final String OBJECT = "object";
+ public static final String IN_COMPLIANCE = "inCompliance";
+ }
+
+ @Override
+ public ResourceInstallCount copyValues(Record from) {
+ return (ResourceInstallCount) from.getAttributeAsObject(DataSource.Field.OBJECT);
+ }
+
+ @Override
+ public ListGridRecord copyValues(ResourceInstallCount from) {
+ ListGridRecord record = new ListGridRecord();
+
+ record.setAttribute(Field.COUNT, Long.valueOf(from.getCount()).intValue()); // we'll never have over Integer.MAX_VALUE, overflow not a worry
+ record.setAttribute(Field.TYPENAME, from.getTypeName());
+ record.setAttribute(Field.TYPEPLUGIN, from.getTypePlugin());
+ record.setAttribute(Field.CATEGORY, from.getCategory().name());
+ record.setAttribute(Field.TYPEID, from.getTypeId());
+ record.setAttribute(Field.VERSION, from.getVersion());
+ record.setAttribute(Field.OBJECT, from);
+
+ if (from.getNumDriftTemplates() > 0) {
+ record.setAttribute(Field.IN_COMPLIANCE, Boolean.toString(from.isInCompliance()));
+ }
+
+ return record;
+ }
+
+ @Override
+ protected org.rhq.core.domain.criteria.Criteria getFetchCriteria(DSRequest request) {
+ // we don't use criterias for this datasource, just return null
+ return null;
+ }
+
+ @Override
+ protected void executeFetch(final DSRequest request, final DSResponse response,
+ final org.rhq.core.domain.criteria.Criteria unused) {
+ ResourceGWTServiceAsync resourceService = GWTServiceLookup.getResourceService();
+
+ resourceService.findResourceComplianceCounts(new AsyncCallback<List<ResourceInstallCount>>() {
+
+ @Override
+ public void onSuccess(List<ResourceInstallCount> result) {
+ response.setData(buildRecords(result));
+ response.setTotalRows(result.size());
+ processResponse(request.getRequestId(), response);
+ }
+
+ @Override
+ public void onFailure(Throwable caught) {
+ CoreGUI.getErrorHandler().handleError(MSG.view_reports_inventorySummary_failFetch(), caught);
+ response.setStatus(DSResponse.STATUS_FAILURE);
+ processResponse(request.getRequestId(), response);
+ }
+ });
+ }
+ }
+ }
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
new file mode 100644
index 0000000..e076aae
--- /dev/null
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/DriftComplianceReportResourceSearchView.java
@@ -0,0 +1,191 @@
+/*
+ * RHQ Management Platform
+ * Copyright (C) 2005-2011 Red Hat, Inc.
+ * All rights reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License, version 2, as
+ * published by the Free Software Foundation, and/or the GNU Lesser
+ * General Public License, version 2.1, also as published by the Free
+ * Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License and the GNU Lesser General Public License
+ * for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * and the GNU Lesser General Public License along with this program;
+ * if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.rhq.enterprise.gui.coregui.client.report;
+
+import static org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField.NAME;
+
+import java.util.EnumSet;
+import java.util.List;
+
+import com.smartgwt.client.data.Criteria;
+import com.smartgwt.client.data.DSRequest;
+import com.smartgwt.client.data.DSResponse;
+import com.smartgwt.client.widgets.events.DoubleClickEvent;
+import com.smartgwt.client.widgets.events.DoubleClickHandler;
+import com.smartgwt.client.widgets.grid.CellFormatter;
+import com.smartgwt.client.widgets.grid.ListGrid;
+import com.smartgwt.client.widgets.grid.ListGridField;
+import com.smartgwt.client.widgets.grid.ListGridRecord;
+
+import org.rhq.core.domain.criteria.ResourceCriteria;
+import org.rhq.core.domain.drift.DriftComplianceStatus;
+import org.rhq.core.domain.drift.DriftDefinition;
+import org.rhq.core.domain.resource.Resource;
+import org.rhq.core.domain.resource.ResourceType;
+import org.rhq.core.domain.util.PageControl;
+import org.rhq.enterprise.gui.coregui.client.CoreGUI;
+import org.rhq.enterprise.gui.coregui.client.ImageManager;
+import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.components.table.IconField;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.detail.ResourceDetailView;
+import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
+import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
+import org.rhq.enterprise.gui.coregui.client.util.StringUtility;
+import org.rhq.enterprise.gui.coregui.client.util.selenium.SeleniumUtility;
+
+/**
+ * Extends the ResourceSearchView with drift compliance information.
+ *
+ * @author Jay Shaughnessy
+ * @author John Sanda
+ */
+public class DriftComplianceReportResourceSearchView extends ResourceSearchView {
+
+ private final int resourceTypeId;
+
+ public DriftComplianceReportResourceSearchView(String locatorId, Criteria criteria) {
+ super(locatorId, criteria);
+
+ setInitialCriteriaFixed(true);
+
+ this.resourceTypeId = criteria.getAttributeAsInt(ResourceDataSourceField.TYPE.propertyName());
+ };
+
+ // suppress unchecked warnings because the superclass has different generic types for the datasource
+ @SuppressWarnings("unchecked")
+ @Override
+ protected RPCDataSource getDataSourceInstance() {
+ return new DataSource();
+ }
+
+ @Override
+ protected List<ListGridField> createFields() {
+
+ List<ListGridField> fields = super.createFields();
+
+ // replace the cell formatter on the name field to go directly to drift tab
+ ListGridField nameField = null;
+ for (ListGridField field : fields) {
+ if (NAME.propertyName().equals(field.getName())) {
+ nameField = field;
+ break;
+ }
+ }
+ nameField.setCellFormatter(new CellFormatter() {
+ public String format(Object value, ListGridRecord record, int rowNum, int colNum) {
+ String url = LinkManager.getResourceTabLink(record.getAttributeAsInt("id"),
+ ResourceDetailView.Tab.DRIFT, null);
+ String name = StringUtility.escapeHtml(value.toString());
+ return SeleniumUtility.getLocatableHref(url, name, null);
+ }
+ });
+
+ IconField inComplianceField = new IconField(DataSource.ATTR_IN_COMPLIANCE, MSG.common_title_in_compliance(), 95);
+ inComplianceField.setCanSortClientOnly(true);
+ fields.add(inComplianceField);
+
+ return fields;
+ }
+
+ @Override
+ protected void configureTable() {
+ super.configureTable();
+
+ // replace the doubleClickHandler to go directly to drift tab
+ setListGridDoubleClickHandler(new DoubleClickHandler() {
+ public void onDoubleClick(DoubleClickEvent event) {
+ ListGrid listGrid = (ListGrid) event.getSource();
+ ListGridRecord[] selectedRows = listGrid.getSelection();
+ if (selectedRows != null && selectedRows.length == 1) {
+ String selectedId = selectedRows[0].getAttribute("id");
+ CoreGUI.goToView(LinkManager.getResourceTabLink(Integer.valueOf(selectedId),
+ ResourceDetailView.Tab.DRIFT, null));
+ }
+ }
+ });
+
+ }
+
+ private class DataSource extends ResourceDatasource {
+
+ private static final String ATTR_IN_COMPLIANCE = "inCompliance";
+
+ private ResourceType resourceType;
+
+ @Override
+ public void executeFetch(final DSRequest request, final DSResponse response, final ResourceCriteria criteria) {
+
+ if (null == resourceType) {
+
+ ResourceTypeRepository.Cache.getInstance().getResourceTypes(resourceTypeId,
+ EnumSet.of(ResourceTypeRepository.MetadataType.driftDefinitionTemplates),
+ new ResourceTypeRepository.TypeLoadedCallback() {
+
+ public void onTypesLoaded(ResourceType type) {
+ resourceType = type;
+ DataSource.super.executeFetch(request, response, criteria);
+ }
+ });
+
+ } else {
+ super.executeFetch(request, response, criteria);
+ }
+ }
+
+ @Override
+ protected ResourceCriteria getFetchCriteria(DSRequest request) {
+ ResourceCriteria criteria = super.getFetchCriteria(request);
+ criteria.fetchDriftDefinitions(true);
+
+ // filter out unsortable fields (i.e. fields sorted client-side only)
+ PageControl pageControl = getPageControl(request);
+ pageControl.removeOrderingField(ATTR_IN_COMPLIANCE);
+ criteria.setPageControl(pageControl);
+
+ return criteria;
+ }
+
+ @Override
+ public ListGridRecord copyValues(Resource from) {
+ ListGridRecord record = super.copyValues(from);
+
+ if (!resourceType.getDriftDefinitionTemplates().isEmpty()) {
+ record.setAttribute(ATTR_IN_COMPLIANCE, ImageManager.getAvailabilityIcon(!isOutOfCompliance(from)));
+ }
+ return record;
+ }
+
+ private boolean isOutOfCompliance(Resource resource) {
+ for (DriftDefinition def : resource.getDriftDefinitions()) {
+ if (def.getComplianceStatus() != DriftComplianceStatus.IN_COMPLIANCE) {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
index 06da7a5..73c88ec 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ReportTopView.java
@@ -112,20 +112,20 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
});
- NavigationItem recentConfigurationChangesItem = new NavigationItem(ResourceConfigurationHistoryListView.VIEW_ID,
- "subsystems/configure/Configure_16.png", new ViewFactory() {
+ NavigationItem recentConfigurationChangesItem = new NavigationItem(
+ ResourceConfigurationHistoryListView.VIEW_ID, "subsystems/configure/Configure_16.png", new ViewFactory() {
public Canvas createView() {
- return new ResourceConfigurationHistoryListView(extendLocatorId(ResourceConfigurationHistoryListView.VIEW_ID.getName()),
- getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
+ return new ResourceConfigurationHistoryListView(
+ extendLocatorId(ResourceConfigurationHistoryListView.VIEW_ID.getName()), getGlobalPermissions()
+ .contains(Permission.MANAGE_INVENTORY));
}
});
NavigationItem recentOperationsItem = new NavigationItem(OperationHistoryView.SUBSYSTEM_VIEW_ID,
"subsystems/control/Operation_16.png", new ViewFactory() {
public Canvas createView() {
- return new SubsystemOperationHistoryListView(
- extendLocatorId(OperationHistoryView.SUBSYSTEM_VIEW_ID.getName()), getGlobalPermissions()
- .contains(Permission.MANAGE_INVENTORY));
+ return new SubsystemOperationHistoryListView(extendLocatorId(OperationHistoryView.SUBSYSTEM_VIEW_ID
+ .getName()), getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
}
});
@@ -138,8 +138,8 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
});
- NavigationItem alertDefinitionsItem = new NavigationItem(new ViewName("AlertDefinitions",
- MSG.view_reports_alertDefinitions()), "subsystems/alert/Alerts_16.png", new ViewFactory() {
+ NavigationItem alertDefinitionsItem = new NavigationItem(new ViewName("AlertDefinitions", MSG
+ .view_reports_alertDefinitions()), "subsystems/alert/Alerts_16.png", new ViewFactory() {
public Canvas createView() {
return new AlertDefinitionReportView(extendLocatorId(AlertDefinitionReportView.VIEW_ID.getName()));
}
@@ -174,14 +174,22 @@ public class ReportTopView extends AbstractSectionedLeftNavigationView {
}
}, getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
- NavigationItem platformSystemInfoItem = new NavigationItem(PlatformSummaryPortlet.VIEW_ID,
- ImageManager.getResourceIcon(ResourceCategory.PLATFORM), new ViewFactory() {
- public Canvas createView() {
- return new PlatformSummaryPortlet(extendLocatorId(PlatformSummaryPortlet.VIEW_ID.getName()));
- }
- });
+ NavigationItem platformSystemInfoItem = new NavigationItem(PlatformSummaryPortlet.VIEW_ID, ImageManager
+ .getResourceIcon(ResourceCategory.PLATFORM), new ViewFactory() {
+ public Canvas createView() {
+ return new PlatformSummaryPortlet(extendLocatorId(PlatformSummaryPortlet.VIEW_ID.getName()));
+ }
+ });
+
+ NavigationItem driftComplianceItem = new NavigationItem(DriftComplianceReport.VIEW_ID, ImageManager
+ .getDriftIcon(), new ViewFactory() {
+ public Canvas createView() {
+ return new DriftComplianceReport(extendLocatorId(DriftComplianceReport.VIEW_ID.getName()));
+ }
+ }, getGlobalPermissions().contains(Permission.MANAGE_INVENTORY));
- return new NavigationSection(SECTION_INVENTORY_VIEW_ID, inventorySummaryItem, platformSystemInfoItem);
+ return new NavigationSection(SECTION_INVENTORY_VIEW_ID, inventorySummaryItem, platformSystemInfoItem,
+ driftComplianceItem);
}
}
\ No newline at end of file
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
index 744afdc..0947d96 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReport.java
@@ -90,7 +90,7 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
private void showResourceList(Criteria criteria) {
hideResourceList();
- resourceList = new ResourceInstallReportResourceSearchView(extendLocatorId("resourceList"), criteria);
+ resourceList = new ResourceSearchView(extendLocatorId("resourceList"), criteria);
addMember(resourceList);
markForRedraw();
}
@@ -119,20 +119,18 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
ListGridField fieldVersion = new ListGridField(DataSource.Field.VERSION, MSG.common_title_version());
ListGridField fieldCount = new ListGridField(DataSource.Field.COUNT, MSG.common_title_count());
- ListGridField fieldInCompliance = new ListGridField(DataSource.Field.IN_COMPLIANCE, MSG
- .common_title_in_compliance());
- HashMap<String, String> complianceIcons = new HashMap<String, String>();
- complianceIcons.put("true", ImageManager.getAvailabilityIcon(true));
- complianceIcons.put("false", ImageManager.getAvailabilityIcon(false));
- fieldInCompliance.setValueIcons(complianceIcons);
- fieldInCompliance.setType(ListGridFieldType.ICON);
-
fieldTypeName.setWidth("35%");
fieldPlugin.setWidth("10%");
fieldCategory.setWidth(70);
fieldVersion.setWidth("*");
fieldCount.setWidth(60);
- fieldInCompliance.setWidth(100);
+
+ // TODO (ips, 11/11/11): The groupBy functionality is very buggy in SmartGWT 2.4. Once they fix it
+ // uncomment these lines to allow grouping by the plugin or category fields.
+ /*getListGrid().setCanGroupBy(true);
+ fieldTypeName.setCanGroupBy(false);
+ fieldVersion.setCanGroupBy(false);
+ fieldCount.setCanGroupBy(false); */
fieldTypeName.setCellFormatter(new CellFormatter() {
@Override
@@ -182,7 +180,7 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
}
});
- setListGridFields(fieldTypeName, fieldPlugin, fieldCategory, fieldVersion, fieldCount, fieldInCompliance);
+ setListGridFields(fieldTypeName, fieldPlugin, fieldCategory, fieldVersion, fieldCount);
}
private String getResourceTypeTableUrl(ListGridRecord selected) {
@@ -209,7 +207,6 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
public static final String TYPEID = "typeId"; // int
public static final String VERSION = "version"; // String
public static final String OBJECT = "object";
- public static final String IN_COMPLIANCE = "inCompliance";
}
@Override
@@ -229,10 +226,6 @@ public class ResourceInstallReport extends LocatableVLayout implements Bookmarka
record.setAttribute(Field.VERSION, from.getVersion());
record.setAttribute(Field.OBJECT, from);
- if (from.getNumDriftTemplates() > 0) {
- record.setAttribute(Field.IN_COMPLIANCE, Boolean.toString(from.isInCompliance()));
- }
-
return record;
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReportResourceSearchView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReportResourceSearchView.java
deleted file mode 100644
index 59c7ed2..0000000
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/report/ResourceInstallReportResourceSearchView.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * RHQ Management Platform
- * Copyright (C) 2005-2011 Red Hat, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation, and/or the GNU Lesser
- * General Public License, version 2.1, also as published by the Free
- * Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License and the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU General Public License
- * and the GNU Lesser General Public License along with this program;
- * if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-package org.rhq.enterprise.gui.coregui.client.report;
-
-import java.util.EnumSet;
-import java.util.List;
-
-import com.smartgwt.client.data.Criteria;
-import com.smartgwt.client.data.DSRequest;
-import com.smartgwt.client.data.DSResponse;
-import com.smartgwt.client.widgets.grid.ListGridField;
-import com.smartgwt.client.widgets.grid.ListGridRecord;
-
-import org.rhq.core.domain.criteria.ResourceCriteria;
-import org.rhq.core.domain.drift.DriftComplianceStatus;
-import org.rhq.core.domain.drift.DriftDefinition;
-import org.rhq.core.domain.resource.Resource;
-import org.rhq.core.domain.resource.ResourceType;
-import org.rhq.enterprise.gui.coregui.client.ImageManager;
-import org.rhq.enterprise.gui.coregui.client.components.table.IconField;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDataSourceField;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceSearchView;
-import org.rhq.enterprise.gui.coregui.client.inventory.resource.type.ResourceTypeRepository;
-import org.rhq.enterprise.gui.coregui.client.util.RPCDataSource;
-
-/**
- * @author Jay Shaughnessy
- * @author John Sanda
- */
-public class ResourceInstallReportResourceSearchView extends ResourceSearchView {
-
- private final int resourceTypeId;
-
- public ResourceInstallReportResourceSearchView(String locatorId, Criteria criteria) {
- super(locatorId, criteria);
-
- setInitialCriteriaFixed(true);
-
- this.resourceTypeId = criteria.getAttributeAsInt(ResourceDataSourceField.TYPE.propertyName());
- };
-
- // suppress unchecked warnings because the superclass has different generic types for the datasource
- @SuppressWarnings("unchecked")
- @Override
- protected RPCDataSource getDataSourceInstance() {
- return new DataSource();
- }
-
- @Override
- protected List<ListGridField> createFields() {
-
- List<ListGridField> fields = super.createFields();
-
- IconField inComplianceField = new IconField(DataSource.ATTR_IN_COMPLIANCE, MSG.common_title_in_compliance(), 95);
- fields.add(inComplianceField);
-
- return fields;
- }
-
- private class DataSource extends ResourceDatasource {
-
- private static final String ATTR_IN_COMPLIANCE = "inCompliance";
-
- private ResourceType resourceType;
-
- @Override
- public void executeFetch(final DSRequest request, final DSResponse response, final ResourceCriteria criteria) {
-
- if (null == resourceType) {
-
- ResourceTypeRepository.Cache.getInstance().getResourceTypes(resourceTypeId,
- EnumSet.of(ResourceTypeRepository.MetadataType.driftDefinitionTemplates),
- new ResourceTypeRepository.TypeLoadedCallback() {
-
- public void onTypesLoaded(ResourceType type) {
- resourceType = type;
- DataSource.super.executeFetch(request, response, criteria);
- }
- });
-
- } else {
- super.executeFetch(request, response, criteria);
- }
- }
-
- @Override
- protected ResourceCriteria getFetchCriteria(DSRequest request) {
- ResourceCriteria criteria = super.getFetchCriteria(request);
- criteria.fetchDriftDefinitions(true);
- return criteria;
- }
-
- @Override
- public ListGridRecord copyValues(Resource from) {
- ListGridRecord record = super.copyValues(from);
-
- if (!resourceType.getDriftDefinitionTemplates().isEmpty()) {
- record.setAttribute(ATTR_IN_COMPLIANCE, ImageManager.getAvailabilityIcon(!isOutOfCompliance(from)));
- }
- return record;
- }
-
- private boolean isOutOfCompliance(Resource resource) {
- for (DriftDefinition def : resource.getDriftDefinitions()) {
- if (def.getComplianceStatus() != DriftComplianceStatus.IN_COMPLIANCE) {
- return true;
- }
- }
- return false;
- }
- }
-
-}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
index 89e217e..d124879 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/gwt/ResourceGWTServiceImpl.java
@@ -151,6 +151,25 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
}
}
+ public List<ResourceInstallCount> findResourceComplianceCounts() throws RuntimeException {
+ try {
+ List<ResourceInstallCount> result = resourceManager.findResourceComplianceCounts(getSessionSubject());
+ return SerialUtility.prepare(result, "ResourceService.findResourceComplianceCounts");
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
+ }
+ }
+
+ public List<ResourceInstallCount> findResourceInstallCounts(boolean groupByVersions) throws RuntimeException {
+ try {
+ List<ResourceInstallCount> result = resourceManager.findResourceInstallCounts(getSessionSubject(),
+ groupByVersions);
+ return SerialUtility.prepare(result, "ResourceService.findResourceInstallCounts");
+ } catch (Throwable t) {
+ throw getExceptionToThrowToClient(t);
+ }
+ }
+
/** Locate ProblemResourcesComposites and generate the disambiguation reports for them.
* Criteria passed in not currently used.
*/
@@ -367,14 +386,4 @@ public class ResourceGWTServiceImpl extends AbstractGWTServiceImpl implements Re
throw getExceptionToThrowToClient(t);
}
}
-
- public List<ResourceInstallCount> findResourceInstallCounts(boolean groupByVersions) throws RuntimeException {
- try {
- List<ResourceInstallCount> result = resourceManager.findResourceInstallCounts(getSessionSubject(),
- groupByVersions);
- return SerialUtility.prepare(result, "ResourceService.findResourceInstallCounts");
- } catch (Throwable t) {
- throw getExceptionToThrowToClient(t);
- }
- }
}
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index 42064bb..b7edd70 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -1671,6 +1671,7 @@ view_reportsTop_title = Reports
view_reports_alertDefinitions = Alert Definitions
view_reports_alertDefinitions_parentHover = Click to go to the parent alert definition
view_reports_alertDefinitions_resTypeLoadError = Cannot get the template resource type - unable to view the alert template.
+view_reports_driftCompliance = Drift Compliance
view_reports_inventorySummary_failFetch = Failed to get inventory summary
view_reports_platforms = Platform Utilization
view_reports_subsystems = Subsystems
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index 614fcb8..af27641 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -528,6 +528,8 @@ view_admin_systemSettings_AvailabilityPurge_name = Lösche Verfügbarkeitsdaten,
view_admin_systemSettings_DriftFilePurge_name = Lösche ungenutzte Drift-Dateine, die älter sind als
view_admin_systemSettings_LDAPBindPW_name = Passwort
view_admin_systemSettings_TraitPurge_name = Lösche Trait-Daten, die älter sind als
+view_admin_systemSettings_dumpToLogFailed = Schreiben der Systeminformation in die Server-Log-Datei ist fehlgeschlagen
+view_admin_systemSettings_dumpedToLog = System informationen wurden erfolgreich in die Server-Log-Datei geschrieben
##view_admin_systemSettings_group_drift = Drift Server Configuration Settings
view_admin_systemSettings_saveFailure = Das Speichern der Systemeinstellungen ist fehlgeschlagen
view_admin_systemSettings_savedSettings = Sie haben die Systemeinstellungen erfolgreich gespeichert
@@ -1038,7 +1040,7 @@ view_dashboards_title = Dashboard
##view_drift_category_fileRemoved = File Removed
##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
-view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
+##view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
@@ -1452,6 +1454,10 @@ view_remoteAgentInstall_stopAgent = Agent anhalten
view_reportsTop_description = Dieser Abschnitt bietet Zugang zu applikationsweiten Berichten
view_reportsTop_title = Berichte
view_reports_alertDefinitions = Alarmierungskriterien
+##view_reports_alertDefinitions_parentHover = Click to go to the parent alert definition
+##view_reports_alertDefinitions_resTypeLoadError = Cannot get the template resource type - unable to view the alert template.
+##view_reports_driftCompliance = Drift Compliance
+##view_reports_inventorySummary_failFetch = Failed to get inventory summary
view_reports_platforms = Cpu- und Speicherauslastung
view_reports_subsystems = Subsysteme
##view_resourceResourceGroupList_error_fetchFailure = Failed to fetch Resource''s groups.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index 7946cab..2823d98 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -1180,7 +1180,7 @@ view_dashboards_title = ダッシュボード
##view_drift_category_fileRemoved = File Removed
##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
-view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
+##view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
@@ -1659,6 +1659,7 @@ view_reportsTop_title = レポート
view_reports_alertDefinitions = アラート定義
view_reports_alertDefinitions_parentHover = クリックすると親のアラート定義へ行きます
view_reports_alertDefinitions_resTypeLoadError = テンプレートリソースタイプを取得できません - アラートテンプレートの閲覧ができません
+##view_reports_driftCompliance = Drift Compliance
view_reports_inventorySummary_failFetch = インベントリサマリーの取得に失敗しました
view_reports_platforms = プラットフォーム利用率
view_reports_subsystems = サブシステム
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
index db56109..5e84274 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
@@ -631,6 +631,8 @@ view_admin_systemSettings_TraitPurge_desc = How old measurement trait data must
view_admin_systemSettings_TraitPurge_name = Delete Measurement Traits Older Than
view_admin_systemSettings_cannotLoadServerDetails = Cannot load server details
view_admin_systemSettings_cannotLoadSettings = Cannot obtain the current system settings
+##view_admin_systemSettings_dumpToLogFailed = Writing of system info to server log file failed
+##view_admin_systemSettings_dumpedToLog = System info was successfully written to server log file
view_admin_systemSettings_fixBeforeSaving = Please fix the invalid values before saving
view_admin_systemSettings_group_baseline = Automatic Baseline Configuration Properties
view_admin_systemSettings_group_dataMgr = Data Manager Configuration Properties
@@ -1209,7 +1211,7 @@ view_drift_category_fileChanged = Arquivo alterado
##view_drift_category_fileRemoved = Arquivo removido
##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
-view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
+##view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
view_drift_failure_detectNow = Falha ao submeter a requisi��o de detec��o do drift
@@ -1775,9 +1777,10 @@ view_remoteAgentInstall_updateStatus = Status da Atualiza\u00E7\u00E3o
view_reportsTop_description = This section provides access to global reports.
view_reportsTop_title = Relat\u00F3rios
view_reports_alertDefinitions = Defini\u00E7\u00E3o de Alertas
-view_reports_alertDefinitions_parentHover = Click to go to the parent alert definition
-view_reports_alertDefinitions_resTypeLoadError = Cannot get the template resource type - unable to view the alert template.
-view_reports_inventorySummary_failFetch = Failed to get inventory summary
+##view_reports_alertDefinitions_parentHover = Click to go to the parent alert definition
+##view_reports_alertDefinitions_resTypeLoadError = Cannot get the template resource type - unable to view the alert template.
+##view_reports_driftCompliance = Drift Compliance
+##view_reports_inventorySummary_failFetch = Failed to get inventory summary
view_reports_platforms = Utiliza\u00E7\u00E3o de Mem\u00F3ria e CPU
view_reports_subsystems = Subsistemas
view_resourceResourceGroupList_error_fetchFailure = Failed to fetch Resource''s groups.
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
index dad3952..a79d3ba 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
@@ -1189,7 +1189,7 @@ view_dashboards_title = \u7edf\u8ba1\u8868\u76d8
##view_drift_category_fileRemoved = File Removed
##view_drift_confirm_deleteAllDefs = Delete all drift detection definitions?
##view_drift_confirm_deleteDefs = Delete the selected drift detection definition(s)?
-view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
+##view_drift_confirm_deleteTemplate = Warning! Deleting this template will also cause all attached drift definitions to be deleted as well. Those attached definitions along with all of their snapshots will be permanently removed from the system. Detached definitions will not be removed. Are you sure you want to continue?
##view_drift_failure_deleteDefs = Failed to delete some or all drift detection definitions.
##view_drift_failure_deleteTemplates = Failed to delete some or all of the drift templates
##view_drift_failure_detectNow = Failed to submit drift detection run request
@@ -1669,6 +1669,7 @@ view_reportsTop_title = \u62a5\u8868
view_reports_alertDefinitions = \u544a\u8b66\u5b9a\u4e49
view_reports_alertDefinitions_parentHover = \u70b9\u51fb\u5230\u7236\u7ea7\u544a\u8b66\u83dc\u5355
view_reports_alertDefinitions_resTypeLoadError = \u65e0\u6cd5\u83b7\u53d6\u8d44\u6e90\u6a21\u677f\u7c7b\u578b - \u65e0\u6cd5\u67e5\u770b\u544a\u8b66\u6a21\u677f.
+##view_reports_driftCompliance = Drift Compliance
view_reports_inventorySummary_failFetch = \u83b7\u53d6\u7edf\u8ba1\u6e05\u5355\u5931\u8d25
view_reports_platforms = \u5e73\u53f0\u4f7f\u7528\u7387\u62a5\u8868
view_reports_subsystems = \u5b50\u7cfb\u7edf\u62a5\u8868
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
index f87fa14..418bd0f 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerBean.java
@@ -2372,20 +2372,25 @@ public class ResourceManagerBean implements ResourceManagerLocal, ResourceManage
@SuppressWarnings("unchecked")
@RequiredPermission(Permission.MANAGE_INVENTORY)
public List<ResourceInstallCount> findResourceInstallCounts(Subject subject, boolean groupByVersions) {
+ String queryName = groupByVersions ? Resource.QUERY_RESOURCE_VERSION_REPORT : Resource.QUERY_RESOURCE_REPORT;
+ Query query = entityManager.createNamedQuery(queryName);
+ List<ResourceInstallCount> results = query.getResultList();
+
+ return results;
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ @RequiredPermission(Permission.MANAGE_INVENTORY)
+ public List<ResourceInstallCount> findResourceComplianceCounts(Subject subject) {
Query query = null;
List<ResourceInstallCount> results = null;
- if (!groupByVersions) {
- query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_REPORT);
- results = query.getResultList();
- } else {
- //query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_REPORT);
- query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE);
- results = query.getResultList();
+ query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_IN_COMPLIANCE);
+ results = query.getResultList();
- query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_OUT_OF_COMPLIANCE);
- results.addAll(query.getResultList());
- }
+ query = entityManager.createNamedQuery(Resource.QUERY_RESOURCE_VERSION_AND_DRIFT_OUT_OF_COMPLIANCE);
+ results.addAll(query.getResultList());
return results;
}
diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
index 841428b..420f4d0 100644
--- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
+++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/resource/ResourceManagerLocal.java
@@ -485,6 +485,8 @@ public interface ResourceManagerLocal {
*/
List<Integer> uninventoryResources(Subject subject, int[] resourceIds);
+ List<ResourceInstallCount> findResourceComplianceCounts(Subject subject);
+
List<ResourceInstallCount> findResourceInstallCounts(Subject subject, boolean groupByVersions);
PageList<ResourceComposite> findResourceCompositesByCriteria(Subject subject, ResourceCriteria criteria);
commit 76f8f62c5920fdb349887822778a893c59b73061
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Mon Nov 21 15:38:50 2011 -0500
[Bug 755712 - Drift carousel view previous button generates exception]
Fix some issues with carousel filtering/next/previous buttons. There
were a few issues in play.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
index 8503487..55e3cbc 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/components/carousel/Carousel.java
@@ -433,8 +433,11 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
if (null != carouselStartFilter) {
int newEnd = carouselStartFilter + 1;
setCarouselEndFilter(newEnd);
+
+ // it's ok if this is higher than the current max, the actual fetch will make sure the
+ // values are sane.
+ setCarouselStartFilter(carouselStartFilter + carouselSizeFilter);
}
- setCarouselStartFilter(null);
buildCarousel(true);
}
@@ -449,6 +452,7 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
newStart = (newStart < carouselSizeFilter) ? carouselSizeFilter : newStart;
setCarouselStartFilter(newStart);
}
+
setCarouselEndFilter(null);
buildCarousel(true);
@@ -803,7 +807,7 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
}
try {
- carouselStartFilter = Integer.valueOf((String) criteriaMap.get(FILTER_CAROUSEL_START));
+ carouselStartFilter = (Integer) criteriaMap.get(FILTER_CAROUSEL_START);
} catch (Exception e) {
carouselStartFilter = null;
}
@@ -1054,12 +1058,6 @@ public abstract class Carousel extends LocatableHLayout implements RefreshableVi
}
protected void setCarouselStartFilter(Integer carouselStartFilter) {
- // bump up the start filter max if need be
- Integer max = getCarouselStartFilterMax();
- if (null != max && max < carouselStartFilter) {
- setCarouselStartFilterMax(carouselStartFilter);
- }
-
this.carouselStartFilter = carouselStartFilter;
if (null != carouselStartFilter) {
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java
index 4489472..544ef81 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftCarouselView.java
@@ -70,7 +70,7 @@ public class DriftCarouselView extends BookmarkableCarousel implements DetailsVi
private int driftDefId;
private EntityContext context;
private boolean hasWriteAccess;
- private Integer maxCarouselEndFilter;
+ private Integer maxSnapshotVersion;
private ArrayList<Record> selectedRecords = new ArrayList<Record>();
private boolean useDriftDetailsView;
@@ -157,11 +157,9 @@ public class DriftCarouselView extends BookmarkableCarousel implements DetailsVi
}
});
+ // descending order, so highest changeset version first
if (null == carouselStart) {
carouselStart = changeSet.getVersion();
- if (null == maxCarouselEndFilter) {
- maxCarouselEndFilter = carouselStart;
- }
}
carouselEnd = changeSet.getVersion();
@@ -169,20 +167,20 @@ public class DriftCarouselView extends BookmarkableCarousel implements DetailsVi
break;
}
}
+ if (null == maxSnapshotVersion || maxSnapshotVersion < carouselStart) {
+ maxSnapshotVersion = carouselStart;
+ setCarouselStartFilterMax(maxSnapshotVersion);
+ }
+
+ setCarouselStartFilter(carouselStart);
+ setCarouselEndFilter(carouselEnd);
+ setCarouselSizeFilter(carouselSize);
if (!isRefresh) {
DriftCarouselView.super.onDraw();
} else {
DriftCarouselView.this.refreshCarouselInfo();
}
-
- Integer currentStartFilterMax = getCarouselStartFilterMax();
- if (null == currentStartFilterMax || currentStartFilterMax < carouselStart) {
- setCarouselStartFilterMax(carouselStart);
- }
- setCarouselStartFilter(carouselStart);
- setCarouselEndFilter(carouselEnd);
- setCarouselSizeFilter(carouselSize);
}
public void onFailure(Throwable caught) {
@@ -220,30 +218,29 @@ public class DriftCarouselView extends BookmarkableCarousel implements DetailsVi
* @param changeSetCriteria
*/
private void addCarouselCriteria(GenericDriftChangeSetCriteria changeSetCriteria) {
- Integer carouselStartFilter;
- Integer carouselEndFilter;
-
- // if no startFilter is set then include changesets up to the most recent
- try {
- carouselStartFilter = Integer.valueOf(getCarouselStartFilter());
- if (carouselStartFilter > 0) {
- changeSetCriteria.addFilterEndVersion(String.valueOf(carouselStartFilter));
- }
- } catch (Exception e) {
- carouselStartFilter = null;
+ Integer startVersion; // low snapshot version (carouselEndFilter)
+ Integer endVersion; // high snapshot version (carouselStartFilter)
+
+ // if no startFilter is set then don't limit the endVersion
+ endVersion = getCarouselStartFilter();
+ if (null != endVersion) {
+ changeSetCriteria.addFilterEndVersion(String.valueOf(endVersion));
}
// if no endFilter is set then include changesets greater than 0 (never include 0, the initial snapshot)
- try {
- carouselEndFilter = Integer.valueOf(getCarouselEndFilter());
- if (carouselEndFilter < 1) {
- carouselEndFilter = 1;
- } else if (carouselEndFilter <= maxCarouselEndFilter) {
- changeSetCriteria.addFilterStartVersion(String.valueOf(carouselEndFilter));
- }
- } catch (Exception e) {
- carouselEndFilter = null;
+ // else ensure endFilter is not greater than makes sense
+ startVersion = getCarouselEndFilter();
+ if (null == startVersion || 1 > startVersion) {
+ startVersion = 1;
+
+ } else if (null != endVersion && startVersion > endVersion) {
+ startVersion = endVersion;
+ }
+
+ if (null != maxSnapshotVersion && startVersion > maxSnapshotVersion) {
+ startVersion = maxSnapshotVersion;
}
+ changeSetCriteria.addFilterStartVersion(String.valueOf(startVersion));
// apply the drift-level carousel filters in order to filter out changesets that have no applicab;e drift
Criteria criteria = getCurrentCriteria();
12 years, 5 months
[rhq] modules/plugins
by lkrejci
modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java | 8 ++++++++
modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java | 4 ++--
2 files changed, 10 insertions(+), 2 deletions(-)
New commits:
commit 884eb4f2a4a609ff9541d9d8693133f79518a520
Author: Lukas Krejci <lkrejci(a)redhat.com>
Date: Wed Nov 23 15:26:04 2011 +0100
[BZ 690957] - EWS Tomcat is identical to "normal" tomcat when installed through RPM (at least wrt system services installed)
Make sure that the operation execution logic doesn't get confused by not being able to distinguish between them.
diff --git a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
index 7709b86..542f212 100644
--- a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
+++ b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatDiscoveryComponent.java
@@ -575,6 +575,14 @@ public class TomcatDiscoveryComponent implements ResourceDiscoveryComponent, Man
return (isEWS(catalinaHome) && catalinaHome.endsWith(EWS_TOMCAT_6));
}
+ public static boolean isRPMTomcat5(String catalinaHome) {
+ return catalinaHome.endsWith(EWS_TOMCAT_5);
+ }
+
+ public static boolean isRPMTomcat6(String catalinaHome) {
+ return catalinaHome.endsWith(EWS_TOMCAT_6);
+ }
+
private void populateJMXConfiguration(Configuration configuration, String[] commandLine) {
// null for manual add, properties will already be set
if (null == commandLine) {
diff --git a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java
index ce542a9..f1e78f4 100644
--- a/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java
+++ b/modules/plugins/tomcat/src/main/java/org/jboss/on/plugins/tomcat/TomcatServerOperationsDelegate.java
@@ -252,7 +252,7 @@ public class TomcatServerOperationsDelegate {
private ProcessExecution getRpmStart(Configuration pluginConfiguration) {
ProcessExecution processExecution;
String catalinaHome = this.serverComponent.getCatalinaHome().getPath();
- String rpm = TomcatDiscoveryComponent.isEWSTomcat6(catalinaHome) ? TomcatDiscoveryComponent.EWS_TOMCAT_6
+ String rpm = TomcatDiscoveryComponent.isRPMTomcat6(catalinaHome) ? TomcatDiscoveryComponent.EWS_TOMCAT_6
: TomcatDiscoveryComponent.EWS_TOMCAT_5;
processExecution = new ProcessExecution("service");
@@ -335,7 +335,7 @@ public class TomcatServerOperationsDelegate {
private ProcessExecution getRpmShutdown() {
ProcessExecution processExecution;
String catalinaHome = this.serverComponent.getCatalinaHome().getPath();
- String rpm = TomcatDiscoveryComponent.isEWSTomcat6(catalinaHome) ? TomcatDiscoveryComponent.EWS_TOMCAT_6
+ String rpm = TomcatDiscoveryComponent.isRPMTomcat6(catalinaHome) ? TomcatDiscoveryComponent.EWS_TOMCAT_6
: TomcatDiscoveryComponent.EWS_TOMCAT_5;
processExecution = new ProcessExecution("service");
12 years, 6 months
[rhq] modules/enterprise
by Heiko W. Rupp
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java | 41 +++++---
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java | 46 ++++++----
2 files changed, 58 insertions(+), 29 deletions(-)
New commits:
commit f6cee08b05e8cebd4c28c6d7cb6de52ec0c5d180
Author: Heiko W. Rupp <hwr(a)redhat.com>
Date: Wed Nov 23 13:49:39 2011 +0100
BZ 755544 prevent NPE when no resource or group or metric were selected.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
index 87d1199..d91fc3b 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/groups/graph/ResourceGroupGraphPortlet.java
@@ -54,10 +54,10 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "ResourceGroupMetric";
- // A default displayed, persisted name for the portlet
+ // A default displayed, persisted name for the portlet
public static final String NAME = MSG.view_portlet_defaultName_groupMetric();
- // set on initial configuration, the window for this portlet view.
+ // set on initial configuration, the window for this portlet view.
private PortletWindow portletWindow;
public static final String CFG_RESOURCE_GROUP_ID = "resourceGroupId";
@@ -79,8 +79,13 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
}
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- setEntityId(storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID).getIntegerValue());
- setDefinitionId(storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID).getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID).getIntegerValue();
+ if (integerValue!=null)
+ setEntityId(integerValue);
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null)
+ setDefinitionId(propertySimple.getIntegerValue());
}
}
@@ -92,11 +97,12 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
protected void onDraw() {
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- super.onDraw();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
removeMembers(getMembers());
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ super.onDraw();
}
}
@@ -113,7 +119,7 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
.extendLocatorId("Selector"), GroupCategory.COMPATIBLE, false);
resourceGroupSelector.setWidth(700);
resourceGroupSelector.setHeight(300);
- //TODO, would probaby be nice to find a way to seed assigned with the current group
+ //TODO, would probaby be nice to find a way to seed assigned with the current group
//ListGridRecord rec = new ListGridRecord();
//rec.setAttribute("id", getEntityId());
//rec.setAttribute("name", "current");
@@ -152,10 +158,14 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
final DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- form.setValue(CFG_RESOURCE_GROUP_ID, storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID)
- .getIntegerValue());
- form.setValue(CFG_DEFINITION_ID, storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID)
- .getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID)
+ .getIntegerValue();
+ if (integerValue!=null)
+ form.setValue(CFG_RESOURCE_GROUP_ID, integerValue);
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null)
+ form.setValue(CFG_DEFINITION_ID, propertySimple.getIntegerValue());
}
selectorItem.setCanvas(resourceGroupSelector);
@@ -184,10 +194,11 @@ public class ResourceGroupGraphPortlet extends ResourceGroupMetricGraphView impl
removeMembers(getMembers());
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID) != null) {
- renderGraph();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_GROUP_ID);
+ if (simple == null | simple.getIntegerValue()==null) {
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ renderGraph();
}
}
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
index ad18fcb..7187066 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/dashboard/portlets/inventory/resource/graph/ResourceGraphPortlet.java
@@ -48,10 +48,10 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
// A non-displayed, persisted identifier for the portlet
public static final String KEY = "ResourceMetric";
- // A default displayed, persisted name for the portlet
+ // A default displayed, persisted name for the portlet
public static final String NAME = MSG.view_portlet_defaultName_resourceMetric();
- // set on initial configuration, the window for this portlet view.
+ // set on initial configuration, the window for this portlet view.
private PortletWindow portletWindow;
public static final String CFG_RESOURCE_ID = "resourceId";
@@ -73,8 +73,19 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
}
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- setEntityId(storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID).getIntegerValue());
- setDefinitionId(storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID).getIntegerValue());
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (propertySimple!=null) {
+ Integer integerValue = propertySimple.getIntegerValue();
+ if (integerValue!=null)
+ setEntityId(integerValue);
+ }
+ propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null) {
+
+ Integer integerValue = propertySimple.getIntegerValue();
+ if (integerValue!=null)
+ setDefinitionId(integerValue);
+ }
}
}
@@ -86,11 +97,12 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
protected void onDraw() {
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- super.onDraw();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
removeMembers(getMembers());
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ super.onDraw();
}
}
@@ -133,10 +145,15 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
});
if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- form.setValue(CFG_RESOURCE_ID, storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID)
- .getIntegerValue());
- form.setValue(CFG_DEFINITION_ID, storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID)
- .getIntegerValue());
+ Integer integerValue = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID).getIntegerValue();
+ if (integerValue!=null) {
+ form.setValue(CFG_RESOURCE_ID, integerValue);
+ }
+
+ PropertySimple propertySimple = storedPortlet.getConfiguration().getSimple(CFG_DEFINITION_ID);
+ if (propertySimple!=null && propertySimple.getIntegerValue()!=null) {
+ form.setValue(CFG_DEFINITION_ID, propertySimple.getIntegerValue());
+ }
}
form.setFields(resourceLookupComboBoxItem, metric);
@@ -164,10 +181,11 @@ public class ResourceGraphPortlet extends ResourceMetricGraphView implements Cus
removeMembers(getMembers());
DashboardPortlet storedPortlet = portletWindow.getStoredPortlet();
- if (storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID) != null) {
- renderGraph();
- } else {
+ PropertySimple simple = storedPortlet.getConfiguration().getSimple(CFG_RESOURCE_ID);
+ if (simple == null || simple.getIntegerValue()==null) {
addMember(new Label("<i>" + MSG.view_portlet_configure_needed() + "</i>"));
+ } else {
+ renderGraph();
}
}
12 years, 6 months
[rhq] Branch 'release_jon3.x' - modules/core
by Heiko W. Rupp
modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
New commits:
commit 55b0203c669c5ae0a1830291416113a5aa884ad6
Author: John Mazzitelli <mazz(a)redhat.com>
Date: Wed Nov 23 10:20:38 2011 +0100
[BZ 755564] null check to avoid NPE. summary must be non-null as per data model(cherry picked from commit 6fd3fb7)
diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java
index 5738e74..725ab53 100644
--- a/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java
+++ b/modules/core/domain/src/main/java/org/rhq/core/domain/resource/ResourceError.java
@@ -141,7 +141,9 @@ public class ResourceError implements Serializable {
}
public void setSummary(String summary) {
- if (summary != null && summary.length() > MAX_SUMMARY_LENGTH) {
+ if (summary == null) {
+ summary = "An error occurred.";
+ } else if (summary.length() > MAX_SUMMARY_LENGTH) {
summary = summary.substring(0, MAX_SUMMARY_LENGTH - 3) + "...";
}
this.summary = summary;
12 years, 6 months
[rhq] modules/enterprise
by Jay Shaughnessy
modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java | 68 ++++++++--
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties | 2
modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties | 2
6 files changed, 71 insertions(+), 7 deletions(-)
New commits:
commit bbb3015a3d7f7cbf8238853e262c64cf1740d381
Author: Jay Shaughnessy <jshaughn(a)redhat.com>
Date: Tue Nov 22 16:31:21 2011 -0500
[Bug 756171 - The UI does not have a way to see the template from which a drift definition is derived]
Add template and attached info to the definitions view. This implements
#2 of the three proposed enhancements and should be enough for the
first release. It adds two new columns, "Attached?" and "Template",
which indicate whether the definition is attached or not,and to what
template. Note that detached definitions still have an associated template,
and may be re-attached.
Users with manage_settings can link to the template, for others the field
is not a link.
Given a lack of real-estate, the interval and drift handling columns have
been removed from the list row, and are now viewable only from the edit
view.
diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
index 90440dd..b29e9a6 100644
--- a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
+++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/drift/DriftDefinitionDataSource.java
@@ -21,6 +21,8 @@ package org.rhq.enterprise.gui.coregui.client.drift;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
+import java.util.HashSet;
+import java.util.Set;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.smartgwt.client.data.DSRequest;
@@ -36,6 +38,7 @@ import com.smartgwt.client.widgets.grid.ListGridRecord;
import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
+import org.rhq.core.domain.authz.Permission;
import org.rhq.core.domain.common.EntityContext;
import org.rhq.core.domain.criteria.DriftDefinitionCriteria;
import org.rhq.core.domain.drift.DriftChangeSet;
@@ -49,6 +52,8 @@ import org.rhq.core.domain.util.PageList;
import org.rhq.enterprise.gui.coregui.client.CoreGUI;
import org.rhq.enterprise.gui.coregui.client.ImageManager;
import org.rhq.enterprise.gui.coregui.client.LinkManager;
+import org.rhq.enterprise.gui.coregui.client.PermissionsLoadedListener;
+import org.rhq.enterprise.gui.coregui.client.PermissionsLoader;
import org.rhq.enterprise.gui.coregui.client.components.table.TimestampCellFormatter;
import org.rhq.enterprise.gui.coregui.client.gwt.DriftGWTServiceAsync;
import org.rhq.enterprise.gui.coregui.client.gwt.GWTServiceLookup;
@@ -76,12 +81,15 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
public static final String ATTR_CHANGE_SET_VERSION = "changesetVersion";
public static final String ATTR_COMPLIANCE = "compliance";
public static final String ATTR_COMPLIANCE_ICON = "complianceIcon";
+ public static final String ATTR_ATTACHED = "attached";
+ public static final String ATTR_TEMPLATE = "template";
public static final String DRIFT_HANDLING_MODE_NORMAL = MSG.view_drift_table_driftHandlingMode_normal();
public static final String DRIFT_HANDLING_MODE_PLANNED = MSG.view_drift_table_driftHandlingMode_plannedChanges();
private DriftGWTServiceAsync driftService = GWTServiceLookup.getDriftService();
private EntityContext entityContext;
+ private Set<Permission> globalPermissions;
public DriftDefinitionDataSource() {
this(EntityContext.forSubsystemView());
@@ -168,17 +176,42 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
});
fields.add(inComplianceField);
+ /*
ListGridField driftHandlingModeField = new ListGridField(ATTR_DRIFT_HANDLING_MODE, MSG
.view_drift_table_driftHandlingMode());
fields.add(driftHandlingModeField);
+ */
+ /*
ListGridField intervalField = new ListGridField(ATTR_INTERVAL, MSG.common_title_interval());
fields.add(intervalField);
+ */
ListGridField baseDirField = new ListGridField(ATTR_BASE_DIR_STRING, MSG.view_drift_table_baseDir());
changeSetTimeField.setCanSortClientOnly(true);
fields.add(baseDirField);
+ ListGridField attachedField = new ListGridField(ATTR_ATTACHED, MSG.view_drift_table_attached());
+ fields.add(attachedField);
+
+ ListGridField templateField = new ListGridField(ATTR_TEMPLATE, MSG.view_drift_table_template());
+ templateField.setCellFormatter(new CellFormatter() {
+ public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
+ DriftDefinition def = (DriftDefinition) listGridRecord.getAttributeAsObject(ATTR_ENTITY);
+ if (null != globalPermissions && globalPermissions.contains(Permission.MANAGE_SETTINGS)) {
+ int typeId = def.getResource().getResourceType().getId();
+ int templateId = def.getTemplate().getId();
+ String link = LinkManager.getDriftTemplateLink(typeId, templateId);
+ return SeleniumUtility.getLocatableHref(link, o.toString(), null);
+
+ } else {
+ return o.toString();
+ }
+ }
+ });
+ templateField.setCanSortClientOnly(true);
+ fields.add(templateField);
+
ListGridField editField = new ListGridField(ATTR_EDIT, MSG.common_title_edit());
editField.setType(ListGridFieldType.IMAGE);
editField.setAlign(Alignment.CENTER);
@@ -229,9 +262,11 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
nameField.setWidth("20%");
enabledField.setWidth(60);
inComplianceField.setWidth(100);
- driftHandlingModeField.setWidth("10%");
- intervalField.setWidth(100);
+ //driftHandlingModeField.setWidth("10%");
+ //intervalField.setWidth(100);
baseDirField.setWidth("*");
+ attachedField.setWidth(70);
+ templateField.setWidth("25%");
pinnedField.setWidth(70);
changeSetField.setWidth(70);
changeSetTimeField.setWidth(100);
@@ -244,9 +279,11 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
changeSetTimeField.setWidth(100);
enabledField.setWidth(60);
inComplianceField.setWidth(100);
- driftHandlingModeField.setWidth("15%");
- intervalField.setWidth(70);
+ //driftHandlingModeField.setWidth("15%");
+ //intervalField.setWidth(70);
baseDirField.setWidth("*");
+ attachedField.setWidth(70);
+ templateField.setWidth("25%");
pinnedField.setWidth(70);
editField.setWidth(70);
}
@@ -265,8 +302,21 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
processResponse(request.getRequestId(), response);
}
- public void onSuccess(PageList<DriftDefinitionComposite> result) {
- dataRetrieved(result, response, request);
+ public void onSuccess(final PageList<DriftDefinitionComposite> result) {
+
+ // if we don't have them grab the global perms to see later if we can link to to templates.
+ if (null == globalPermissions) {
+ new PermissionsLoader().loadExplicitGlobalPermissions(new PermissionsLoadedListener() {
+ @Override
+ public void onPermissionsLoaded(Set<Permission> permissions) {
+ globalPermissions = (permissions != null) ? permissions : new HashSet<Permission>();
+ dataRetrieved(result, response, request);
+ }
+ });
+
+ } else {
+ dataRetrieved(result, response, request);
+ }
}
});
}
@@ -326,12 +376,14 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
}
criteria.fetchConfiguration(true);
+ criteria.fetchTemplate(true);
// filter out unsortable fields (i.e. fields sorted client-side only)
PageControl pageControl = getPageControl(request);
pageControl.removeOrderingField(ATTR_BASE_DIR_STRING);
pageControl.removeOrderingField(ATTR_CHANGE_SET_CTIME);
pageControl.removeOrderingField(ATTR_CHANGE_SET_VERSION);
+ pageControl.removeOrderingField(ATTR_TEMPLATE);
criteria.setPageControl(pageControl);
return criteria;
@@ -353,7 +405,7 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
ListGridRecord record = new ListGridRecord();
// We need this for Detect Now support
- record.setAttribute(ATTR_ENTITY, from.getDriftDefinition());
+ record.setAttribute(ATTR_ENTITY, def);
record.setAttribute(ATTR_ID, def.getId());
record.setAttribute(ATTR_NAME, def.getName());
@@ -369,6 +421,8 @@ public class DriftDefinitionDataSource extends RPCDataSource<DriftDefinitionComp
record.setAttribute(ATTR_EDIT, ImageManager.getEditIcon());
record.setAttribute(ATTR_IS_PINNED, def.isPinned() ? ImageManager.getPinnedIcon() : ImageManager
.getUnpinnedIcon());
+ record.setAttribute(ATTR_ATTACHED, def.isAttached() ? MSG.common_val_yes() : MSG.common_val_no());
+ record.setAttribute(ATTR_TEMPLATE, def.getTemplate().getName());
record.setAttribute(ATTR_CHANGE_SET_VERSION, (null != changeSet) ? String.valueOf(changeSet.getVersion()) : MSG
.common_label_none());
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
index 5a5f154..c8df668 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages.properties
@@ -1206,6 +1206,7 @@ view_drift_success_deleteTemplate = Successfully deleted {0} drift templates
view_drift_success_detectNow = Successfully submitted drift detection run request
view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+view_drift_table_attached = Attached?
view_drift_table_baseDir = Base Directory
view_drift_table_driftHandlingMode = Drift Handling
view_drift_table_driftHandlingMode_normal = normal
@@ -1224,6 +1225,7 @@ view_drift_table_resourceDef = Resource Drift Detection Definition
view_drift_table_resourceHistory = Resource Drift History
view_drift_table_snapshot = Snapshot
view_drift_table_snapshotTime = Snapshot Time
+view_drift_table_template = Template
view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
index c5d56d5..76bbf6a 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_de.properties
@@ -1054,6 +1054,7 @@ view_dashboards_title = Dashboard
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+##view_drift_table_attached = Attached?
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1072,6 +1073,7 @@ view_dashboards_title = Dashboard
##view_drift_table_resourceHistory = Resource Drift History
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
+##view_drift_table_template = Template
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
index d673c42..1242729 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_ja.properties
@@ -1196,6 +1196,7 @@ view_dashboards_title = ダッシュボード
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+##view_drift_table_attached = Attached?
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1214,6 +1215,7 @@ view_dashboards_title = ダッシュボード
##view_drift_table_resourceHistory = Resource Drift History
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
+##view_drift_table_template = Template
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
index 56e46b1..6acfd8a 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_pt.properties
@@ -1225,6 +1225,7 @@ view_drift_success_delete = Drifts {0} exclu�dos com sucesso!
view_drift_success_detectNow = Requisi��o de detec��o de drift submetida com sucesso.
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+##view_drift_table_attached = Attached?
##view_drift_table_baseDir = Diret�rio Base
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1243,6 +1244,7 @@ view_drift_success_detectNow = Requisi��o de detec��o de drift submetida
##view_drift_table_resourceHistory = Hist�rico de Drift do Recurso
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
+##view_drift_table_template = Template
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
diff --git a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
index 670769e..89b23e8 100644
--- a/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
+++ b/modules/enterprise/gui/coregui/src/main/resources/org/rhq/enterprise/gui/coregui/client/Messages_zh.properties
@@ -1205,6 +1205,7 @@ view_dashboards_title = \u7edf\u8ba1\u8868\u76d8
##view_drift_success_detectNow = Successfully submitted drift detection run request
##view_drift_success_pinToDef = Successfully pinned snapshot {0} to drift definition.
##view_drift_success_templateUpdated = Drift template updated and changes pushed to attached definitions.
+##view_drift_table_attached = Attached?
##view_drift_table_baseDir = Base Directory
##view_drift_table_driftHandlingMode = Drift Handling
##view_drift_table_driftHandlingMode_normal = normal
@@ -1223,6 +1224,7 @@ view_dashboards_title = \u7edf\u8ba1\u8868\u76d8
##view_drift_table_resourceHistory = Resource Drift History
##view_drift_table_snapshot = Snapshot
##view_drift_table_snapshotTime = Snapshot Time
+##view_drift_table_template = Template
##view_drift_table_title_initialSnapshot = Initial Snapshot for Definition [{0}] : Pinned = [{1}]
##view_drift_table_title_snapshot = Snapshot [{0}] for Definition [{1}]
##view_drift_table_title_templateSnapshot = Pinned Snapshot for Template [{0}]
12 years, 6 months
[rhq] modules/core
by ips
modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
New commits:
commit b33a34080654eb5305c5a2e46ad18d730b95ed85
Author: Ian Springer <ian.springer(a)redhat.com>
Date: Tue Nov 22 16:27:16 2011 -0500
[BZ 756106] ensure resource classloader is initialized in processSyncInfo() prior to making any resource component facet
calls (https://bugzilla.redhat.com/show_bug.cgi?id=756106)
diff --git a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
index e815315..2a5bd2f 100644
--- a/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
+++ b/modules/core/plugin-container/src/main/java/org/rhq/core/pc/inventory/InventoryManager.java
@@ -1,6 +1,6 @@
/*
* RHQ Management Platform
- * Copyright (C) 2005-2010 Red Hat, Inc.
+ * Copyright (C) 2005-2011 Red Hat, Inc.
* All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
@@ -2494,6 +2494,9 @@ public class InventoryManager extends AgentService implements ContainerService,
log.info("Got unknown resource: " + syncInfo.getId());
} else {
Resource resource = container.getResource();
+ // Ensure the Resource classloader is initialized on the Resource container.
+ initResourceContainer(resource);
+
if (log.isDebugEnabled()) {
log.debug("Local Resource: id=" + resource.getId() + ", status=" + resource.getInventoryStatus()
+ ", mtime=" + resource.getMtime());
12 years, 6 months