modules/core/domain/src/main/java/META-INF/MANIFEST.MF | 20 modules/core/domain/src/main/java/org/rhq/core/domain/cloud/composite/FailoverListComposite.java | 4 modules/core/domain/src/test/java/org/rhq/core/domain/configuration/test/ConfigurationTest.java | 2 modules/core/domain/src/test/java/org/rhq/core/domain/test/SerializableTest.java | 3 modules/enterprise/gui/coregui/pom.xml | 334 ++++++++++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml | 19 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java | 154 ++++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/group/ResourceGroupGWTService.java | 43 + modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/group/ResourceGroupGWTServiceAsync.java | 26 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java | 217 ++++++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceGWTService.java | 49 + modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceGWTServiceAsync.java | 37 + modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceTreeDatasource.java | 175 +++++ modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/public/CoreGUI.css | 7 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/public/CoreGUI.html | 10 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/inventory/group/ResourceGroupGWTServiceImpl.java | 31 modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/inventory/resource/ResourceGWTServiceImpl.java | 61 + modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css | 7 modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.html | 19 modules/enterprise/gui/coregui/war/CoreGUI.css | 7 modules/enterprise/gui/coregui/war/CoreGUI.html | 19 modules/enterprise/gui/coregui/war/WEB-INF/web.xml | 26 modules/enterprise/gui/pom.xml | 3 modules/enterprise/gui/portal-war/pom.xml | 38 - modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/RHQPortal.gwt.xml | 14 modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/RHQPortal.java | 81 -- modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/group/ResourceGroupGWTService.java | 43 - modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/group/ResourceGroupGWTServiceAsync.java | 28 modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/resource/ResourceGWTService.java | 49 - modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/resource/ResourceGWTServiceAsync.java | 37 - modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/server/inventory/group/ResourceGroupGWTServiceImpl.java | 31 modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/server/inventory/resource/ResourceGWTServiceImpl.java | 54 - modules/enterprise/gui/portal-war/src/main/webapp/RHQPortal.css | 7 modules/enterprise/gui/portal-war/src/main/webapp/RHQPortal.html | 16 modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml | 17 modules/enterprise/gui/portal-war/src/main/webapp/org.rhq.enterprise.gui.gwt.RHQPortal/RHQDomain.css | 7 modules/enterprise/gui/portal-war/src/main/webapp/org.rhq.enterprise.gui.gwt.RHQPortal/RHQDomain.html | 10 modules/enterprise/gui/portal-war/src/main/webapp/rhq/discovery/queue.xhtml | 5 modules/enterprise/gwt/web/WEB-INF/web.xml | 8 modules/enterprise/gwt/web/index.jsp | 12 modules/enterprise/server/jar/src/main/java/META-INF/MANIFEST.MF | 56 + modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java | 12 42 files changed, 1319 insertions(+), 479 deletions(-)
New commits: commit a9650a465fb331073c5719e1cd4b4ee7bba002ef Author: Greg Hinkle ghinkle@redhat.com Date: Fri Jan 29 16:29:34 2010 -0500
Moved gwt prototype into separate maven module
diff --git a/modules/enterprise/gui/coregui/pom.xml b/modules/enterprise/gui/coregui/pom.xml new file mode 100644 index 0000000..7f80e7c --- /dev/null +++ b/modules/enterprise/gui/coregui/pom.xml @@ -0,0 +1,334 @@ +<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.rhq</groupId> + <artifactId>rhq-parent</artifactId> + <version>1.4.0-SNAPSHOT</version> + </parent> + + <groupId>org.rhq</groupId> + <artifactId>rhq-coregui</artifactId> + <packaging>war</packaging> + + <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/coregui/</connection> + <developerConnection>scm:git:ssh://git.fedorahosted.org/git/rhq.git/modules/enterprise/gui/coregui/</developerConnection> + </scm> + + <properties> + + <scm.module.path>modules/enterprise/gui/coregui/</scm.module.path> + + <!-- dependency versions --> + + <gwt.version>2.0.0</gwt.version> + + <product.shortName>RHQ</product.shortName> + <product.name>RHQ</product.name> + <product.fullName>RHQ</product.fullName> + <product.url.domain>rhq-project.org</product.url.domain> + <product.sales.email>sales@rhq-project.org</product.sales.email> + <product.support.email>info@rhq-project.org</product.support.email> + <product.version>${project.version}</product.version> + <product.help.doc.root>http://support.rhq-project.org/display/RHQ/</product.help.doc.root> + </properties> + + <dependencies> + + + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-servlet</artifactId> + <version>${gwt.version}</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <version>${gwt.version}</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>com.smartgwt</groupId> + <artifactId>smartgwt</artifactId> + <version>2.0</version> + </dependency> + + + <!-- Internal Deps --> + + <dependency> + <groupId>org.rhq</groupId> + <artifactId>rhq-core-domain</artifactId> + <version>${project.version}</version> + <scope>provided</scope> <!-- by rhq.ear (as ejb-jar) --> + </dependency> + + <dependency> + <groupId>org.rhq</groupId> + <artifactId>rhq-enterprise-server</artifactId> + <version>${project.version}</version> + <scope>provided</scope> <!-- by rhq.ear (as ejb-jar) --> + </dependency> + + <dependency> + <groupId>org.rhq</groupId> + <artifactId>rhq-core-util</artifactId> + <version>${project.version}</version> + <scope>provided</scope> <!-- by rhq.ear --> + </dependency> + + <!-- 3rd Party Deps --> + + + <!-- needed for referenced domain entities that use Hibernate annotations (due to JDK5 bug) --> + <dependency> + <groupId>hibernate-annotations</groupId> + <artifactId>hibernate-annotations</artifactId> + <!-- NOTE: The version is defined in the root POM's dependencyManagement section. --> + <scope>provided</scope> <!-- by JBossAS --> + </dependency> + + <!-- transitive dependency needed for JspC --> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.4</version> + <scope>provided</scope> <!-- by JBossAS --> + </dependency> + + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>jsp-api</artifactId> + <version>2.0</version> + <scope>provided</scope> <!-- by JBossAS --> + </dependency> + + <!-- needed for referenced domain entities that use JPA annotations (due to JDK5 bug) --> + <dependency> + <groupId>javax.persistence</groupId> + <artifactId>persistence-api</artifactId> + <version>1.0</version> + <scope>provided</scope> <!-- by JBossAS --> + </dependency> + + <!-- needed for EJB3 annotations (e.g. ApplicationException) --> + <dependency> + <groupId>jboss</groupId> + <artifactId>jboss-ejb3x</artifactId> + <!-- NOTE: The version is defined in the root POM's dependencyManagement section. --> + <scope>provided</scope> <!-- by JBossAS --> + </dependency> + + <!-- Needed due to JDK 1.5 bug. --> + <dependency> + <groupId>jboss</groupId> + <artifactId>jboss-annotations-ejb3</artifactId> + <!-- NOTE: The version is defined in the root POM's dependencyManagement section. --> + <scope>provided</scope> <!-- by JBossAS --> + </dependency> + + </dependencies> + + <build> + <finalName>coregui</finalName> + <outputDirectory>war/WEB-INF/classes</outputDirectory> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>gwt-maven-plugin</artifactId> + <version>1.2.0-11137</version> + <configuration> + <warSourceDirectory>war</warSourceDirectory> + <inplace>true</inplace> + <logLevel>INFO</logLevel> + <runTarget>CoreGUI.html</runTarget> + <extraJvmArgs>-Xmx512m</extraJvmArgs> + <localWorkers>2</localWorkers> + <draftCompile>true</draftCompile> + </configuration> + <executions> + <execution> + <goals> + <goal>compile</goal> + </goals> + </execution> + </executions> + </plugin> + + <plugin> + <artifactId>maven-war-plugin</artifactId> + <version>2.1-beta-1</version> + <configuration> + <warSourceDirectory>war</warSourceDirectory> + <archive> + <manifest> + <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> + <addDefaultImplementationEntries>true</addDefaultImplementationEntries> + </manifest> + <manifestEntries> + <Build-Number>${buildNumber}</Build-Number> + </manifestEntries> + </archive> + <webResources> + <resource> + <filtering>false</filtering> + <directory>${basedir}/war</directory> + </resource> + <resource> + <filtering>true</filtering> + <directory>${basedir}/src/main/webapp-filtered</directory> + </resource> + </webResources> + </configuration> + </plugin> + + <!-- + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.1</version> + <executions> + <execution> + <id>Generate I18N Resource Bundles</id> + <phase>process-classes</phase> + <configuration> + <tasks> + <taskdef name="i18n" classpathref="maven.runtime.classpath" classname="mazz.i18n.ant.I18NAntTask" /> + <i18n outputdir="${project.build.outputDirectory}" defaultlocale="en" verbose="false" append="false" verify="true"> + <classpath refid="maven.runtime.classpath" /> + <classfileset dir="${project.build.outputDirectory}"> + <include name="**/*I18NResourceKeys.class" /> + </classfileset> + </i18n> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <id>Maintain an unfiltered copy of i18n properties files</id> + <phase>process-classes</phase> + <configuration> + <tasks> + <copy todir="${project.build.outputDirectory}"> + <fileset dir="src/main/webapp-filtered/WEB-INF/classes"> + <include name="ApplicationResources.properties" /> + </fileset> + <mapper type="glob" from="*" to="*.unfiltered" /> + </copy> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + --> + </plugins> + + </build> + + <profiles> + + <profile> + <id>dev</id> + + <properties> + <rhq.rootDir>../../../..</rhq.rootDir> + <rhq.containerDir>${rhq.rootDir}/${rhq.defaultDevContainerPath}</rhq.containerDir> + <rhq.deploymentName>${project.build.finalName}.war</rhq.deploymentName> + <rhq.deploymentDir>${rhq.containerDir}/jbossas/server/default/deploy/${rhq.earName}/${rhq.deploymentName}</rhq.deploymentDir> + </properties> + + <build> + <plugins> + + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.1</version> + <executions> + + <execution> + <id>deploy-classes</id> + <phase>compile</phase> + <configuration> + <tasks> + <property name="classes.dir" location="${rhq.deploymentDir}/WEB-INF/classes" /> + <echo>*** Copying updated files from war/WEB-INF/classes to ${classes.dir}...</echo> + <copy todir="${classes.dir}" verbose="${rhq.verbose}"> + <fileset dir="war/WEB-INF/classes" /> + </copy> + <property name="deployment.dir" location="${rhq.deploymentDir}" /> + <echo>*** Copying updated files from src${file.separator}main${file.separator}webapp${file.separator} to ${deployment.dir}${file.separator}...</echo> + <copy todir="${deployment.dir}" verbose="${rhq.verbose}"> + <fileset dir="${basedir}/src/main/webapp" /> + </copy> + <!-- TODO: Also copy the files from src/main/webapp-filtered/, and then filter them ourselves. --> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + + <execution> + <id>deploy</id> + <phase>package</phase> + <configuration> + <tasks> + <property name="deployment.dir" location="${rhq.deploymentDir}" /> + <echo>*** Copying updated files from target${file.separator}${project.build.finalName}${file.separator} to ${deployment.dir}${file.separator}...</echo> + <copy todir="${deployment.dir}" verbose="${rhq.verbose}"> + <fileset dir="${basedir}/target/${project.build.finalName}" /> + </copy> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + + <execution> + <id>undeploy</id> + <phase>clean</phase> + <configuration> + <tasks> + <property name="deployment.dir" location="${rhq.deploymentDir}" /> + <echo>*** Deleting ${deployment.dir}${file.separator}...</echo> + <delete dir="${deployment.dir}" /> + </tasks> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + + </executions> + </plugin> + + </plugins> + </build> + </profile> + + </profiles> + + <repositories> + <repository> + <id>smartgwt</id> + <name>SmartGWT</name> + <url>http://www.smartclient.com/maven2</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + + </repositories> + +</project> diff --git a/modules/enterprise/gui/coregui/war/CoreGUI.css b/modules/enterprise/gui/coregui/war/CoreGUI.css new file mode 100644 index 0000000..a111f82 --- /dev/null +++ b/modules/enterprise/gui/coregui/war/CoreGUI.css @@ -0,0 +1,7 @@ +body { + background-color: white; + color: black; + font-family: Arial, sans-serif; + font-size: small; + margin: 8px; +} diff --git a/modules/enterprise/gui/coregui/war/CoreGUI.html b/modules/enterprise/gui/coregui/war/CoreGUI.html new file mode 100644 index 0000000..158ba7c --- /dev/null +++ b/modules/enterprise/gui/coregui/war/CoreGUI.html @@ -0,0 +1,19 @@ +<html> +<head> + <title>RHQ Core Application</title> + <link rel="stylesheet" href="CoreGUI.css"> + + <script type="text/javascript">var isomorphicDir = "org.rhq.enterprise.gui.coregui.CoreGUI/sc/"; + </script> +</head> +<body> +<script type="text/javascript" language="javascript" + src="org.rhq.enterprise.gui.coregui.CoreGUI/org.rhq.enterprise.gui.coregui.CoreGUI.nocache.js"></script> +<h1>RHQ</h1> + +<div id="Loading-Panel"> + <img src="/images/ajax-loader.gif" alt="loading"> Loading RHQ, please wait... +</div> + +</body> +</html> diff --git a/modules/enterprise/gui/coregui/war/WEB-INF/web.xml b/modules/enterprise/gui/coregui/war/WEB-INF/web.xml new file mode 100644 index 0000000..fd6f02a --- /dev/null +++ b/modules/enterprise/gui/coregui/war/WEB-INF/web.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<web-app xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee + http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" + version="2.5"> + + <servlet> + <servlet-name>org.rhq.enterprise.gui.coregui.CoreGUI ResourceGroupGWTService</servlet-name> + <servlet-class>org.rhq.enterprise.gui.coregui.server.inventory.group.ResourceGroupGWTServiceImpl</servlet-class> + </servlet> + <servlet> + <servlet-name>org.rhq.enterprise.gui.coregui.CoreGUI ResourceGWTService</servlet-name> + <servlet-class>org.rhq.enterprise.gui.coregui.server.inventory.resource.ResourceGWTServiceImpl</servlet-class> + </servlet> + + + <servlet-mapping> + <servlet-name>org.rhq.enterprise.gui.coregui.CoreGUI ResourceGroupGWTService</servlet-name> + <url-pattern>/org.rhq.enterprise.gui.coregui.CoreGUI/ResourceGroupGWTService</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>org.rhq.enterprise.gui.coregui.CoreGUI ResourceGWTService</servlet-name> + <url-pattern>/org.rhq.enterprise.gui.coregui.CoreGUI/ResourceGWTService</url-pattern> + </servlet-mapping> +</web-app>
commit 57bf5501262486319bc4c0f4feba89ebb79e968c Author: Greg Hinkle ghinkle@redhat.com Date: Fri Jan 29 16:26:52 2010 -0500
moved the gwt prototype into a new maven module (gui/coregui)
diff --git a/modules/core/domain/src/main/java/META-INF/MANIFEST.MF b/modules/core/domain/src/main/java/META-INF/MANIFEST.MF index 7d3b7e3..8af660b 100644 --- a/modules/core/domain/src/main/java/META-INF/MANIFEST.MF +++ b/modules/core/domain/src/main/java/META-INF/MANIFEST.MF @@ -1,4 +1,16 @@ -Manifest-Version: 1.0 -Class-Path: i18nlog-1.0.9.jar jaxb-api-2.1.jar stax-api-1.0-2.jar acti - vation-1.1.jar rhq-core-util-1.4.0-SNAPSHOT.jar jdom-1.0.jar - +Manifest-Version: 1.0 +Class-Path: i18nlog-1.0.9.jar jaxb-api-2.1.jar stax-api-1.0-2.jar acti + vation-1.1.jar rhq-core-util-1.4.0-SNAPSHOT.jar jdom-1.0.jar lib/post + gresql-8.4-701.jdbc3.jar lib/dom4j-1.6.1-jboss.jar lib/xml-apis-1.0.b + 2.jar lib/i18nlog-1.0.9.jar lib/log4j-1.2.14.jar lib/hibernate-annota + tions-3.2.1.GA.jar lib/javassist-3.4.ga.jar lib/testng-5.9-jdk15.jar + lib/junit-3.8.1.jar lib/concurrent-1.3.4.jar lib/commons-collections- + 3.2.jar lib/hibernate-entitymanager-3.2.1.GA.jar lib/persistence-api- + 1.0.jar lib/commons-codec-1.4.jar lib/trove-1.0.2.jar lib/cglib-nodep + -2.1_3.jar lib/jaxb-api-2.1.jar lib/stax-api-1.0-2.jar lib/activation + -1.1.jar lib/hibernate3-3.2.r14201-2.jar lib/commons-logging-1.1.0.jb + oss.jar lib/annotations-7.0.2.jar lib/jboss-ejb3-all-1.0.0.Alpha9.jar + lib/antlr-2.7.7.jar lib/jtds-1.2.2.jar lib/rhq-core-util.jar lib/jdo + m-1.0.jar lib/h2-1.1.117.jar lib/gwt-user-2.0.0.jar lib/xercesImpl-2. + 8.1.jar + diff --git a/modules/core/domain/src/main/java/org/rhq/core/domain/cloud/composite/FailoverListComposite.java b/modules/core/domain/src/main/java/org/rhq/core/domain/cloud/composite/FailoverListComposite.java index 14c0961..46bc7c9 100644 --- a/modules/core/domain/src/main/java/org/rhq/core/domain/cloud/composite/FailoverListComposite.java +++ b/modules/core/domain/src/main/java/org/rhq/core/domain/cloud/composite/FailoverListComposite.java @@ -38,7 +38,9 @@ public class FailoverListComposite implements Iterator<FailoverListComposite.Ser private List<ServerEntry> servers; private int nextIndex = 0;
- public static class ServerEntry { + public static class ServerEntry implements Serializable { + + private static final long serialVersionUID = 1L;
public final int serverId; public final String address; diff --git a/modules/core/domain/src/test/java/org/rhq/core/domain/configuration/test/ConfigurationTest.java b/modules/core/domain/src/test/java/org/rhq/core/domain/configuration/test/ConfigurationTest.java index 7ef92e4..b42f265 100644 --- a/modules/core/domain/src/test/java/org/rhq/core/domain/configuration/test/ConfigurationTest.java +++ b/modules/core/domain/src/test/java/org/rhq/core/domain/configuration/test/ConfigurationTest.java @@ -80,7 +80,7 @@ public class ConfigurationTest extends AbstractEJB3Test { assert copy.getConfiguration().getSimple("first").getStringValue().equals("firstValue") : copy;
// let's pretend we failed the update - cur.setErrorMessage(ThrowableUtil.getStackAsString((new Exception("update error here"))); + cur.setErrorMessage(ThrowableUtil.getStackAsString((new Exception("update error here")))); assert copy.getStatus().equals(ConfigurationUpdateStatus.FAILURE) : copy; // setting the error message also sets status to failure
copy = em.find(AbstractResourceConfigurationUpdate.class, cur.getId()); diff --git a/modules/core/domain/src/test/java/org/rhq/core/domain/test/SerializableTest.java b/modules/core/domain/src/test/java/org/rhq/core/domain/test/SerializableTest.java index 88683be..9db7e3d 100644 --- a/modules/core/domain/src/test/java/org/rhq/core/domain/test/SerializableTest.java +++ b/modules/core/domain/src/test/java/org/rhq/core/domain/test/SerializableTest.java @@ -44,7 +44,6 @@ import org.rhq.core.domain.content.Package; import org.rhq.core.domain.content.PackageInstallationStep; import org.rhq.core.domain.content.PackageType; import org.rhq.core.domain.content.PackageVersion; -import org.rhq.core.domain.content.transfer.ContentDiscoveryReport; import org.rhq.core.domain.discovery.AvailabilityReport; import org.rhq.core.domain.event.Event; import org.rhq.core.domain.event.EventDefinition; @@ -73,7 +72,7 @@ public class SerializableTest { public void testSerialization() { List<Serializable> objects = new ArrayList<Serializable>(); Serializable[] simpleObjects = new Serializable[] { new AvailabilityReport(), new PackageType(), - new Architecture(), new Repo(), new ContentDiscoveryReport(), new ContentServiceRequest(), + new Architecture(), new Repo(), new ContentServiceRequest(), new ContentSource(), new ContentSourceType(), new InstalledPackage(), new Package(), new PackageInstallationStep(), new PackageType(), new PackageVersion() }; objects.addAll(Arrays.asList(simpleObjects)); diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml new file mode 100644 index 0000000..2642816 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/CoreGUI.gwt.xml @@ -0,0 +1,19 @@ +<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.6//EN" + "http://google-web-toolkit.googlecode.com/svn/releases/1.6/distro-source/core/src/gwt-module.dtd"> +<module> + + + <inherits name='com.google.gwt.user.User'/> + <inherits name='org.rhq.core.RHQDomain'/> + + <inherits name='com.smartgwt.SmartGwt' /> + + + <set-property name="user.agent" value="safari"/> + + <entry-point class='org.rhq.enterprise.gui.coregui.client.CoreGUI'/> + + <servlet path="/ResourceGroupGWTService" class="org.rhq.enterprise.gui.coregui.server.inventory.group.ResourceGroupGWTServiceImpl"/> + <servlet path="/ResourceGWTService" class="org.rhq.enterprise.gui.coregui.server.inventory.resource.ResourceGWTServiceImpl"/> + +</module> \ 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 new file mode 100644 index 0000000..24b21ee --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/CoreGUI.java @@ -0,0 +1,154 @@ +package org.rhq.enterprise.gui.coregui.client; + +import org.rhq.core.domain.criteria.ResourceCriteria; +import org.rhq.core.domain.resource.Resource; +import org.rhq.core.domain.util.PageList; +import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceDatasource; +import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceGWTService; +import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceGWTServiceAsync; +import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceTreeDatasource; + +import com.google.gwt.core.client.EntryPoint; +import com.google.gwt.event.dom.client.KeyCodes; +import com.google.gwt.event.dom.client.KeyPressEvent; +import com.google.gwt.event.dom.client.KeyPressHandler; +import com.google.gwt.user.client.DOM; +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.gwt.user.client.ui.*; + + +import com.smartgwt.client.data.Criteria; +import com.smartgwt.client.types.Alignment; +import com.smartgwt.client.types.Autofit; +import com.smartgwt.client.util.SC; +import com.smartgwt.client.widgets.IButton; +import com.smartgwt.client.widgets.events.ClickEvent; +import com.smartgwt.client.widgets.events.ClickHandler; +import com.smartgwt.client.widgets.grid.ColumnTree; +import com.smartgwt.client.widgets.grid.ListGrid; +import com.smartgwt.client.widgets.tree.TreeGrid; + + +/** + * @author Greg Hinkle + */ +public class CoreGUI implements EntryPoint { + ResourceGWTServiceAsync resourceService; + + private VerticalPanel mainPanel; + private HorizontalPanel searchPanel; + private TextBox searchBox; + + public void onModuleLoad() { + resourceService = ResourceGWTService.App.getInstance(); + + mainPanel = new VerticalPanel(); + + + DOM.setInnerHTML(RootPanel.get("Loading-Panel").getElement(), ""); + + + searchPanel = new HorizontalPanel(); + searchPanel.add(new Label("Resource Search")); + searchBox = new TextBox(); + searchPanel.add(searchBox); + + RootPanel.get().add(searchPanel); + + RootPanel.get().add(mainPanel); + +// TreeGrid resourceTree = new TreeGrid(); +// resourceTree.setWidth(500); +// resourceTree.setHeight(400); +// resourceTree.setNodeIcon("icons/16/person.png"); +// resourceTree.setFolderIcon("icons/16/person.png"); +// resourceTree.setShowOpenIcons(false); +// resourceTree.setShowDropIcons(false); +// resourceTree.setClosedIconSuffix(""); +// resourceTree.setAutoFetchData(true); +// resourceTree.setDataSource(new ResourceTreeDatasource()); +// mainPanel.add(resourceTree); + + + final ResourceDatasource datasource = new ResourceDatasource(); + final ListGrid listGrid = new ListGrid(); + listGrid.setWidth(1000); + listGrid.setHeight(800); + listGrid.setDataSource(datasource); + listGrid.setAutoFetchData(true); + listGrid.setAlternateRecordStyles(true); +// listGrid.setAutoFitData(Autofit.HORIZONTAL); +// listGrid.getField("currentAvailability").setAlign(Alignment.CENTER); + mainPanel.add(listGrid); + + + searchBox.addKeyPressHandler(new KeyPressHandler() { + public void onKeyPress(KeyPressEvent event) { + if (event.getCharCode() == KeyCodes.KEY_ENTER) { + datasource.setQuery(searchBox.getText()); + Criteria c = new Criteria("name", searchBox.getText()); + listGrid.fetchData(c); + } + } + }); + + IButton button = new IButton("say hello"); + button.moveTo(300,50); + button.addClickHandler(new ClickHandler() { + + public void onClick(ClickEvent event) { + SC.say("oh, Hi there"); + + } + }); + button.draw(); + } + + + + + public void updateSearch(String searchString) { + final long start = System.currentTimeMillis(); + ResourceCriteria criteria = new ResourceCriteria(); + criteria.addFilterName(searchString); + + resourceService.findResourcesByCriteria(criteria, new AsyncCallback<PageList<Resource>>() { + public void onFailure(Throwable caught) { + Window.alert("Failed to load " + caught.getMessage()); + } + + public void onSuccess(PageList<Resource> result) { + mainPanel.clear(); + + FlexTable table = new FlexTable(); + mainPanel.add(table); + + int r = 0; + int c = 0; + + table.setText(r,c++,"id"); + table.setText(r,c++,"name"); + table.setText(r,c++,"description"); + table.setText(r,c++,"type"); + table.setText(r,c++,"availability"); + + mainPanel.add(table); + + for (Resource res : result) { + r++; + c=0; + table.setText(r,c++, String.valueOf(res.getId())); + table.setText(r,c++, res.getName()); + table.setText(r,c++, res.getDescription()); + table.setText(r,c++, String.valueOf(res.getResourceType().getId())); + table.setText(r,c++, String.valueOf(res.getCurrentAvailability().getAvailabilityType().getName())); + + } + + mainPanel.add(new Label("Found " + result.size() + " resources")); + mainPanel.add(new Label("\tTook: " + (System.currentTimeMillis() - start) + "ms")); + } + }); + } +} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/group/ResourceGroupGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/group/ResourceGroupGWTService.java new file mode 100644 index 0000000..1252194 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/group/ResourceGroupGWTService.java @@ -0,0 +1,43 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2010 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.gui.coregui.client.inventory.group; + +import com.google.gwt.user.client.rpc.RemoteService; +import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; +import com.google.gwt.core.client.GWT; + + + +/** + * @author Greg Hinkle + */ +@RemoteServiceRelativePath("ResourceGroupGWTService") +public interface ResourceGroupGWTService extends RemoteService { + /** + * Utility/Convenience class. + * Use ResourceGroupGWTService.App.getInstance() to access static instance of ResourceGroupGWTServiceAsync + */ + public static class App { + private static final ResourceGroupGWTServiceAsync ourInstance = (ResourceGroupGWTServiceAsync) GWT.create(ResourceGroupGWTService.class); + + public static ResourceGroupGWTServiceAsync getInstance() { + return ourInstance; + } + } +} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/group/ResourceGroupGWTServiceAsync.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/group/ResourceGroupGWTServiceAsync.java new file mode 100644 index 0000000..c4ca842 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/group/ResourceGroupGWTServiceAsync.java @@ -0,0 +1,26 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2010 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.gui.coregui.client.inventory.group; + + +/** + * @author Greg Hinkle + */ +public interface ResourceGroupGWTServiceAsync { +} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java new file mode 100644 index 0000000..09f8ed5 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceDatasource.java @@ -0,0 +1,217 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2010 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.gui.coregui.client.inventory.resource; + +import org.rhq.core.domain.criteria.ResourceCriteria; +import org.rhq.core.domain.measurement.AvailabilityType; +import org.rhq.core.domain.resource.Resource; +import org.rhq.core.domain.util.PageControl; +import org.rhq.core.domain.util.PageList; +import org.rhq.core.domain.util.PageOrdering; + +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.smartgwt.client.data.DSRequest; +import com.smartgwt.client.data.DSResponse; +import com.smartgwt.client.data.DataSource; +import com.smartgwt.client.data.DataSourceField; +import com.smartgwt.client.data.Record; +import com.smartgwt.client.data.fields.DataSourceFloatField; +import com.smartgwt.client.data.fields.DataSourceImageField; +import com.smartgwt.client.data.fields.DataSourceIntegerField; +import com.smartgwt.client.data.fields.DataSourceTextField; +import com.smartgwt.client.rpc.RPCResponse; +import com.smartgwt.client.types.DSDataFormat; +import com.smartgwt.client.types.DSProtocol; +import com.smartgwt.client.types.FieldType; +import com.smartgwt.client.widgets.grid.ListGridField; +import com.smartgwt.client.widgets.grid.ListGridRecord; + + +/** + * @author Greg Hinkle + */ +public class ResourceDatasource extends DataSource { + private boolean initialized = false; + + + private String query; + + public ResourceDatasource() { + setClientOnly(false); + setDataProtocol(DSProtocol.CLIENTCUSTOM); + setDataFormat(DSDataFormat.CUSTOM); + + DataSourceField idDataField = new DataSourceIntegerField("id", "ID", 20); + idDataField.setPrimaryKey(true); + + DataSourceTextField nameDataField = new DataSourceTextField("name", "Name", 200); + nameDataField.setCanEdit(false); + + DataSourceTextField descriptionDataField = new DataSourceTextField("description", "Description"); + descriptionDataField.setCanEdit(false); + + DataSourceImageField availabilityDataField = new DataSourceImageField("currentAvailability", "Availability", 20); + availabilityDataField.setCanEdit(false); + +// nameDataField.setType(FieldType.); + + setFields(idDataField, nameDataField, descriptionDataField, availabilityDataField); + } + + public String getQuery() { + return query; + } + + public void setQuery(String query) { + this.query = query; + } + + @Override + protected Object transformRequest(DSRequest request) { + String requestId = request.getRequestId(); + DSResponse response = new DSResponse(); + response.setAttribute("clientContext", request.getAttributeAsObject("clientContext")); + // Asume success + response.setStatus(0); + switch (request.getOperationType()) { + case ADD: + //executeAdd(lstRec, true); + break; + case FETCH: + executeFetch(requestId, request, response); + break; + case REMOVE: + //executeRemove(lstRec); + break; + case UPDATE: + //executeAdd(lstRec, false); + break; + + default: + break; + } + + return request.getData(); + } + + public void executeFetch(final String requestId, final DSRequest request, final DSResponse response) { + final long start = System.currentTimeMillis(); + + ResourceCriteria criteria = new ResourceCriteria(); + criteria.addFilterName(query); + int startRow = request.getStartRow(); + int endRow = request.getEndRow(); + PageControl pc = new PageControl(); + if (startRow == 0) { + criteria.setPaging(0,endRow); + } else { + criteria.setPaging(1, startRow); + } +// criteria.addSortAgentName(PageOrdering.ASC); + + ResourceGWTServiceAsync resourceService = ResourceGWTService.App.getInstance(); + + resourceService.findResourcesByCriteria(criteria, new AsyncCallback<PageList<Resource>>() { + public void onFailure(Throwable caught) { + Window.alert("Failed to load " + caught.getMessage()); + System.err.println("StateDS failed to fetch"); + response.setStatus(RPCResponse.STATUS_FAILURE); + processResponse(requestId, response); + } + + public void onSuccess(PageList<Resource> result) { +// mainPanel.clear(); +// +// FlexTable table = new FlexTable(); +// mainPanel.add(table); +// +// int r = 0; +// int c = 0; +// +// table.setText(r,c++,"id"); +// table.setText(r,c++,"name"); +// table.setText(r,c++,"description"); +// table.setText(r,c++,"type"); +// table.setText(r,c++,"availability"); +// +// mainPanel.add(table); + + ListGridRecord[] records = new ListGridRecord[result.size()]; + for (int x=0; x<result.size(); x++) { + Resource res = result.get(x); + ListGridRecord record = new ListGridRecord(); + record.setAttribute("id",res.getId()); + record.setAttribute("name",res.getName()); + record.setAttribute("description",res.getDescription()); + record.setAttribute("currentAvailability", + res.getCurrentAvailability().getAvailabilityType() == AvailabilityType.UP + ? "/images/icons/availability_green_16.png" + : "/images/icons/availability_red_16.png"); + records[x] = record; + } + + response.setData(records); + response.setTotalRows(result.getTotalSize()); // for paging to work we have to specify size of full result set + processResponse(requestId, response); + + +// for (Resource res : result) { +// if (initialized) { +// updateData(new ResourceRow(res)); +// } else { +// addData(new ResourceRow(res)); +// } +// +// if (!initialized) initialized = true; +// r++; +// c=0; +// table.setText(r,c++, String.valueOf(res.getId())); +// table.setText(r,c++, res.getName()); +// table.setText(r,c++, res.getDescription()); +// table.setText(r,c++, String.valueOf(res.getResourceType().getId())); +// table.setText(r,c++, String.valueOf(res.getCurrentAvailability().getAvailabilityType().getName())); + +// } + } + }); + } + + private static class ResourceRow extends ListGridRecord { + + private Resource resource; + + private ResourceRow(Resource resource) { + this.resource = resource; +// DataTools.setProperties + + } + + + public Resource getResource() { + return resource; + } + + public void setResource(Resource resource) { + this.resource = resource; + } + + + } +} \ No newline at end of file diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceGWTService.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceGWTService.java new file mode 100644 index 0000000..c7c7305 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceGWTService.java @@ -0,0 +1,49 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2010 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.gui.coregui.client.inventory.resource; + +import org.rhq.core.domain.criteria.ResourceCriteria; +import org.rhq.core.domain.resource.Resource; +import org.rhq.core.domain.util.PageList; + +import com.google.gwt.user.client.rpc.RemoteService; +import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; +import com.google.gwt.core.client.GWT; + + +/** + * @author Greg Hinkle + */ +@RemoteServiceRelativePath("ResourceGWTService") +public interface ResourceGWTService extends RemoteService { + + PageList<Resource> findResourcesByCriteria(ResourceCriteria criteria); + + /** + * Utility/Convenience class. + * Use ResourceGWTService.App.getInstance() to access static instance of ResourceGWTServiceAsync + */ + public static class App { + private static final ResourceGWTServiceAsync ourInstance = (ResourceGWTServiceAsync) GWT.create(ResourceGWTService.class); + + public static ResourceGWTServiceAsync getInstance() { + return ourInstance; + } + } +} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceGWTServiceAsync.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceGWTServiceAsync.java new file mode 100644 index 0000000..5dca598 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceGWTServiceAsync.java @@ -0,0 +1,37 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2010 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.gui.coregui.client.inventory.resource; + +import org.rhq.core.domain.criteria.ResourceCriteria; +import org.rhq.core.domain.resource.Resource; +import org.rhq.core.domain.util.PageList; + +import com.google.gwt.user.client.rpc.AsyncCallback; + + + +/** + * @author Greg Hinkle + */ +public interface ResourceGWTServiceAsync { + + + void findResourcesByCriteria(ResourceCriteria criteria, AsyncCallback<PageList<Resource>> callback); + +} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceTreeDatasource.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceTreeDatasource.java new file mode 100644 index 0000000..2e2f26f --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/client/inventory/resource/ResourceTreeDatasource.java @@ -0,0 +1,175 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2010 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.gui.coregui.client.inventory.resource; + +import org.rhq.core.domain.criteria.ResourceCriteria; +import org.rhq.core.domain.measurement.AvailabilityType; +import org.rhq.core.domain.resource.Resource; +import org.rhq.core.domain.util.PageControl; +import org.rhq.core.domain.util.PageList; + +import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.smartgwt.client.data.DSRequest; +import com.smartgwt.client.data.DSResponse; +import com.smartgwt.client.data.DataSource; +import com.smartgwt.client.data.DataSourceField; +import com.smartgwt.client.data.fields.DataSourceImageField; +import com.smartgwt.client.data.fields.DataSourceIntegerField; +import com.smartgwt.client.data.fields.DataSourceTextField; +import com.smartgwt.client.rpc.RPCResponse; +import com.smartgwt.client.types.DSDataFormat; +import com.smartgwt.client.types.DSProtocol; +import com.smartgwt.client.widgets.grid.ListGridRecord; +import com.smartgwt.client.widgets.tree.TreeNode; + +/** + * @author Greg Hinkle + */ +public class ResourceTreeDatasource extends DataSource { +private boolean initialized = false; + + + private String query; + + public ResourceTreeDatasource() { + setClientOnly(false); + setDataProtocol(DSProtocol.CLIENTCUSTOM); + setDataFormat(DSDataFormat.CUSTOM); + + DataSourceField idDataField = new DataSourceIntegerField("id", "ID"); + idDataField.setPrimaryKey(true); + + DataSourceTextField nameDataField = new DataSourceTextField("name", "Name"); + nameDataField.setCanEdit(false); + + DataSourceTextField descriptionDataField = new DataSourceTextField("description", "Description"); + descriptionDataField.setCanEdit(false); + + DataSourceImageField availabilityDataField = new DataSourceImageField("currentAvailability", "Availability"); + descriptionDataField.setCanEdit(false); + +// nameDataField.setType(FieldType.); + + setFields(idDataField, nameDataField, descriptionDataField, availabilityDataField); + } + + public String getQuery() { + return query; + } + + public void setQuery(String query) { + this.query = query; + } + + @Override + protected Object transformRequest(DSRequest request) { + String requestId = request.getRequestId(); + DSResponse response = new DSResponse(); + response.setAttribute("clientContext", request.getAttributeAsObject("clientContext")); + // Asume success + response.setStatus(0); + switch (request.getOperationType()) { + case ADD: + //executeAdd(lstRec, true); + break; + case FETCH: + executeFetch(requestId, request, response); + break; + case REMOVE: + //executeRemove(lstRec); + break; + case UPDATE: + //executeAdd(lstRec, false); + break; + + default: + break; + } + + return request.getData(); + } + + public void executeFetch(final String requestId, final DSRequest request, final DSResponse response) { + final long start = System.currentTimeMillis(); + System.out.println("Trying to get attributes"); + + System.out.println(request.getAttributes()); +// int parentId = request.getAttributeAsInt("parentId"); + + ResourceCriteria criteria = new ResourceCriteria(); + criteria.addFilterParentResourceId(10001); + + ResourceGWTServiceAsync resourceService = ResourceGWTService.App.getInstance(); + + resourceService.findResourcesByCriteria(criteria, new AsyncCallback<PageList<Resource>>() { + public void onFailure(Throwable caught) { + Window.alert("Failed to load " + caught.getMessage()); + System.err.println("Failed to fetch resources"); + response.setStatus(RPCResponse.STATUS_FAILURE); + processResponse(requestId, response); + } + + public void onSuccess(PageList<Resource> result) { + + ResourceTreeNode[] records = new ResourceTreeNode[result.size()]; + for (int x=0; x<result.size(); x++) { + Resource res = result.get(x); + ResourceTreeNode record = new ResourceTreeNode(res); + records[x] = record; + } + + response.setData(records); + response.setTotalRows(result.getTotalSize()); // for paging to work we have to specify size of full result set + processResponse(requestId, response); + + } + }); + } + + private static class ResourceTreeNode extends TreeNode { + + private Resource resource; + + private ResourceTreeNode(Resource resource) { + this.resource = resource; + + setAttribute("id",resource.getId()); + setAttribute("name",resource.getName()); + setAttribute("description",resource.getDescription()); + setAttribute("currentAvailability", + resource.getCurrentAvailability().getAvailabilityType() == AvailabilityType.UP + ? "/images/icons/availability_green_16.png" + : "/images/icons/availability_red_16.png"); + + } + + + + public Resource getResource() { + return resource; + } + + public void setResource(Resource resource) { + this.resource = resource; + } + + + } +} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/public/CoreGUI.css b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/public/CoreGUI.css new file mode 100644 index 0000000..a111f82 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/public/CoreGUI.css @@ -0,0 +1,7 @@ +body { + background-color: white; + color: black; + font-family: Arial, sans-serif; + font-size: small; + margin: 8px; +} diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/public/CoreGUI.html b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/public/CoreGUI.html new file mode 100644 index 0000000..cefb38e --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/public/CoreGUI.html @@ -0,0 +1,10 @@ +<html> +<head> + <title>CoreGUI Application</title> + <link rel="stylesheet" href="CoreGUI.css"> +</head> +<body> +<script type="text/javascript" language="javascript" src="org.rhq.enterprise.gui.coregui.CoreGUI.nocache.js"></script> +<h1>CoreGUI Application</h1> +</body> +</html> diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/inventory/group/ResourceGroupGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/inventory/group/ResourceGroupGWTServiceImpl.java new file mode 100644 index 0000000..fc94571 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/inventory/group/ResourceGroupGWTServiceImpl.java @@ -0,0 +1,31 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2010 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.gui.coregui.server.inventory.group; + +import com.google.gwt.user.server.rpc.RemoteServiceServlet; + +import org.rhq.enterprise.gui.coregui.client.inventory.group.ResourceGroupGWTService; + + + +/** + * @author Greg Hinkle + */ +public class ResourceGroupGWTServiceImpl extends RemoteServiceServlet implements ResourceGroupGWTService { +} \ No newline at end of file diff --git a/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/inventory/resource/ResourceGWTServiceImpl.java b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/inventory/resource/ResourceGWTServiceImpl.java new file mode 100644 index 0000000..3b4ff68 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/java/org/rhq/enterprise/gui/coregui/server/inventory/resource/ResourceGWTServiceImpl.java @@ -0,0 +1,61 @@ +/* + * RHQ Management Platform + * Copyright (C) 2005-2010 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.gui.coregui.server.inventory.resource; + +import com.google.gwt.user.server.rpc.RemoteServiceServlet; + +import org.rhq.core.domain.criteria.ResourceCriteria; +import org.rhq.core.domain.resource.Resource; +import org.rhq.core.domain.util.PageList; +import org.rhq.enterprise.gui.coregui.client.inventory.resource.ResourceGWTService; +import org.rhq.enterprise.server.auth.SubjectManagerLocal; +import org.rhq.enterprise.server.resource.ResourceManagerLocal; +import org.rhq.enterprise.server.util.HibernateDetachUtility; +import org.rhq.enterprise.server.util.LookupUtil; + +import javax.servlet.ServletConfig; +import javax.servlet.ServletException; + +/** + * @author Greg Hinkle + */ +public class ResourceGWTServiceImpl extends RemoteServiceServlet implements ResourceGWTService { + + @Override + public void init(ServletConfig config) throws ServletException { + super.init(config); + System.out.println("Loading GWT RPC Services"); + } + + public PageList<Resource> findResourcesByCriteria(ResourceCriteria criteria) { + ResourceManagerLocal resourceManager = LookupUtil.getResourceManager(); + SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager(); + try { + PageList<Resource> result = resourceManager.findResourcesByCriteria(subjectManager.getOverlord(), criteria); + HibernateDetachUtility.nullOutUninitializedFields(result, + HibernateDetachUtility.SerializationType.SERIALIZATION); + return result; + } catch (Exception e) { + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + throw new RuntimeException(e); + } + } + + +} \ No newline at end of file diff --git a/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css new file mode 100644 index 0000000..a111f82 --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.css @@ -0,0 +1,7 @@ +body { + background-color: white; + color: black; + font-family: Arial, sans-serif; + font-size: small; + margin: 8px; +} diff --git a/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.html b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.html new file mode 100644 index 0000000..158ba7c --- /dev/null +++ b/modules/enterprise/gui/coregui/src/main/webapp/CoreGUI.html @@ -0,0 +1,19 @@ +<html> +<head> + <title>RHQ Core Application</title> + <link rel="stylesheet" href="CoreGUI.css"> + + <script type="text/javascript">var isomorphicDir = "org.rhq.enterprise.gui.coregui.CoreGUI/sc/"; + </script> +</head> +<body> +<script type="text/javascript" language="javascript" + src="org.rhq.enterprise.gui.coregui.CoreGUI/org.rhq.enterprise.gui.coregui.CoreGUI.nocache.js"></script> +<h1>RHQ</h1> + +<div id="Loading-Panel"> + <img src="/images/ajax-loader.gif" alt="loading"> Loading RHQ, please wait... +</div> + +</body> +</html> diff --git a/modules/enterprise/gui/pom.xml b/modules/enterprise/gui/pom.xml index 9b895cb..ff3bdb7 100644 --- a/modules/enterprise/gui/pom.xml +++ b/modules/enterprise/gui/pom.xml @@ -36,9 +36,10 @@ <module>installer-war</module> <module>webdav-war</module> <module>alert-migration</module> + <module>coregui</module> </modules> </profile>
</profiles>
-</project> \ No newline at end of file +</project> diff --git a/modules/enterprise/gui/portal-war/pom.xml b/modules/enterprise/gui/portal-war/pom.xml index 95cbbb7..9b458ec 100644 --- a/modules/enterprise/gui/portal-war/pom.xml +++ b/modules/enterprise/gui/portal-war/pom.xml @@ -28,8 +28,6 @@ <seam.version>2.1.0.SP1</seam.version> <jetty-jspc.version>7.0.0.RC6</jetty-jspc.version>
- <gwt.version>2.0.0</gwt.version> - <product.shortName>RHQ</product.shortName> <product.name>RHQ</product.name> <product.fullName>RHQ</product.fullName> @@ -42,21 +40,6 @@
<dependencies>
- - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-servlet</artifactId> - <version>${gwt.version}</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-user</artifactId> - <version>${gwt.version}</version> - <scope>provided</scope> - </dependency> - - <!-- Internal Deps -->
<dependency> @@ -405,26 +388,6 @@ <finalName>rhq-portal</finalName> <plugins>
- - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>gwt-maven-plugin</artifactId> - <version>1.2.0-11137</version> - <configuration> - <inplace>true</inplace> - <logLevel>INFO</logLevel> - <runTarget>RHQPortal.html</runTarget> - <extraJvmArgs>-Xmx512m</extraJvmArgs> - </configuration> - <executions> - <execution> - <goals> - <goal>compile</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.1-alpha-1</version> @@ -610,6 +573,7 @@ </profiles>
<repositories> + <repository> <id>java.net-m1-releases</id> <name>Java.net Maven1 Repository - for javax.faces, javax.el, com.sun.el, and com.sun.facelets releases</name> diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/RHQPortal.gwt.xml b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/RHQPortal.gwt.xml deleted file mode 100644 index 1490ef6..0000000 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/RHQPortal.gwt.xml +++ /dev/null @@ -1,14 +0,0 @@ -<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.6//EN" - "http://google-web-toolkit.googlecode.com/svn/releases/1.6/distro-source/core/src/gwt-module.dtd"> -<module> - - <inherits name='com.google.gwt.user.User'/> - <inherits name='org.rhq.core.RHQDomain'/> - - - <entry-point class='org.rhq.enterprise.gui.gwt.client.RHQPortal'/> - <servlet path="/ResourceGroupGWTService" class="org.rhq.enterprise.gui.gwt.server.inventory.group.ResourceGroupGWTServiceImpl"/> - <servlet path="/ResourceGWTService" - class="org.rhq.enterprise.gui.gwt.server.inventory.resource.ResourceGWTServiceImpl"/> - -</module> \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/RHQPortal.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/RHQPortal.java deleted file mode 100644 index ddc0d38..0000000 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/RHQPortal.java +++ /dev/null @@ -1,81 +0,0 @@ -/* - * RHQ Management Platform - * Copyright (C) 2005-2010 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.gui.gwt.client; - -import org.rhq.core.domain.criteria.ResourceCriteria; -import org.rhq.core.domain.resource.Resource; -import org.rhq.core.domain.util.PageList; -import org.rhq.enterprise.gui.gwt.client.inventory.resource.ResourceGWTService; -import org.rhq.enterprise.gui.gwt.client.inventory.resource.ResourceGWTServiceAsync; - -import com.google.gwt.core.client.EntryPoint; -import com.google.gwt.user.client.DOM; -import com.google.gwt.user.client.Window; -import com.google.gwt.user.client.rpc.AsyncCallback; -import com.google.gwt.user.client.ui.*; - -import java.util.ArrayList; - - - -/** - * @author Greg Hinkle - */ -public class RHQPortal implements EntryPoint { - ResourceGWTServiceAsync resourceService; - - private VerticalPanel mainPanel; - - - public void onModuleLoad() { - resourceService = ResourceGWTService.App.getInstance(); - - mainPanel = new VerticalPanel(); - - - DOM.setInnerHTML(RootPanel.get("Loading-Panel").getElement(), ""); - - - RootPanel.get().add(mainPanel); - - - final HTML loading = new HTML(" <img src="/images/ajax-loader.gif" alt="loading"> Loading Resources, please wait..."); - mainPanel.add(loading); - - - ResourceCriteria criteria = new ResourceCriteria(); - criteria.addFilterName("ghinkle"); - - resourceService.findResourcesByCriteria(criteria, new AsyncCallback<PageList<Resource>>() { - public void onFailure(Throwable caught) { - Window.alert("Failed to load" + caught.getMessage()); - } - - public void onSuccess(PageList<Resource> result) { - mainPanel.clear(); - - for (Resource res : result) { - mainPanel.add(new Label(res.getName() + " (" + res.getId() + ")")); - } - - Window.alert("Loaded resources " + result.size()); - } - }); - } -} diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/group/ResourceGroupGWTService.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/group/ResourceGroupGWTService.java deleted file mode 100644 index d43d916..0000000 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/group/ResourceGroupGWTService.java +++ /dev/null @@ -1,43 +0,0 @@ -/* - * RHQ Management Platform - * Copyright (C) 2005-2010 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.gui.gwt.client.inventory.group; - -import com.google.gwt.user.client.rpc.RemoteService; -import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; -import com.google.gwt.core.client.GWT; - - - -/** - * @author Greg Hinkle - */ -@RemoteServiceRelativePath("ResourceGroupGWTService") -public interface ResourceGroupGWTService extends RemoteService { - /** - * Utility/Convenience class. - * Use ResourceGroupGWTService.App.getInstance() to access static instance of ResourceGroupGWTServiceAsync - */ - public static class App { - private static final ResourceGroupGWTServiceAsync ourInstance = (ResourceGroupGWTServiceAsync) GWT.create(ResourceGroupGWTService.class); - - public static ResourceGroupGWTServiceAsync getInstance() { - return ourInstance; - } - } -} diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/group/ResourceGroupGWTServiceAsync.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/group/ResourceGroupGWTServiceAsync.java deleted file mode 100644 index 526a5e7..0000000 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/group/ResourceGroupGWTServiceAsync.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * RHQ Management Platform - * Copyright (C) 2005-2010 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.gui.gwt.client.inventory.group; - -import com.google.gwt.user.client.rpc.AsyncCallback; - - -/** - * @author Greg Hinkle - */ -public interface ResourceGroupGWTServiceAsync { -} diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/resource/ResourceGWTService.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/resource/ResourceGWTService.java deleted file mode 100644 index 3e8ebf5..0000000 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/resource/ResourceGWTService.java +++ /dev/null @@ -1,49 +0,0 @@ -/* - * RHQ Management Platform - * Copyright (C) 2005-2010 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.gui.gwt.client.inventory.resource; - -import org.rhq.core.domain.criteria.ResourceCriteria; -import org.rhq.core.domain.resource.Resource; -import org.rhq.core.domain.util.PageList; - -import com.google.gwt.user.client.rpc.RemoteService; -import com.google.gwt.user.client.rpc.RemoteServiceRelativePath; -import com.google.gwt.core.client.GWT; - - -/** - * @author Greg Hinkle - */ -@RemoteServiceRelativePath("ResourceGWTService") -public interface ResourceGWTService extends RemoteService { - - PageList<Resource> findResourcesByCriteria(ResourceCriteria criteria); - - /** - * Utility/Convenience class. - * Use ResourceGWTService.App.getInstance() to access static instance of ResourceGWTServiceAsync - */ - public static class App { - private static final ResourceGWTServiceAsync ourInstance = (ResourceGWTServiceAsync) GWT.create(ResourceGWTService.class); - - public static ResourceGWTServiceAsync getInstance() { - return ourInstance; - } - } -} diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/resource/ResourceGWTServiceAsync.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/resource/ResourceGWTServiceAsync.java deleted file mode 100644 index f46eb95..0000000 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/client/inventory/resource/ResourceGWTServiceAsync.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * RHQ Management Platform - * Copyright (C) 2005-2010 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.gui.gwt.client.inventory.resource; - -import org.rhq.core.domain.criteria.ResourceCriteria; -import org.rhq.core.domain.resource.Resource; -import org.rhq.core.domain.util.PageList; - -import com.google.gwt.user.client.rpc.AsyncCallback; - - - -/** - * @author Greg Hinkle - */ -public interface ResourceGWTServiceAsync { - - - void findResourcesByCriteria(ResourceCriteria criteria, AsyncCallback<PageList<Resource>> callback); - -} diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/server/inventory/group/ResourceGroupGWTServiceImpl.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/server/inventory/group/ResourceGroupGWTServiceImpl.java deleted file mode 100644 index 08be2e4..0000000 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/server/inventory/group/ResourceGroupGWTServiceImpl.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * RHQ Management Platform - * Copyright (C) 2005-2010 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.gui.gwt.server.inventory.group; - -import com.google.gwt.user.server.rpc.RemoteServiceServlet; - -import org.rhq.enterprise.gui.gwt.client.inventory.group.ResourceGroupGWTService; - - - -/** - * @author Greg Hinkle - */ -public class ResourceGroupGWTServiceImpl extends RemoteServiceServlet implements ResourceGroupGWTService { -} \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/server/inventory/resource/ResourceGWTServiceImpl.java b/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/server/inventory/resource/ResourceGWTServiceImpl.java deleted file mode 100644 index a81fe57..0000000 --- a/modules/enterprise/gui/portal-war/src/main/java/org/rhq/enterprise/gui/gwt/server/inventory/resource/ResourceGWTServiceImpl.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * RHQ Management Platform - * Copyright (C) 2005-2010 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.gui.gwt.server.inventory.resource; - -import com.google.gwt.user.server.rpc.RemoteServiceServlet; - -import org.rhq.core.domain.criteria.ResourceCriteria; -import org.rhq.core.domain.resource.Resource; -import org.rhq.core.domain.util.PageList; -import org.rhq.enterprise.gui.gwt.client.inventory.resource.ResourceGWTService; -import org.rhq.enterprise.gui.util.EnterpriseFacesContextUtility; -import org.rhq.enterprise.server.auth.SubjectManagerLocal; -import org.rhq.enterprise.server.resource.ResourceManagerLocal; -import org.rhq.enterprise.server.util.HibernateDetachUtility; -import org.rhq.enterprise.server.util.LookupUtil; - -/** - * @author Greg Hinkle - */ -public class ResourceGWTServiceImpl extends RemoteServiceServlet implements ResourceGWTService { - - - public PageList<Resource> findResourcesByCriteria(ResourceCriteria criteria) { - ResourceManagerLocal resourceManager = LookupUtil.getResourceManager(); - SubjectManagerLocal subjectManager = LookupUtil.getSubjectManager(); - try { - PageList<Resource> result = resourceManager.findResourcesByCriteria(subjectManager.getOverlord(), criteria); - HibernateDetachUtility.nullOutUninitializedFields(result, - HibernateDetachUtility.SerializationType.SERIALIZATION); - return result; - } catch (Exception e) { - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - throw new RuntimeException(e); - } - } - - -} \ No newline at end of file diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/RHQPortal.css b/modules/enterprise/gui/portal-war/src/main/webapp/RHQPortal.css deleted file mode 100644 index a111f82..0000000 --- a/modules/enterprise/gui/portal-war/src/main/webapp/RHQPortal.css +++ /dev/null @@ -1,7 +0,0 @@ -body { - background-color: white; - color: black; - font-family: Arial, sans-serif; - font-size: small; - margin: 8px; -} diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/RHQPortal.html b/modules/enterprise/gui/portal-war/src/main/webapp/RHQPortal.html deleted file mode 100644 index 4ee0eef..0000000 --- a/modules/enterprise/gui/portal-war/src/main/webapp/RHQPortal.html +++ /dev/null @@ -1,16 +0,0 @@ -<html> -<head> - <title>RHQPortal Application</title> - <link rel="stylesheet" href="RHQPortal.css"> -</head> -<body> -<script type="text/javascript" language="javascript" - src="org.rhq.enterprise.gui.gwt.RHQPortal/org.rhq.enterprise.gui.gwt.RHQPortal.nocache.js"></script> -<h1>RHQPortal Application</h1> - -<div id="Loading-Panel"> - <img src="/images/ajax-loader.gif" alt="loading"> Loading RHQ, please wait... -</div> - -</body> -</html> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml index 5658dc5..ac9b7c3 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/WEB-INF/web.xml @@ -398,14 +398,6 @@ </init-param> <load-on-startup>2</load-on-startup> </servlet> - <servlet> - <servlet-name>org.rhq.enterprise.gui.gwt.RHQPortal ResourceGroupGWTService</servlet-name> - <servlet-class>org.rhq.enterprise.gui.gwt.server.inventory.group.ResourceGroupGWTServiceImpl</servlet-class> - </servlet> - <servlet> - <servlet-name>org.rhq.enterprise.gui.gwt.RHQPortal ResourceGWTService</servlet-name> - <servlet-class>org.rhq.enterprise.gui.gwt.server.inventory.resource.ResourceGWTServiceImpl</servlet-class> - </servlet>
<!-- The endpoints to the agent update servlet --> <servlet-mapping> @@ -476,14 +468,7 @@ <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> - <servlet-mapping> - <servlet-name>org.rhq.enterprise.gui.gwt.RHQPortal ResourceGroupGWTService</servlet-name> - <url-pattern>/org.rhq.enterprise.gui.gwt.RHQPortal/ResourceGroupGWTService</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>org.rhq.enterprise.gui.gwt.RHQPortal ResourceGWTService</servlet-name> - <url-pattern>/org.rhq.enterprise.gui.gwt.RHQPortal/ResourceGWTService</url-pattern> - </servlet-mapping> + <session-config> <session-timeout>30</session-timeout> </session-config> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/org.rhq.enterprise.gui.gwt.RHQPortal/RHQDomain.css b/modules/enterprise/gui/portal-war/src/main/webapp/org.rhq.enterprise.gui.gwt.RHQPortal/RHQDomain.css deleted file mode 100644 index a111f82..0000000 --- a/modules/enterprise/gui/portal-war/src/main/webapp/org.rhq.enterprise.gui.gwt.RHQPortal/RHQDomain.css +++ /dev/null @@ -1,7 +0,0 @@ -body { - background-color: white; - color: black; - font-family: Arial, sans-serif; - font-size: small; - margin: 8px; -} diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/org.rhq.enterprise.gui.gwt.RHQPortal/RHQDomain.html b/modules/enterprise/gui/portal-war/src/main/webapp/org.rhq.enterprise.gui.gwt.RHQPortal/RHQDomain.html deleted file mode 100644 index 3878eb5..0000000 --- a/modules/enterprise/gui/portal-war/src/main/webapp/org.rhq.enterprise.gui.gwt.RHQPortal/RHQDomain.html +++ /dev/null @@ -1,10 +0,0 @@ -<html> -<head> - <title>RHQDomain Application</title> - <link rel="stylesheet" href="RHQDomain.css"> -</head> -<body> -<script type="text/javascript" language="javascript" src="org.rhq.core.RHQDomain.nocache.js"></script> -<h1>RHQDomain Application</h1> -</body> -</html> diff --git a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/discovery/queue.xhtml b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/discovery/queue.xhtml index ae58f09..c283940 100644 --- a/modules/enterprise/gui/portal-war/src/main/webapp/rhq/discovery/queue.xhtml +++ b/modules/enterprise/gui/portal-war/src/main/webapp/rhq/discovery/queue.xhtml @@ -29,6 +29,11 @@
<ui:define name="body">
+ + <iframe src="/coregui/CoreGUI.html"></iframe> + + + <script language="JavaScript" type="text/javascript"> //<![CDATA[ // checks all the boxes diff --git a/modules/enterprise/gwt/web/WEB-INF/web.xml b/modules/enterprise/gwt/web/WEB-INF/web.xml deleted file mode 100644 index 1369345..0000000 --- a/modules/enterprise/gwt/web/WEB-INF/web.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<web-app xmlns="http://java.sun.com/xml/ns/javaee" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://java.sun.com/xml/ns/javaee - http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" - version="2.5"> - -</web-app> diff --git a/modules/enterprise/gwt/web/index.jsp b/modules/enterprise/gwt/web/index.jsp deleted file mode 100644 index 8cfe398..0000000 --- a/modules/enterprise/gwt/web/index.jsp +++ /dev/null @@ -1,12 +0,0 @@ -<%-- - Created by IntelliJ IDEA. - User: ghinkle - Date: Jan 22, 2010 - Time: 12:48:37 PM - To change this template use File | Settings | File Templates. ---%> -<%@ page contentType="text/html;charset=UTF-8" language="java" %> -<html> - <head><title>Simple jsp page</title></head> - <body>Place your content here</body> -</html> \ No newline at end of file diff --git a/modules/enterprise/server/jar/src/main/java/META-INF/MANIFEST.MF b/modules/enterprise/server/jar/src/main/java/META-INF/MANIFEST.MF index 4c71d9a..538ff09 100644 --- a/modules/enterprise/server/jar/src/main/java/META-INF/MANIFEST.MF +++ b/modules/enterprise/server/jar/src/main/java/META-INF/MANIFEST.MF @@ -1,14 +1,42 @@ -Manifest-Version: 1.0 -Class-Path: i18nlog-1.0.9.jar junit-3.8.1.jar rhq-enterprise-comm-1.4. - 0-SNAPSHOT.jar rhq-core-util-1.4.0-SNAPSHOT.jar jdom-1.0.jar rhq-core - -comm-api-1.4.0-SNAPSHOT.jar dom4j-1.6.1-jboss.jar getopt-1.0.13.jar - jboss-remoting-2.2.2.SP8.jar jboss-serialization-1.0.3.GA.jar concurr - ent-1.3.4.jar rhq-enterprise-server-xml-schemas-1.4.0-SNAPSHOT.jar rh - q-core-client-api-1.4.0-SNAPSHOT.jar jaxb-impl-2.1.6.jar rhq-core-dbu - tils-1.4.0-SNAPSHOT.jar ant-1.6.5.jar safe-invoker-1.4.0-SNAPSHOT.jar - jbossws-native-core-3.1.1.GA.jar jbossws-spi-1.1.1.GA.jar commons-be - anutils-1.6.1.jar commons-collections-3.2.jar commons-httpclient-3.0. - 1.jar commons-codec-1.2.jar commons-validator-1.1.4.jar xml-apis-1.0. - b2.jar jboss-cache-1.4.1.SP9.jar jbpm-3.1.1.jar snmp4j-1.8.2.jar post - gresql-8.4-701.jdbc3.jar rss4j-0.92-on.2.jar - +Manifest-Version: 1.0 +Class-Path: i18nlog-1.0.9.jar junit-3.8.1.jar rhq-enterprise-comm-1.4. + 0-SNAPSHOT.jar rhq-core-util-1.4.0-SNAPSHOT.jar jdom-1.0.jar rhq-core + -comm-api-1.4.0-SNAPSHOT.jar dom4j-1.6.1-jboss.jar getopt-1.0.13.jar + jboss-remoting-2.2.2.SP8.jar jboss-serialization-1.0.3.GA.jar concurr + ent-1.3.4.jar rhq-enterprise-server-xml-schemas-1.4.0-SNAPSHOT.jar rh + q-core-client-api-1.4.0-SNAPSHOT.jar jaxb-impl-2.1.6.jar rhq-core-dbu + tils-1.4.0-SNAPSHOT.jar ant-1.6.5.jar safe-invoker-1.4.0-SNAPSHOT.jar + jbossws-native-core-3.1.1.GA.jar jbossws-spi-1.1.1.GA.jar commons-be + anutils-1.6.1.jar commons-collections-3.2.jar commons-httpclient-3.0. + 1.jar commons-codec-1.2.jar commons-validator-1.1.4.jar xml-apis-1.0. + b2.jar jboss-cache-1.4.1.SP9.jar jbpm-3.1.1.jar snmp4j-1.8.2.jar post + gresql-8.4-701.jdbc3.jar rss4j-0.92-on.2.jar lib/postgresql-8.4-701.j + dbc3.jar lib/i18nlog-1.0.9.jar lib/log4j-1.2.14.jar lib/hibernate-ann + otations-3.2.1.GA.jar lib/jboss-system-4.2.3.GA.jar lib/commons-valid + ator-1.1.4.jar lib/concurrent-1.3.4.jar lib/junit-3.8.1.jar lib/catal + ina-5.5.20.jar lib/hibernate-entitymanager-3.2.1.GA.jar lib/persisten + ce-api-1.0.jar lib/quartz-oracle-1.6.5.jar lib/rss4j-0.92-on.2.jar li + b/easymockclassextension-2.2.jar lib/easymock-2.2.jar lib/cglib-nodep + -2.1_3.jar lib/snmp4j-1.8.2.jar lib/jboss-annotations-ejb3-4.2.3.GA.j + ar lib/xalan-2.5.1.jar lib/jboss-cache-1.4.1.SP9.jar lib/hibernate3-3 + .2.r14201-2.jar lib/rhq-core-util.jar lib/jdom-1.0.jar lib/jaxb-api-2 + .1.jar lib/stax-api-1.0-2.jar lib/activation-1.1.jar lib/annotations- + 7.0.2.jar lib/commons-logging-1.1.0.jboss.jar lib/jboss-ejb3-all-1.0. + 0.Alpha9.jar lib/rhq-enterprise-server-xml-schemas.jar lib/rhq-core-c + lient-api.jar lib/jaxb-impl-2.1.6.jar lib/antlr-2.7.7.jar lib/quartz- + 1.6.5.jar lib/jboss-j2ee-4.2.3.GA.jar lib/rhq-enterprise-comm.jar lib + /rhq-core-comm-api.jar lib/dom4j-1.6.1-jboss.jar lib/getopt-1.0.13.ja + r lib/jboss-common-1.2.1.GA.jar lib/jboss-jmx-4.2.3.GA.jar lib/jboss- + remoting-2.2.2.SP8.jar lib/jboss-serialization-1.0.3.GA.jar lib/jsp-a + pi-2.0.jar lib/servlet-api-2.4.jar lib/xml-apis-1.0.b2.jar lib/testng + -5.9-jdk15.jar lib/commons-beanutils-1.6.1.jar lib/commons-collection + s-3.2.jar lib/commons-httpclient-3.0.1.jar lib/commons-codec-1.2.jar + lib/commons-lang-2.4.jar lib/mail-1.3.1.jar lib/trove-1.0.2.jar lib/j + bpm-3.1.1.jar lib/javassist-3.8.0.GA.jar lib/jbosssx-4.2.3.GA.jar lib + /safe-invoker.jar lib/jbossws-native-core-3.1.1.GA.jar lib/jbossws-sp + i-1.1.1.GA.jar lib/rhq-core-dbutils.jar lib/ant-1.6.5.jar lib/jboss-e + jb3x-4.2.3.GA.jar lib/tomcat-jk-4.1.31.jar lib/test-utils.jar lib/jmo + ck-2.5.1.jar lib/hamcrest-core-1.1.jar lib/hamcrest-library-1.1.jar l + ib/xercesImpl-2.8.1.jar lib/jboss-jta-4.2.3.SP7.jar lib/jboss-jts-com + mon-4.2.3.SP7.jar lib/rhq-core-domain.jar + diff --git a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java index 1bc91f0..72b3abd 100644 --- a/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java +++ b/modules/enterprise/server/jar/src/main/java/org/rhq/enterprise/server/util/CriteriaQueryGenerator.java @@ -313,9 +313,9 @@ public final class CriteriaQueryGenerator { } } } - for (String entry : results) { - LOG.info("Fetch: (" + entry + ")"); - } +// for (String entry : results) { +// LOG.info("Fetch: (" + entry + ")"); +// } return results; }
@@ -357,9 +357,9 @@ public final class CriteriaQueryGenerator { results.put(getCleansedFieldName(filterField, 6), filterFieldValue); } } - for (Map.Entry<String, Object> entries : results.entrySet()) { - LOG.info("Filter: (" + entries.getKey() + ", " + entries.getValue() + ")"); - } +// for (Map.Entry<String, Object> entries : results.entrySet()) { +// LOG.info("Filter: (" + entries.getKey() + ", " + entries.getValue() + ")"); +// } return results; }