Initial import.
git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/admin/vre-definition@128733 82a268e6-3cf1-43bd-a215-b396298e98cf
39
.classpath
|
@ -1,39 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<classpath>
|
|
||||||
<classpathentry kind="src" output="target/vre-definition-4.4.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="optional" value="true"/>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry including="**/*.java" kind="src" output="src/main/webapp/WEB-INF/classes" path="src/main/resources"/>
|
|
||||||
<classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
|
|
||||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="optional" value="true"/>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="output" path="target/vre-definition-4.4.0-SNAPSHOT/WEB-INF/classes"/>
|
|
||||||
</classpath>
|
|
59
.project
|
@ -1,59 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<projectDescription>
|
|
||||||
<name>vre-definition</name>
|
|
||||||
<comment>vre-definition project</comment>
|
|
||||||
<projects>
|
|
||||||
</projects>
|
|
||||||
<buildSpec>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.wst.common.project.facet.core.builder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.wst.validation.validationbuilder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.maven.ide.eclipse.maven2Builder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>com.google.gdt.eclipse.core.webAppProjectValidator</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>com.google.gwt.eclipse.core.gwtProjectValidator</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
|
||||||
<natures>
|
|
||||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
|
||||||
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
|
|
||||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
|
|
||||||
<nature>org.maven.ide.eclipse.maven2Nature</nature>
|
|
||||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
|
||||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
|
|
||||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
|
||||||
<nature>com.google.gwt.eclipse.core.gwtNature</nature>
|
|
||||||
</natures>
|
|
||||||
</projectDescription>
|
|
|
@ -1,15 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<classpath>
|
|
||||||
<classpathentry kind="src" path="src/main/webapp" />
|
|
||||||
<classpathentry kind="con"
|
|
||||||
path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER" />
|
|
||||||
<classpathentry kind="con"
|
|
||||||
path="org.eclipse.wst.jsdt.launching.WebProject">
|
|
||||||
<attributes>
|
|
||||||
<attribute name="hide" value="true" />
|
|
||||||
</attributes>
|
|
||||||
</classpathentry>
|
|
||||||
<classpathentry kind="con"
|
|
||||||
path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary" />
|
|
||||||
<classpathentry kind="output" path="" />
|
|
||||||
</classpath>
|
|
|
@ -1,3 +0,0 @@
|
||||||
#Thu Jun 16 10:18:26 CEST 2011
|
|
||||||
eclipse.preferences.version=1
|
|
||||||
filesCopiedToWebInfLib=
|
|
|
@ -1,5 +0,0 @@
|
||||||
eclipse.preferences.version=1
|
|
||||||
jarsExcludedFromWebInfLib=
|
|
||||||
lastWarOutDir=/Users/massi/Documents/workspace/vre-definition/target/vre-definition-4.3.0-SNAPSHOT
|
|
||||||
warSrcDir=src/main/webapp
|
|
||||||
warSrcDirIsOutput=false
|
|
|
@ -1,4 +0,0 @@
|
||||||
eclipse.preferences.version=1
|
|
||||||
entryPointModules=org.gcube.portlets.admin.vredefinition.VREDefinition
|
|
||||||
filesCopiedToWebInfLib=gwt-servlet.jar
|
|
||||||
gwtCompileSettings=PGd3dC1jb21waWxlLXNldHRpbmdzPjxsb2ctbGV2ZWw+SU5GTzwvbG9nLWxldmVsPjxvdXRwdXQtc3R5bGU+T0JGVVNDQVRFRDwvb3V0cHV0LXN0eWxlPjxleHRyYS1hcmdzPjwhW0NEQVRBWy13YXIgc3JjL21haW4vd2ViYXBwXV0+PC9leHRyYS1hcmdzPjx2bS1hcmdzPjwhW0NEQVRBWy1YbXg1MTJtXV0+PC92bS1hcmdzPjxlbnRyeS1wb2ludC1tb2R1bGU+Y29tLmNvbXBhbnkuU29tZU1vZHVsZTwvZW50cnktcG9pbnQtbW9kdWxlPjwvZ3d0LWNvbXBpbGUtc2V0dGluZ3M+
|
|
|
@ -1,6 +0,0 @@
|
||||||
eclipse.preferences.version=1
|
|
||||||
encoding//src/main/java=UTF-8
|
|
||||||
encoding//src/main/resources=UTF-8
|
|
||||||
encoding//src/test/java=UTF-8
|
|
||||||
encoding//src/test/resources=UTF-8
|
|
||||||
encoding/<project>=UTF-8
|
|
|
@ -1,8 +0,0 @@
|
||||||
eclipse.preferences.version=1
|
|
||||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
|
||||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
|
|
||||||
org.eclipse.jdt.core.compiler.compliance=1.5
|
|
||||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
|
||||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
|
||||||
org.eclipse.jdt.core.compiler.source=1.5
|
|
|
@ -1,3 +0,0 @@
|
||||||
eclipse.preferences.version=1
|
|
||||||
validateFragments=false
|
|
||||||
validation.use-project-settings=true
|
|
|
@ -1,4 +0,0 @@
|
||||||
activeProfiles=
|
|
||||||
eclipse.preferences.version=1
|
|
||||||
resolveWorkspaceProjects=true
|
|
||||||
version=1
|
|
|
@ -1,14 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
|
||||||
<wb-module deploy-name="vre-definition-portlet">
|
|
||||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
|
||||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/gwt"/>
|
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
|
||||||
<dependent-module archiveName="aslvre-5.2.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/asl-vre/asl-vre">
|
|
||||||
<dependency-type>uses</dependency-type>
|
|
||||||
</dependent-module>
|
|
||||||
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes"/>
|
|
||||||
<property name="context-root" value="vre-definition"/>
|
|
||||||
</wb-module>
|
|
||||||
</project-modules>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<faceted-project>
|
|
||||||
<fixed facet="wst.jsdt.web"/>
|
|
||||||
<installed facet="jst.web" version="2.3"/>
|
|
||||||
<installed facet="wst.jsdt.web" version="1.0"/>
|
|
||||||
<installed facet="java" version="1.5"/>
|
|
||||||
<installed facet="liferay.portlet" version="6.0"/>
|
|
||||||
</faceted-project>
|
|
|
@ -1 +0,0 @@
|
||||||
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
|
|
@ -1,2 +0,0 @@
|
||||||
disabled=06target
|
|
||||||
eclipse.preferences.version=1
|
|
|
@ -1,9 +0,0 @@
|
||||||
#Thu Sep 02 10:42:12 CEST 2010
|
|
||||||
activeProfiles=
|
|
||||||
eclipse.preferences.version=1
|
|
||||||
fullBuildGoals=process-test-resources
|
|
||||||
includeModules=false
|
|
||||||
resolveWorkspaceProjects=true
|
|
||||||
resourceFilterGoals=process-resources resources\\:testResources
|
|
||||||
skipCompilerPlugin=true
|
|
||||||
version=1
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<launchConfiguration type="com.google.gwt.eclipse.core.launch.gwtJUnit">
|
|
||||||
<stringAttribute key="com.google.gwt.eclipse.core.LOG_LEVEL" value="INFO"/>
|
|
||||||
<booleanAttribute key="com.google.gwt.eclipse.core.NOT_HEADLESS" value="false"/>
|
|
||||||
<stringAttribute key="com.google.gwt.eclipse.core.OUT_DIR" value="www-test"/>
|
|
||||||
<booleanAttribute key="com.google.gwt.eclipse.core.STANDARDS_MODE" value="false"/>
|
|
||||||
<stringAttribute key="com.google.gwt.eclipse.core.STYLE" value="OBFUSCATED"/>
|
|
||||||
<stringAttribute key="com.google.gwt.eclipse.core.WEB_MODE" value="false"/>
|
|
||||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
|
||||||
<listEntry value="/vre-definition/src/test/java/org/gcube/portlets/admin/vredefinition/client/GwtTestVREDefinition.java"/>
|
|
||||||
</listAttribute>
|
|
||||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
|
||||||
<listEntry value="1"/>
|
|
||||||
</listAttribute>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
|
|
||||||
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gdt.eclipse.maven.mavenClasspathProvider"/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.gcube.portlets.admin.vredefinition.client.GwtTestVREDefinition"/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="vre-definition"/>
|
|
||||||
</launchConfiguration>
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<launchConfiguration type="com.google.gwt.eclipse.core.launch.gwtJUnit">
|
|
||||||
<stringAttribute key="com.google.gwt.eclipse.core.LOG_LEVEL" value="INFO"/>
|
|
||||||
<booleanAttribute key="com.google.gwt.eclipse.core.NOT_HEADLESS" value="false"/>
|
|
||||||
<stringAttribute key="com.google.gwt.eclipse.core.OUT_DIR" value="www-test"/>
|
|
||||||
<booleanAttribute key="com.google.gwt.eclipse.core.STANDARDS_MODE" value="false"/>
|
|
||||||
<stringAttribute key="com.google.gwt.eclipse.core.STYLE" value="OBFUSCATED"/>
|
|
||||||
<stringAttribute key="com.google.gwt.eclipse.core.WEB_MODE" value="true"/>
|
|
||||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
|
|
||||||
<listEntry value="/vre-definition/src/test/java/org/gcube/portlets/admin/vredefinition/client/GwtTestVREDefinition.java"/>
|
|
||||||
</listAttribute>
|
|
||||||
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
|
|
||||||
<listEntry value="1"/>
|
|
||||||
</listAttribute>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
|
|
||||||
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="com.google.gdt.eclipse.maven.mavenClasspathProvider"/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.gcube.portlets.admin.vredefinition.client.GwtTestVREDefinition"/>
|
|
||||||
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="vre-definition"/>
|
|
||||||
</launchConfiguration>
|
|
|
@ -1 +0,0 @@
|
||||||
${gcube.license}
|
|
|
@ -1,67 +0,0 @@
|
||||||
The gCube System - ${name}
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
${description}
|
|
||||||
|
|
||||||
|
|
||||||
${gcube.description}
|
|
||||||
|
|
||||||
${gcube.funding}
|
|
||||||
|
|
||||||
|
|
||||||
Version
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
${version} (${buildDate})
|
|
||||||
|
|
||||||
Please see the file named "changelog.xml" in this directory for the release notes.
|
|
||||||
|
|
||||||
|
|
||||||
Authors
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
* Massimiliano Assante (massimiliano.assante-AT-isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Maintainers
|
|
||||||
-----------
|
|
||||||
|
|
||||||
* Massimiliano Assante (massimiliano.assante-AT-isti.cnr.it), Istituto di Scienza e Tecnologie dell'Informazione "A. Faedo" - CNR, Pisa (Italy).
|
|
||||||
|
|
||||||
|
|
||||||
Download information
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
Source code is available from SVN:
|
|
||||||
${scm.url}
|
|
||||||
|
|
||||||
Binaries can be downloaded from the gCube website:
|
|
||||||
${gcube.website}
|
|
||||||
|
|
||||||
|
|
||||||
Installation
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
Installation documentation is available on-line in the gCube Wiki:
|
|
||||||
${gcube.wikiRoot}/
|
|
||||||
|
|
||||||
|
|
||||||
Documentation
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
Documentation is available on-line in the gCube Wiki:
|
|
||||||
${gcube.wikiRoot}/
|
|
||||||
${gcube.wikiRoot}/
|
|
||||||
|
|
||||||
Support
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
Bugs and support requests can be reported in the gCube issue tracking tool:
|
|
||||||
${gcube.issueTracking}
|
|
||||||
|
|
||||||
|
|
||||||
Licensing
|
|
||||||
--------------------------------------------------
|
|
||||||
|
|
||||||
This software is licensed under the terms you may find in the file named "LICENSE" in this directory.
|
|
|
@ -1,23 +0,0 @@
|
||||||
<ReleaseNotes>
|
|
||||||
<Changeset component="org.gcube.portlets-admin.vre-definition.4-4-0" date="2015-10-06">
|
|
||||||
<Change>Fixed Bug #918 Edit mode is buggy</Change>
|
|
||||||
</Changeset>
|
|
||||||
<Changeset component="org.gcube.portlets-admin.vre-definition.4-3-0" date="2014-06-06">
|
|
||||||
<Change>Ported to Feather Weight Stack Portal</Change>
|
|
||||||
</Changeset>
|
|
||||||
<Changeset component="org.gcube.portlets-admin.vre-definition.4-1-0" date="2013-10-21">
|
|
||||||
<Change>Integrated Social Notifications for VRE Creations</Change>
|
|
||||||
<Change>Ported to Feather Weight Stack</Change>
|
|
||||||
<Change>Removed GCF Dependency</Change>
|
|
||||||
<Change>Logging with sl4j Enabled</Change>
|
|
||||||
</Changeset>
|
|
||||||
<Changeset component="org.gcube.portlets-admin.vre-definition.3-5-0" date="2012-09-21">
|
|
||||||
<Change>Adapted to the new resource manager</Change>
|
|
||||||
<Change>Step collections removed ad no longer necessary</Change>
|
|
||||||
</Changeset>
|
|
||||||
<Changeset component="org.gcube.portlets-admin.vre-definition.3-4-0" date="2012-02-17">
|
|
||||||
<Change>Adapted to GWT 2.4</Change>
|
|
||||||
<Change>Minor Interface Restyling</Change>
|
|
||||||
<Change>Added log actions for creation and open</Change>
|
|
||||||
</Changeset>
|
|
||||||
</ReleaseNotes>
|
|
|
@ -1,42 +0,0 @@
|
||||||
<assembly
|
|
||||||
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
|
|
||||||
<id>servicearchive</id>
|
|
||||||
<formats>
|
|
||||||
<format>tar.gz</format>
|
|
||||||
</formats>
|
|
||||||
<baseDirectory>/</baseDirectory>
|
|
||||||
<fileSets>
|
|
||||||
<fileSet>
|
|
||||||
<directory>${distroDirectory}</directory>
|
|
||||||
<outputDirectory>/</outputDirectory>
|
|
||||||
<useDefaultExcludes>true</useDefaultExcludes>
|
|
||||||
<includes>
|
|
||||||
<include>README</include>
|
|
||||||
<include>LICENSE</include>
|
|
||||||
<include>changelog.xml</include>
|
|
||||||
<include>profile.xml</include>
|
|
||||||
</includes>
|
|
||||||
<fileMode>755</fileMode>
|
|
||||||
<filtered>true</filtered>
|
|
||||||
</fileSet>
|
|
||||||
<fileSet>
|
|
||||||
<directory>target/apidocs</directory>
|
|
||||||
<outputDirectory>/${artifactId}/doc/api</outputDirectory>
|
|
||||||
<useDefaultExcludes>true</useDefaultExcludes>
|
|
||||||
<fileMode>755</fileMode>
|
|
||||||
</fileSet>
|
|
||||||
</fileSets>
|
|
||||||
<files>
|
|
||||||
<file>
|
|
||||||
<source>${distroDirectory}/profile.xml</source>
|
|
||||||
<outputDirectory>./</outputDirectory>
|
|
||||||
<filtered>true</filtered>
|
|
||||||
</file>
|
|
||||||
<file>
|
|
||||||
<source>target/${build.finalName}.war</source>
|
|
||||||
<outputDirectory>/${artifactId}</outputDirectory>
|
|
||||||
</file>
|
|
||||||
</files>
|
|
||||||
</assembly>
|
|
|
@ -1,25 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<Resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<ID></ID>
|
|
||||||
<Type>Service</Type>
|
|
||||||
<Profile>
|
|
||||||
<Description>${description}</Description>
|
|
||||||
<Class>PortletUser</Class>
|
|
||||||
<Name>${artifactId}</Name>
|
|
||||||
<Version>${version}</Version>
|
|
||||||
<Packages>
|
|
||||||
<Software>
|
|
||||||
<Name>${artifactId}</Name>
|
|
||||||
<Version>${version}</Version>
|
|
||||||
<MavenCoordinates>
|
|
||||||
<groupId>${groupId}</groupId>
|
|
||||||
<artifactId>${artifactId}</artifactId>
|
|
||||||
<version>${version}</version>
|
|
||||||
</MavenCoordinates>
|
|
||||||
<Files>
|
|
||||||
<File>target/${build.finalName}.war</File>
|
|
||||||
</Files>
|
|
||||||
</Software>
|
|
||||||
</Packages>
|
|
||||||
</Profile>
|
|
||||||
</Resource>
|
|
238
pom.xml
|
@ -1,238 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<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>
|
|
||||||
<artifactId>maven-parent</artifactId>
|
|
||||||
<groupId>org.gcube.tools</groupId>
|
|
||||||
<version>1.0.0</version>
|
|
||||||
<relativePath />
|
|
||||||
</parent>
|
|
||||||
|
|
||||||
<groupId>org.gcube.portlets.admin</groupId>
|
|
||||||
<artifactId>vre-definition</artifactId>
|
|
||||||
<packaging>war</packaging>
|
|
||||||
<version>4.4.0-SNAPSHOT</version>
|
|
||||||
<name>VRE Definition Portlet</name>
|
|
||||||
<description>
|
|
||||||
gCube VRE Definition Portlet shows a Wizard to create VREs.
|
|
||||||
</description>
|
|
||||||
<scm>
|
|
||||||
<connection>scm:svn:http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/${project.artifactId}</connection>
|
|
||||||
<developerConnection>scm:https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/${project.artifactId}</developerConnection>
|
|
||||||
<url>http://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/admin/${project.artifactId}</url>
|
|
||||||
</scm>
|
|
||||||
<properties>
|
|
||||||
<!-- Convenience property to set the GWT version -->
|
|
||||||
<gwtVersion>2.5.1</gwtVersion>
|
|
||||||
<distroDirectory>distro</distroDirectory>
|
|
||||||
<maven.compiler.source>1.7</maven.compiler.source>
|
|
||||||
<maven.compiler.target>1.7</maven.compiler.target>
|
|
||||||
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
|
|
||||||
|
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
|
||||||
</properties>
|
|
||||||
<dependencyManagement>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.distribution</groupId>
|
|
||||||
<artifactId>maven-portal-bom</artifactId>
|
|
||||||
<version>LATEST</version>
|
|
||||||
<type>pom</type>
|
|
||||||
<scope>import</scope>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</dependencyManagement>
|
|
||||||
<dependencies>
|
|
||||||
<!-- This dependency is needed to use GWT UI BInder without old Xerces
|
|
||||||
version of gCore complaining -->
|
|
||||||
<dependency>
|
|
||||||
<groupId>xerces</groupId>
|
|
||||||
<artifactId>xercesImpl</artifactId>
|
|
||||||
<version>2.9.1</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.google.gwt</groupId>
|
|
||||||
<artifactId>gwt-user</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.applicationsupportlayer</groupId>
|
|
||||||
<artifactId>aslcore</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.applicationsupportlayer</groupId>
|
|
||||||
<artifactId>aslvre</artifactId>
|
|
||||||
<version>[5.2.0-SNAPSHOT,)</version>
|
|
||||||
<scope>compile</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.applicationsupportlayer</groupId>
|
|
||||||
<artifactId>aslsocial</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.common</groupId>
|
|
||||||
<artifactId>home-library</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.portlets.user</groupId>
|
|
||||||
<artifactId>gcube-widgets</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.portal</groupId>
|
|
||||||
<artifactId>custom-portal-handler</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.core</groupId>
|
|
||||||
<artifactId>common-scope-maps</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.vremanagement</groupId>
|
|
||||||
<artifactId>vremodeler-client-library</artifactId>
|
|
||||||
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.sencha.gxt</groupId>
|
|
||||||
<artifactId>gxt</artifactId>
|
|
||||||
<version>2.2.5</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.gcube.dvos</groupId>
|
|
||||||
<artifactId>usermanagement-core</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>com.liferay.portal</groupId>
|
|
||||||
<artifactId>portal-service</artifactId>
|
|
||||||
<version>6.0.6</version>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>javax.portlet</groupId>
|
|
||||||
<artifactId>portlet-api</artifactId>
|
|
||||||
<scope>provided</scope>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>log4j</groupId>
|
|
||||||
<artifactId>log4j</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>slf4j-log4j12</artifactId>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.slf4j</groupId>
|
|
||||||
<artifactId>slf4j-api</artifactId>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
|
|
||||||
<build>
|
|
||||||
<!-- Generate compiled stuff in the folder used for developing mode -->
|
|
||||||
<outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
|
|
||||||
|
|
||||||
<plugins>
|
|
||||||
<!-- GWT Maven Plugin -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.codehaus.mojo</groupId>
|
|
||||||
<artifactId>gwt-maven-plugin</artifactId>
|
|
||||||
<version>${gwtVersion}</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<goals>
|
|
||||||
<goal>compile</goal>
|
|
||||||
<!-- <goal>test</goal> -->
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
<!-- Plugin configuration. There are many available options, see gwt-maven-plugin
|
|
||||||
documentation at codehaus.org -->
|
|
||||||
<configuration>
|
|
||||||
<runTarget>VREDefinition.html</runTarget>
|
|
||||||
<hostedWebapp>${webappDirectory}</hostedWebapp>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<!-- Copy static web files before executing gwt:run -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-war-plugin</artifactId>
|
|
||||||
<version>2.1.1</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<phase>compile</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>exploded</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
<configuration>
|
|
||||||
<webappDirectory>${webappDirectory}</webappDirectory>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-compiler-plugin</artifactId>
|
|
||||||
<version>2.3.2</version>
|
|
||||||
<configuration>
|
|
||||||
<source>1.5</source>
|
|
||||||
<target>1.5</target>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<!-- SA Plugin -->
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-assembly-plugin</artifactId>
|
|
||||||
<version>2.2</version>
|
|
||||||
<configuration>
|
|
||||||
<descriptors>
|
|
||||||
<descriptor>${distroDirectory}/descriptor.xml</descriptor>
|
|
||||||
</descriptors>
|
|
||||||
</configuration>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>servicearchive</id>
|
|
||||||
<phase>install</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>single</goal>
|
|
||||||
</goals>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-resources-plugin</artifactId>
|
|
||||||
<version>2.5</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>copy-profile</id>
|
|
||||||
<phase>install</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>copy-resources</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<outputDirectory>target</outputDirectory>
|
|
||||||
<resources>
|
|
||||||
<resource>
|
|
||||||
<directory>${distroDirectory}</directory>
|
|
||||||
<filtering>true</filtering>
|
|
||||||
<includes>
|
|
||||||
<include>profile.xml</include>
|
|
||||||
</includes>
|
|
||||||
</resource>
|
|
||||||
</resources>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
|
|
||||||
</project>
|
|
|
@ -1,371 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.BackButtonEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.BackButtonEventHandler;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.ExternalResourceSelectionEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.ExternalResourceSelectionEventHandler;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.NextButtonEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.NextButtonEventHandler;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.TreeNodeFunctionalityEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.TreeNodeFunctionalityEventHandler;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.TreeNodeWizardMenuEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.TreeNodeWizardMenuEventHandler;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREDefinitionModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.WizardStepType;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.Presenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREDefinitionPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREDescriptionPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREFinishWizardPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREFunctionalitiesPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREInfoFunctionalitiesPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.WizardActionsPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.WizardMenuViewPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.view.VREDefinitionView;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.view.VREDescriptionView;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.view.VREFinishWizardView;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.view.VREFunctionalitiesView;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.view.VREInfoFunctionalitiesView;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.view.WizardActionsView;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.view.WizardMenuView;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ExternalResourceModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VREDescriptionBean;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelData;
|
|
||||||
import com.extjs.gxt.ui.client.event.Listener;
|
|
||||||
import com.extjs.gxt.ui.client.event.MessageBoxEvent;
|
|
||||||
import com.extjs.gxt.ui.client.widget.MessageBox;
|
|
||||||
import com.extjs.gxt.ui.client.widget.button.Button;
|
|
||||||
import com.google.gwt.core.client.GWT;
|
|
||||||
import com.google.gwt.event.logical.shared.ResizeEvent;
|
|
||||||
import com.google.gwt.event.logical.shared.ResizeHandler;
|
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
|
||||||
import com.google.gwt.user.client.Window;
|
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
||||||
import com.google.gwt.user.client.ui.RootPanel;
|
|
||||||
|
|
||||||
|
|
||||||
public class AppController {
|
|
||||||
|
|
||||||
private final VREDefinitionModel vreModel = new VREDefinitionModel();
|
|
||||||
|
|
||||||
private final HandlerManager eventBus;
|
|
||||||
|
|
||||||
private VREDefinitionPresenter vreDefPresenter;
|
|
||||||
private Presenter upCenterPanelPresenter;
|
|
||||||
private WizardActionsPresenter wizardActionsPresenter;
|
|
||||||
private WizardMenuViewPresenter wizardMenuPresenter;
|
|
||||||
|
|
||||||
private RootPanel container;
|
|
||||||
|
|
||||||
private HashMap<String, List<ExternalResourceModel>> funcToExternalResources = new HashMap<String, List<ExternalResourceModel>>();
|
|
||||||
|
|
||||||
public List<ExternalResourceModel> getExtResourcesFromApp(String funcId) {
|
|
||||||
return funcToExternalResources.get(funcId);
|
|
||||||
}
|
|
||||||
|
|
||||||
public HandlerManager getBus() {
|
|
||||||
return eventBus;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static AppController singleton;
|
|
||||||
|
|
||||||
public static AppController getAppController() {
|
|
||||||
return singleton;
|
|
||||||
}
|
|
||||||
|
|
||||||
private final VREDefinitionServiceAsync rpcService;
|
|
||||||
|
|
||||||
public AppController(VREDefinitionServiceAsync rpcService, HandlerManager eventBus) {
|
|
||||||
singleton = this;
|
|
||||||
this.rpcService = rpcService;
|
|
||||||
this.eventBus = eventBus;
|
|
||||||
bind();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void go(RootPanel container) {
|
|
||||||
|
|
||||||
this.container = container;
|
|
||||||
|
|
||||||
final VREDefinitionView mainView = new VREDefinitionView();
|
|
||||||
vreDefPresenter = new VREDefinitionPresenter(mainView);
|
|
||||||
mainView.mask("Loading data ....");
|
|
||||||
vreDefPresenter.go(container);
|
|
||||||
updateSize();
|
|
||||||
|
|
||||||
rpcService.isEditMode(new AsyncCallback<Map<String,Object>>() {
|
|
||||||
public void onFailure(Throwable arg0) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
public void onSuccess(Map<String, Object> map) {
|
|
||||||
|
|
||||||
if(map != null) {
|
|
||||||
vreModel.setEditMode();
|
|
||||||
VREFunctionalityModel functionalities = (VREFunctionalityModel)map.get("functionalities");
|
|
||||||
vreModel.setVREFunctionalities(functionalities.getChildren());
|
|
||||||
}
|
|
||||||
|
|
||||||
WizardActionsView bottomView = new WizardActionsView(mainView.getBottomCenterPanel());
|
|
||||||
wizardActionsPresenter = new WizardActionsPresenter(eventBus, bottomView);
|
|
||||||
wizardActionsPresenter.go(mainView.getBottomCenterPanel());
|
|
||||||
wizardActionsPresenter.setStepWizard(vreModel.getWizardStep());
|
|
||||||
|
|
||||||
mainView.unmask();
|
|
||||||
goStepWizard();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void bind() {
|
|
||||||
eventBus.addHandler(ExternalResourceSelectionEvent.TYPE, new ExternalResourceSelectionEventHandler() {
|
|
||||||
|
|
||||||
public void onSelectedExternalResources(ExternalResourceSelectionEvent event) {
|
|
||||||
funcToExternalResources.put(event.getFunctionalityModel().getId(), event.getAssociatedExternalResources());
|
|
||||||
GWT.log("PUT: " + event.getFunctionalityModel()+ " ID->" + event.getFunctionalityModel().getId());
|
|
||||||
for (ExternalResourceModel extRes : event.getAssociatedExternalResources()) {
|
|
||||||
GWT.log(extRes.getName()+extRes.getId()+extRes.isSelected());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
eventBus.addHandler(NextButtonEvent.TYPE, new NextButtonEventHandler() {
|
|
||||||
|
|
||||||
public void onNextButton(NextButtonEvent event) {
|
|
||||||
|
|
||||||
if(vreModel.getWizardStep() == WizardStepType.VREDefinitionEnd)
|
|
||||||
showCreateVREConfirm();
|
|
||||||
else
|
|
||||||
goNextStepWizard();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
eventBus.addHandler(BackButtonEvent.TYPE, new BackButtonEventHandler(){
|
|
||||||
|
|
||||||
public void onBackButton(BackButtonEvent event) {
|
|
||||||
goBackStepWizard();
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
eventBus.addHandler(TreeNodeWizardMenuEvent.TYPE, new TreeNodeWizardMenuEventHandler() {
|
|
||||||
|
|
||||||
public void onClick(TreeNodeWizardMenuEvent event) {
|
|
||||||
|
|
||||||
if(upCenterPanelPresenter.doSave())
|
|
||||||
vreModel.setWizardStep(event.getStepModel().getType());
|
|
||||||
goStepWizard();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
eventBus.addHandler(TreeNodeFunctionalityEvent.TYPE, new TreeNodeFunctionalityEventHandler() {
|
|
||||||
public void onClick(TreeNodeFunctionalityEvent event) {
|
|
||||||
VREFunctionalityModel functionality = event.getFunctionalityModel();
|
|
||||||
vreDefPresenter.display.getEastPanel().setExpanded(true);
|
|
||||||
vreDefPresenter.display.getEastPanel().setVisible(true);
|
|
||||||
|
|
||||||
|
|
||||||
VREInfoFunctionalitiesPresenter infoPresenter = new VREInfoFunctionalitiesPresenter(
|
|
||||||
new VREInfoFunctionalitiesView(functionality, rpcService));
|
|
||||||
|
|
||||||
infoPresenter.go(vreDefPresenter.display.getEastPanel());
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
Window.addResizeHandler(new ResizeHandler() {
|
|
||||||
|
|
||||||
public void onResize(ResizeEvent event) {
|
|
||||||
|
|
||||||
updateSize();
|
|
||||||
|
|
||||||
WizardActionsView bottomView = new WizardActionsView(vreDefPresenter.display.getBottomCenterPanel());
|
|
||||||
wizardActionsPresenter = new WizardActionsPresenter(eventBus, bottomView);
|
|
||||||
wizardActionsPresenter.go(vreDefPresenter.display.getBottomCenterPanel());
|
|
||||||
|
|
||||||
goStepWizard();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateSize() {
|
|
||||||
|
|
||||||
int topBorder = container.getAbsoluteTop();
|
|
||||||
int leftBorder = container.getAbsoluteLeft();
|
|
||||||
|
|
||||||
int rootHeight = Window.getClientHeight() - topBorder;
|
|
||||||
int rootWidth = Window.getClientWidth() - 2* leftBorder;
|
|
||||||
vreDefPresenter.display.asWidget().setHeight(String.valueOf(rootHeight - 40));
|
|
||||||
vreDefPresenter.display.asWidget().setWidth(String.valueOf(rootWidth - 20));
|
|
||||||
vreDefPresenter.display.getUpContainer().setSize(rootWidth - 25, rootHeight - 80);
|
|
||||||
vreDefPresenter.display.getBottomCenterPanel().setSize(rootWidth - 25, 48);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void goNextStepWizard(){
|
|
||||||
|
|
||||||
if(upCenterPanelPresenter.doSave())
|
|
||||||
vreModel.setNextStep();
|
|
||||||
|
|
||||||
goStepWizard();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void goStepWizard() {
|
|
||||||
|
|
||||||
WizardStepType step = vreModel.getWizardStep();
|
|
||||||
vreDefPresenter.display.getEastPanel().setVisible(false);
|
|
||||||
|
|
||||||
switch (step) {
|
|
||||||
case VREDescription:
|
|
||||||
upCenterPanelPresenter = new VREDescriptionPresenter(rpcService,
|
|
||||||
vreModel,new VREDescriptionView());
|
|
||||||
|
|
||||||
break;
|
|
||||||
case VREFunctionalities: {
|
|
||||||
upCenterPanelPresenter = new VREFunctionalitiesPresenter(rpcService,
|
|
||||||
vreModel, eventBus,new VREFunctionalitiesView());
|
|
||||||
|
|
||||||
|
|
||||||
VREInfoFunctionalitiesPresenter infoPresenter = new VREInfoFunctionalitiesPresenter(
|
|
||||||
new VREInfoFunctionalitiesView());
|
|
||||||
|
|
||||||
infoPresenter.go(vreDefPresenter.display.getEastPanel());
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case VREDefinitionEnd:
|
|
||||||
upCenterPanelPresenter = new VREFinishWizardPresenter(new VREFinishWizardView(vreModel.getVREDescriptionBean(), vreModel.getVREFunctionalities()));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
upCenterPanelPresenter.go(vreDefPresenter.display.getUpCenterPanel());
|
|
||||||
|
|
||||||
wizardMenuPresenter = new WizardMenuViewPresenter(eventBus,
|
|
||||||
new WizardMenuView(vreModel.getWizardStepModel()));
|
|
||||||
wizardMenuPresenter.go(vreDefPresenter.display.getwestPanel());
|
|
||||||
|
|
||||||
wizardActionsPresenter.setStepWizard(step);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void goBackStepWizard(){
|
|
||||||
vreModel.setBackStep();
|
|
||||||
goStepWizard();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void showCreateVREConfirm() {
|
|
||||||
|
|
||||||
MessageBox.confirm("Confirm",
|
|
||||||
" The current VRE Definition will be stored in the infrastructure waiting for approval",new Listener<MessageBoxEvent>() {
|
|
||||||
public void handleEvent(MessageBoxEvent ce) {
|
|
||||||
Button btn = ce.getButtonClicked();
|
|
||||||
if(btn.getText().equals("Yes"))
|
|
||||||
createVRE();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private void createVRE() {
|
|
||||||
|
|
||||||
if(!validateVREDescription())
|
|
||||||
return;
|
|
||||||
|
|
||||||
List<ModelData> items = validateVREFunctionalitiesSelected();
|
|
||||||
if(items == null || items.isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
List<String> categoriesIDs = new ArrayList<String>();
|
|
||||||
List<String> functionalitiesIDs = new ArrayList<String>();
|
|
||||||
for(ModelData item : items) {
|
|
||||||
VREFunctionalityModel func = (VREFunctionalityModel)item;
|
|
||||||
if(func.getChildCount() > 0) {
|
|
||||||
|
|
||||||
categoriesIDs.add(func.getId());
|
|
||||||
} else {
|
|
||||||
functionalitiesIDs.add(func.getId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
String[] functionalities = functionalitiesIDs.toArray(new String[functionalitiesIDs.size()]);
|
|
||||||
|
|
||||||
rpcService.setVRE(vreModel.getVREDescriptionBean(), functionalities, funcToExternalResources, new AsyncCallback<String>() {
|
|
||||||
|
|
||||||
public void onSuccess(String arg0) {
|
|
||||||
|
|
||||||
MessageBox.info("VRE Definition", "The VRE is stored on Service for approving", null);
|
|
||||||
|
|
||||||
vreDefPresenter.display.getBottomCenterPanel().setVisible(false);
|
|
||||||
vreDefPresenter.display.getwestPanel().setVisible(false);
|
|
||||||
|
|
||||||
int topBorder = container.getAbsoluteTop();
|
|
||||||
int leftBorder = container.getAbsoluteLeft();
|
|
||||||
|
|
||||||
int rootHeight = Window.getClientHeight() - topBorder;
|
|
||||||
int rootWidth = Window.getClientWidth() - 2* leftBorder;
|
|
||||||
vreDefPresenter.display.asWidget().setHeight(String.valueOf(rootHeight - 40));
|
|
||||||
vreDefPresenter.display.asWidget().setWidth(String.valueOf(rootWidth - 20));
|
|
||||||
vreDefPresenter.display.getUpContainer().setSize(rootWidth - 25, rootHeight - 40);
|
|
||||||
upCenterPanelPresenter.display().setSize(String.valueOf(rootWidth - 35), String.valueOf(rootHeight - 80));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onFailure(Throwable arg0) {
|
|
||||||
MessageBox.alert("VRE Definition", "Error ...", null);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean validateVREDescription(){
|
|
||||||
|
|
||||||
VREDescriptionBean bean = vreModel.getVREDescriptionBean();
|
|
||||||
boolean check = true;
|
|
||||||
if(bean.getName() == null || bean.getName().trim().isEmpty())
|
|
||||||
check = false;
|
|
||||||
if(bean.getDescription() == null || bean.getDescription().trim().isEmpty())
|
|
||||||
check = false;
|
|
||||||
if(bean.getDesigner() == null || bean.getDesigner().trim().isEmpty())
|
|
||||||
check = false;
|
|
||||||
if(bean.getManager() == null || bean.getManager().trim().isEmpty())
|
|
||||||
check = false;
|
|
||||||
if(bean.getStartTime() == null)
|
|
||||||
check = false;
|
|
||||||
if(bean.getEndTime() == null)
|
|
||||||
check = false;
|
|
||||||
|
|
||||||
if(!check) {
|
|
||||||
vreModel.setWizardStep(WizardStepType.VREDescription);
|
|
||||||
goStepWizard();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return check;
|
|
||||||
}
|
|
||||||
|
|
||||||
private List<ModelData> validateVREFunctionalitiesSelected() {
|
|
||||||
|
|
||||||
List<ModelData> items = new ArrayList<ModelData>();
|
|
||||||
List<ModelData> categories = vreModel.getVREFunctionalities();
|
|
||||||
for(ModelData category : categories) {
|
|
||||||
for(ModelData func : ((VREFunctionalityModel)category).getChildren())
|
|
||||||
if (((VREFunctionalityModel)func).isSelected()){
|
|
||||||
items.add(func);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(items.isEmpty()) {
|
|
||||||
vreModel.setWizardStep(WizardStepType.VREFunctionalities);
|
|
||||||
goStepWizard();
|
|
||||||
MessageBox.alert("Alert", "Please, select at least one Functionality", null);
|
|
||||||
}
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,44 +0,0 @@
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
package org.gcube.portlets.admin.vredefinition.client;
|
|
||||||
|
|
||||||
import com.google.gwt.core.client.EntryPoint;
|
|
||||||
import com.google.gwt.core.client.GWT;
|
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
|
||||||
import com.google.gwt.user.client.ui.RootPanel;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author gioia
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class VREDefinition implements EntryPoint {
|
|
||||||
|
|
||||||
public static final String CONTAINER_DIV = "VREDefinitionDIV";
|
|
||||||
|
|
||||||
public void onModuleLoad() {
|
|
||||||
|
|
||||||
HandlerManager eventBus = new HandlerManager(null);
|
|
||||||
VREDefinitionServiceAsync rpcService = GWT.create(VREDefinitionService.class);
|
|
||||||
AppController appController = new AppController(rpcService,eventBus);
|
|
||||||
|
|
||||||
|
|
||||||
appController.go(RootPanel.get(CONTAINER_DIV));
|
|
||||||
|
|
||||||
|
|
||||||
// RootPanel.get(CONTAINER_DIV).add(view);
|
|
||||||
|
|
||||||
//updateSize();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* updateSize
|
|
||||||
*/
|
|
||||||
public void updateSize() {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client;
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ExternalResourceModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VREDescriptionBean;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.exception.VREDefinitionException;
|
|
||||||
|
|
||||||
import com.google.gwt.user.client.rpc.RemoteService;
|
|
||||||
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
|
|
||||||
|
|
||||||
@RemoteServiceRelativePath("VREDefinitionServiceImpl")
|
|
||||||
public interface VREDefinitionService extends RemoteService {
|
|
||||||
ArrayList<ExternalResourceModel> getResourceCategoryByFunctionality(String funcId);
|
|
||||||
/**
|
|
||||||
* @return VRE Existing Names
|
|
||||||
*/
|
|
||||||
String[] getExistingNames();
|
|
||||||
|
|
||||||
Map<String, Object> getVRE() throws VREDefinitionException;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name VRE name
|
|
||||||
* @param description VRE description
|
|
||||||
* @param designer VRE designer
|
|
||||||
* @param manager VRE manager
|
|
||||||
* @param fromDate VRE start date
|
|
||||||
* @param toDate VRE end date
|
|
||||||
* @return OK string if the operation is performed correctly
|
|
||||||
* @throws VREDefinitionException
|
|
||||||
*/
|
|
||||||
String setVRE(VREDescriptionBean bean, String[] functionalityIDs, HashMap<String, List<ExternalResourceModel>> funcToExternalResources) throws VREDefinitionException;
|
|
||||||
|
|
||||||
|
|
||||||
VREFunctionalityModel getFunctionality(boolean isEdit) throws VREDefinitionException;
|
|
||||||
|
|
||||||
Map<String,Object> isEditMode();
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ExternalResourceModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VREDescriptionBean;
|
|
||||||
|
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
||||||
|
|
||||||
public interface VREDefinitionServiceAsync {
|
|
||||||
|
|
||||||
void getExistingNames(AsyncCallback<String[]> callback);
|
|
||||||
|
|
||||||
void setVRE(
|
|
||||||
VREDescriptionBean bean,
|
|
||||||
String[] functionalityIDs,
|
|
||||||
HashMap<String, List<ExternalResourceModel>> funcToExternalResources,
|
|
||||||
AsyncCallback<String> callback);
|
|
||||||
|
|
||||||
void getFunctionality(boolean isEdit,
|
|
||||||
AsyncCallback<VREFunctionalityModel> callback);
|
|
||||||
|
|
||||||
void getVRE(AsyncCallback<Map<String, Object>> callback);
|
|
||||||
|
|
||||||
void isEditMode(AsyncCallback<Map<String, Object>> callback);
|
|
||||||
|
|
||||||
void getResourceCategoryByFunctionality(String funcId,
|
|
||||||
AsyncCallback<ArrayList<ExternalResourceModel>> callback);
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.GwtEvent;
|
|
||||||
|
|
||||||
|
|
||||||
public class BackButtonEvent extends GwtEvent<BackButtonEventHandler> {
|
|
||||||
public static GwtEvent.Type<BackButtonEventHandler> TYPE = new Type<BackButtonEventHandler>();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void dispatch(BackButtonEventHandler handler) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
System.out.println("Dispatch event");
|
|
||||||
handler.onBackButton(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Type<BackButtonEventHandler> getAssociatedType() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return TYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.EventHandler;
|
|
||||||
|
|
||||||
public interface BackButtonEventHandler extends EventHandler {
|
|
||||||
void onBackButton(BackButtonEvent event);
|
|
||||||
}
|
|
|
@ -1,46 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ExternalResourceModel;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.GwtEvent;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Massimiliano Assante ISTI-CNR
|
|
||||||
* @version 0.2 Sep 2012
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class ExternalResourceSelectionEvent extends GwtEvent<ExternalResourceSelectionEventHandler>{
|
|
||||||
|
|
||||||
public static Type<ExternalResourceSelectionEventHandler> TYPE = new Type<ExternalResourceSelectionEventHandler>();
|
|
||||||
private VREFunctionalityModel functionality;
|
|
||||||
private List<ExternalResourceModel> associatedExternalResources;
|
|
||||||
|
|
||||||
public ExternalResourceSelectionEvent(VREFunctionalityModel functionality, List<ExternalResourceModel> resources) {
|
|
||||||
this.functionality = functionality;
|
|
||||||
this.associatedExternalResources = resources;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<ExternalResourceModel> getAssociatedExternalResources() {
|
|
||||||
return associatedExternalResources;
|
|
||||||
}
|
|
||||||
|
|
||||||
public VREFunctionalityModel getFunctionalityModel() {
|
|
||||||
return functionality;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void dispatch(ExternalResourceSelectionEventHandler handler) {
|
|
||||||
handler.onSelectedExternalResources(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Type<ExternalResourceSelectionEventHandler> getAssociatedType() {
|
|
||||||
return TYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.EventHandler;
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Massimiliano Assante ISTI-CNR
|
|
||||||
* @version 0.2 Sep 2012
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public interface ExternalResourceSelectionEventHandler extends EventHandler {
|
|
||||||
|
|
||||||
void onSelectedExternalResources(ExternalResourceSelectionEvent event);
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.GwtEvent;
|
|
||||||
|
|
||||||
public class NextButtonEvent extends GwtEvent<NextButtonEventHandler> {
|
|
||||||
public static Type<NextButtonEventHandler> TYPE = new Type<NextButtonEventHandler>();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void dispatch(NextButtonEventHandler handler) {
|
|
||||||
handler.onNextButton(this);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Type<NextButtonEventHandler> getAssociatedType() {
|
|
||||||
return TYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.EventHandler;
|
|
||||||
|
|
||||||
public interface NextButtonEventHandler extends EventHandler {
|
|
||||||
void onNextButton(NextButtonEvent event);
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.GwtEvent;
|
|
||||||
|
|
||||||
|
|
||||||
public class TreeNodeFunctionalityEvent extends GwtEvent<TreeNodeFunctionalityEventHandler>{
|
|
||||||
|
|
||||||
public static Type<TreeNodeFunctionalityEventHandler> TYPE = new Type<TreeNodeFunctionalityEventHandler>();
|
|
||||||
private VREFunctionalityModel functionality;
|
|
||||||
|
|
||||||
public TreeNodeFunctionalityEvent(VREFunctionalityModel functionality) {
|
|
||||||
this.functionality = functionality;
|
|
||||||
}
|
|
||||||
|
|
||||||
public VREFunctionalityModel getFunctionalityModel() {
|
|
||||||
return functionality;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void dispatch(TreeNodeFunctionalityEventHandler handler) {
|
|
||||||
handler.onClick(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Type<TreeNodeFunctionalityEventHandler> getAssociatedType() {
|
|
||||||
return TYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.EventHandler;
|
|
||||||
|
|
||||||
public interface TreeNodeFunctionalityEventHandler extends EventHandler {
|
|
||||||
|
|
||||||
void onClick(TreeNodeFunctionalityEvent event);
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.WizardStepModel;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.GwtEvent;
|
|
||||||
|
|
||||||
|
|
||||||
public class TreeNodeWizardMenuEvent extends GwtEvent<TreeNodeWizardMenuEventHandler>{
|
|
||||||
|
|
||||||
public static Type<TreeNodeWizardMenuEventHandler> TYPE = new Type<TreeNodeWizardMenuEventHandler>();
|
|
||||||
private WizardStepModel step;
|
|
||||||
|
|
||||||
public TreeNodeWizardMenuEvent(WizardStepModel step) {
|
|
||||||
this.step = step;
|
|
||||||
}
|
|
||||||
|
|
||||||
public WizardStepModel getStepModel() {
|
|
||||||
return step;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void dispatch(TreeNodeWizardMenuEventHandler handler) {
|
|
||||||
handler.onClick(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Type<TreeNodeWizardMenuEventHandler> getAssociatedType() {
|
|
||||||
return TYPE;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.event;
|
|
||||||
|
|
||||||
import com.google.gwt.event.shared.EventHandler;
|
|
||||||
|
|
||||||
public interface TreeNodeWizardMenuEventHandler extends EventHandler{
|
|
||||||
|
|
||||||
void onClick(TreeNodeWizardMenuEvent event);
|
|
||||||
}
|
|
|
@ -1,91 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.model;
|
|
||||||
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VREDescriptionBean;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelData;
|
|
||||||
|
|
||||||
|
|
||||||
public class VREDefinitionModel {
|
|
||||||
|
|
||||||
private VREDescriptionBean VREDescription;
|
|
||||||
private List<ModelData> VREFunctionalitiesSelected;
|
|
||||||
private WizardStepModel steps;
|
|
||||||
private WizardStepType stepSelected;
|
|
||||||
|
|
||||||
public VREDefinitionModel() {
|
|
||||||
steps = new WizardStepModel("root","info-icon",WizardStepType.VREDefinitionStart);
|
|
||||||
steps.add(new WizardStepModel("Info","info-icon",WizardStepType.VREDescription));
|
|
||||||
|
|
||||||
stepSelected = WizardStepType.VREDescription;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEditMode() {
|
|
||||||
steps.add(new WizardStepModel("Functionalities","functionality-icon",WizardStepType.VREFunctionalities));
|
|
||||||
steps.add(new WizardStepModel("Summary","report-icon",WizardStepType.VREDefinitionEnd));
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVREDescription(VREDescriptionBean bean){
|
|
||||||
this.VREDescription = bean;
|
|
||||||
}
|
|
||||||
|
|
||||||
public VREDescriptionBean getVREDescriptionBean() {
|
|
||||||
return VREDescription;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setVREFunctionalities(List<ModelData> list) {
|
|
||||||
this.VREFunctionalitiesSelected = list;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<ModelData> getVREFunctionalities() {
|
|
||||||
return VREFunctionalitiesSelected;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setNextStep() {
|
|
||||||
|
|
||||||
int step = stepSelected.ordinal();
|
|
||||||
step++;
|
|
||||||
addStep(step);
|
|
||||||
stepSelected = WizardStepType.values()[step];
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addStep(int step) {
|
|
||||||
|
|
||||||
if (steps.getChildren().size() >= step)
|
|
||||||
return;
|
|
||||||
|
|
||||||
WizardStepType type = WizardStepType.values()[step];
|
|
||||||
switch(type){
|
|
||||||
case VREDescription:
|
|
||||||
steps.add(new WizardStepModel("Info","info-icon",WizardStepType.VREDescription));
|
|
||||||
break;
|
|
||||||
case VREFunctionalities:
|
|
||||||
steps.add(new WizardStepModel("Functionalities","functionality-icon",WizardStepType.VREFunctionalities));
|
|
||||||
break;
|
|
||||||
case VREDefinitionEnd:
|
|
||||||
steps.add(new WizardStepModel("Summary","report-icon",WizardStepType.VREDefinitionEnd));
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setBackStep() {
|
|
||||||
stepSelected = WizardStepType.values()[stepSelected.ordinal() - 1];
|
|
||||||
}
|
|
||||||
|
|
||||||
public WizardStepModel getWizardStepModel() {
|
|
||||||
return steps;
|
|
||||||
}
|
|
||||||
|
|
||||||
public WizardStepType getWizardStep() {
|
|
||||||
return stepSelected;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setWizardStep(WizardStepType step) {
|
|
||||||
this.stepSelected = step;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,65 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.model;
|
|
||||||
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.BaseTreeModel;
|
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
public class VREFunctionalityModel extends BaseTreeModel{
|
|
||||||
|
|
||||||
|
|
||||||
public VREFunctionalityModel() {
|
|
||||||
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* @param node
|
|
||||||
* @param description
|
|
||||||
* @param icon
|
|
||||||
*/
|
|
||||||
public VREFunctionalityModel(String id, String node, String description, String icon, boolean isSelected) {
|
|
||||||
set("id",id);
|
|
||||||
set("node", node);
|
|
||||||
set("name", node);
|
|
||||||
set("description", description);
|
|
||||||
set("icon", icon);
|
|
||||||
set("isSelected", isSelected);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param children
|
|
||||||
*/
|
|
||||||
public void addChildren(VREFunctionalityModel[] children) {
|
|
||||||
for (int i = 0; i < children.length; i++) {
|
|
||||||
add(children[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getId() {
|
|
||||||
return (String) get("id");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return (String) get("name");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getNode() {
|
|
||||||
return (String) get("node");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return (String) get("description");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String toString() {
|
|
||||||
return getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSelected() {
|
|
||||||
return ((Boolean) get("isSelected")).booleanValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSelected(boolean selected) {
|
|
||||||
set("isSelected", selected);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.model;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.BaseTreeModel;
|
|
||||||
|
|
||||||
public class WizardStepModel extends BaseTreeModel {
|
|
||||||
|
|
||||||
private WizardStepType type;
|
|
||||||
public WizardStepModel(String name, String icon, WizardStepType type) {
|
|
||||||
|
|
||||||
setName(name);
|
|
||||||
setType(type);
|
|
||||||
setIcon(icon);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return get("name");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setName(String name) {
|
|
||||||
set("name", name);
|
|
||||||
}
|
|
||||||
|
|
||||||
public WizardStepType getType() {
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setType(WizardStepType type) {
|
|
||||||
this.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIcon(String icon) {
|
|
||||||
set("icon",icon);
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIcon() {
|
|
||||||
return get("icon");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.model;
|
|
||||||
|
|
||||||
public enum WizardStepType {
|
|
||||||
|
|
||||||
VREDefinitionStart,
|
|
||||||
VREDescription,
|
|
||||||
VREFunctionalities,
|
|
||||||
VREDefinitionEnd;
|
|
||||||
}
|
|
|
@ -1,14 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public interface Presenter {
|
|
||||||
|
|
||||||
public void go(LayoutContainer container);
|
|
||||||
public boolean doSave();
|
|
||||||
public Widget display();
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.VREDefinitionServiceAsync;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREDescriptionPresenter.Display;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.view.WizardMenuView;
|
|
||||||
import org.gcube.portlets.user.gcubewidgets.client.GCubePanel;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
|
|
||||||
import com.google.gwt.event.logical.shared.ResizeEvent;
|
|
||||||
import com.google.gwt.event.logical.shared.ResizeHandler;
|
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
|
||||||
import com.google.gwt.user.client.Window;
|
|
||||||
import com.google.gwt.user.client.ui.RootPanel;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
public class VREDefinitionPresenter {
|
|
||||||
|
|
||||||
public interface Display {
|
|
||||||
LayoutContainer getUpCenterPanel();
|
|
||||||
LayoutContainer getwestPanel();
|
|
||||||
ToolBar getBottomCenterPanel();
|
|
||||||
LayoutContainer getUpContainer();
|
|
||||||
ContentPanel getEastPanel();
|
|
||||||
Widget asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
public final Display display;
|
|
||||||
private RootPanel container;
|
|
||||||
|
|
||||||
public VREDefinitionPresenter(Display display) {
|
|
||||||
this.display = display;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void go(RootPanel container) {
|
|
||||||
this.container = container;
|
|
||||||
|
|
||||||
container.clear();
|
|
||||||
GCubePanel mainPanel = new GCubePanel("Defining the Virtual Research Environment",
|
|
||||||
"https://gcube.wiki.gcube-system.org/gcube/index.php/VRE_Administration#VRE_Definition");
|
|
||||||
// updateSize();
|
|
||||||
mainPanel.add(display.asWidget());
|
|
||||||
container.add(mainPanel);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,139 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.VREDefinitionServiceAsync;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREDefinitionModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VREDescriptionBean;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.BaseModel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.MessageBox;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.ComboBox;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.DateField;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.TextArea;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.TextField;
|
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class VREDescriptionPresenter implements Presenter {
|
|
||||||
|
|
||||||
public interface Display {
|
|
||||||
TextField<String> getVREName();
|
|
||||||
TextField<String> getVREDesigner();
|
|
||||||
DateField getFromDate();
|
|
||||||
DateField getToDate();
|
|
||||||
ComboBox<BaseModel> getVREManager();
|
|
||||||
TextArea getVREDescription();
|
|
||||||
void setData(Map<String,Object> result,VREDescriptionBean bean);
|
|
||||||
Widget asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final VREDefinitionModel vreModel;
|
|
||||||
|
|
||||||
private final Display display;
|
|
||||||
private final VREDefinitionServiceAsync rpcService;
|
|
||||||
private LayoutContainer container;
|
|
||||||
|
|
||||||
|
|
||||||
public VREDescriptionPresenter(VREDefinitionServiceAsync rpcService,VREDefinitionModel model, Display display) {
|
|
||||||
this.vreModel = model;
|
|
||||||
this.rpcService = rpcService;
|
|
||||||
this.display = display;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean doSave() {
|
|
||||||
|
|
||||||
String description = display.getVREDescription().getValue();
|
|
||||||
String designer = display.getVREDesigner().getValue();
|
|
||||||
String name = display.getVREName().getValue();
|
|
||||||
String manager = null;
|
|
||||||
if(display.getVREManager().getValue()!= null)
|
|
||||||
manager = (String)display.getVREManager().getValue().get("name");
|
|
||||||
|
|
||||||
Date fromDate = display.getFromDate().getValue();
|
|
||||||
Date toDate = display.getToDate().getValue();
|
|
||||||
|
|
||||||
VREDescriptionBean bean = new VREDescriptionBean(name, description,
|
|
||||||
designer, manager, fromDate, toDate);
|
|
||||||
vreModel.setVREDescription(bean);
|
|
||||||
|
|
||||||
return validateForm();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void go(LayoutContainer container) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
this.container = container;
|
|
||||||
|
|
||||||
container.removeAll();
|
|
||||||
getVREInfo();
|
|
||||||
container.add(display.asWidget());
|
|
||||||
|
|
||||||
container.mask("Loading data...", "loading-indicator");
|
|
||||||
container.layout();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void getVREInfo() {
|
|
||||||
|
|
||||||
rpcService.getVRE(new AsyncCallback<Map<String,Object>>() {
|
|
||||||
|
|
||||||
|
|
||||||
public void onFailure(Throwable arg0) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
MessageBox.alert("VRE Definition","We cannot find any VRE-Manager user for this environment." +
|
|
||||||
" There must be at least one.", null);
|
|
||||||
//container.unmask();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void onSuccess(Map<String, Object> result) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
VREDescriptionBean bean = vreModel.getVREDescriptionBean();
|
|
||||||
if(bean == null && result.get("vreName") != null) {
|
|
||||||
bean = new VREDescriptionBean((String)result.get("vreName"),(String)result.get("vreDescription"),
|
|
||||||
(String)result.get("vreDesigner"),(String)result.get("vreManager"),
|
|
||||||
(Date)result.get("vreStartTime"),(Date)result.get("vreEndTime"));
|
|
||||||
}
|
|
||||||
display.setData(result,bean);
|
|
||||||
container.unmask();
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean validateForm(){
|
|
||||||
|
|
||||||
VREDescriptionBean bean = vreModel.getVREDescriptionBean();
|
|
||||||
boolean check = true;
|
|
||||||
if(bean.getName() == null || bean.getName().trim().isEmpty() || bean.getName().contains(" "))
|
|
||||||
check = false;
|
|
||||||
if(bean.getDescription() == null || bean.getDescription().trim().isEmpty())
|
|
||||||
check = false;
|
|
||||||
if(bean.getDesigner() == null || bean.getDesigner().trim().isEmpty())
|
|
||||||
check = false;
|
|
||||||
if(bean.getManager() == null || bean.getManager().trim().isEmpty())
|
|
||||||
check = false;
|
|
||||||
if(bean.getStartTime() == null)
|
|
||||||
check = false;
|
|
||||||
if(bean.getEndTime() == null)
|
|
||||||
check = false;
|
|
||||||
|
|
||||||
return check;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Widget display() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return display.asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,35 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
public class VREFinishWizardPresenter implements Presenter {
|
|
||||||
public interface Display {
|
|
||||||
Widget asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final Display display;
|
|
||||||
|
|
||||||
public VREFinishWizardPresenter(Display display){
|
|
||||||
this.display = display;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void go(LayoutContainer container){
|
|
||||||
container.removeAll();
|
|
||||||
display.asWidget().setWidth(String.valueOf(container.getOffsetWidth()));
|
|
||||||
display.asWidget().setHeight(String.valueOf(container.getOffsetHeight()));
|
|
||||||
container.add(display.asWidget());
|
|
||||||
container.layout();
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean doSave() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Widget display() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return display.asWidget();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,137 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.VREDefinitionServiceAsync;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.TreeNodeFunctionalityEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREDefinitionModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelData;
|
|
||||||
import com.extjs.gxt.ui.client.event.Events;
|
|
||||||
import com.extjs.gxt.ui.client.event.Listener;
|
|
||||||
import com.extjs.gxt.ui.client.event.TreePanelEvent;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.MessageBox;
|
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
|
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
public class VREFunctionalitiesPresenter implements Presenter{
|
|
||||||
|
|
||||||
public interface Display {
|
|
||||||
TreePanel<ModelData> getTreeFunctionalities();
|
|
||||||
void setData(List<ModelData> categories);
|
|
||||||
Widget asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final VREDefinitionServiceAsync rpcService;
|
|
||||||
private final Display display;
|
|
||||||
private final VREDefinitionModel vreModel;
|
|
||||||
private LayoutContainer container;
|
|
||||||
private final HandlerManager eventBus;
|
|
||||||
|
|
||||||
public VREFunctionalitiesPresenter(VREDefinitionServiceAsync rpcService,VREDefinitionModel vreModel,
|
|
||||||
HandlerManager eventBus, Display display) {
|
|
||||||
this.display = display;
|
|
||||||
this.rpcService = rpcService;
|
|
||||||
this.vreModel = vreModel;
|
|
||||||
this.eventBus = eventBus;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void bind() {
|
|
||||||
display.getTreeFunctionalities().addListener(Events.OnClick, new Listener<TreePanelEvent<ModelData>>() {
|
|
||||||
|
|
||||||
public void handleEvent(TreePanelEvent<ModelData> be) {
|
|
||||||
if (be.getType() == Events.OnClick) {
|
|
||||||
VREFunctionalityModel selectedModel = (VREFunctionalityModel)be.getItem();
|
|
||||||
eventBus.fireEvent(new TreeNodeFunctionalityEvent(selectedModel));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public boolean doSave() {
|
|
||||||
|
|
||||||
TreePanel<ModelData> items = display.getTreeFunctionalities();
|
|
||||||
for(ModelData item : items.getStore().getAllItems()) {
|
|
||||||
item.set("isSelected", false);
|
|
||||||
}
|
|
||||||
|
|
||||||
for(ModelData item : items.getCheckedSelection()) {
|
|
||||||
item.set("isSelected",true);
|
|
||||||
}
|
|
||||||
|
|
||||||
vreModel.setVREFunctionalities(items.getStore().getRootItems());
|
|
||||||
return validateVREFunctionalitiesSelected();
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean validateVREFunctionalitiesSelected() {
|
|
||||||
|
|
||||||
List<ModelData> categories = vreModel.getVREFunctionalities();
|
|
||||||
boolean check = false;
|
|
||||||
for(ModelData category : categories) {
|
|
||||||
for(ModelData func : ((VREFunctionalityModel)category).getChildren())
|
|
||||||
if (((VREFunctionalityModel)func).isSelected()){
|
|
||||||
check = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!check)
|
|
||||||
MessageBox.alert("Alert", "Please, select at least one Functionality", null);
|
|
||||||
|
|
||||||
return check;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void go(LayoutContainer container) {
|
|
||||||
this.container = container;
|
|
||||||
|
|
||||||
container.removeAll();
|
|
||||||
container.add(display.asWidget());
|
|
||||||
container.layout();
|
|
||||||
|
|
||||||
if(vreModel.getVREFunctionalities() == null) {
|
|
||||||
fetchFunctionalities();
|
|
||||||
container.mask("Loading data...","loading-indicator");
|
|
||||||
} else {
|
|
||||||
display.setData(vreModel.getVREFunctionalities());
|
|
||||||
bind();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void fetchFunctionalities() {
|
|
||||||
rpcService.getFunctionality(false, new AsyncCallback<VREFunctionalityModel>() {
|
|
||||||
|
|
||||||
|
|
||||||
public void onSuccess(VREFunctionalityModel result) {
|
|
||||||
container.unmask();
|
|
||||||
if (result == null) {
|
|
||||||
MessageBox.info("Service Error", "There is no instance of the underlying service running, please try again in a short while", null);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
display.setData(result.getChildren());
|
|
||||||
bind();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void onFailure(Throwable caught) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Widget display() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return display.asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
public class VREInfoFunctionalitiesPresenter {
|
|
||||||
|
|
||||||
public interface Display {
|
|
||||||
Widget asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final Display display;
|
|
||||||
|
|
||||||
public VREInfoFunctionalitiesPresenter(Display display){
|
|
||||||
this.display = display;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void go(LayoutContainer container){
|
|
||||||
container.removeAll();
|
|
||||||
container.add(display.asWidget());
|
|
||||||
container.layout();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,36 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
public class VREStartWizardPresenter implements Presenter {
|
|
||||||
public interface Display {
|
|
||||||
Widget asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final Display display;
|
|
||||||
|
|
||||||
public VREStartWizardPresenter(Display display){
|
|
||||||
this.display = display;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void go(LayoutContainer container){
|
|
||||||
container.removeAll();
|
|
||||||
container.add(display.asWidget());
|
|
||||||
container.layout();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public boolean doSave() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Widget display() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return display.asWidget();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,97 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.BackButtonEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.NextButtonEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.WizardStepType;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.widget.Composite;
|
|
||||||
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Label;
|
|
||||||
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
|
|
||||||
import com.google.gwt.event.dom.client.ClickEvent;
|
|
||||||
import com.google.gwt.event.dom.client.ClickHandler;
|
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
|
||||||
import com.google.gwt.user.client.ui.Button;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class WizardActionsPresenter {
|
|
||||||
|
|
||||||
public interface Display {
|
|
||||||
Button getNextButton();
|
|
||||||
Button getBackButton();
|
|
||||||
Label getLabel();
|
|
||||||
HorizontalPanel getContainer();
|
|
||||||
void setVisible(boolean visible);
|
|
||||||
Composite asComponent();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final HandlerManager eventBus;
|
|
||||||
public final Display display;
|
|
||||||
|
|
||||||
public WizardActionsPresenter(HandlerManager eventBus, Display view) {
|
|
||||||
|
|
||||||
this.eventBus = eventBus;
|
|
||||||
this.display = view;
|
|
||||||
bind();
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void bind() {
|
|
||||||
|
|
||||||
display.getNextButton().addClickHandler(new ClickHandler() {
|
|
||||||
|
|
||||||
|
|
||||||
public void onClick(ClickEvent arg0) {
|
|
||||||
eventBus.fireEvent(new NextButtonEvent());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
display.getBackButton().addClickHandler(new ClickHandler() {
|
|
||||||
|
|
||||||
|
|
||||||
public void onClick(ClickEvent arg0) {
|
|
||||||
eventBus.fireEvent(new BackButtonEvent());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void go(final ToolBar container) {
|
|
||||||
|
|
||||||
container.removeAll();
|
|
||||||
display.asComponent().setSize(container.getAbsoluteLeft(), 44);
|
|
||||||
container.add(display.asComponent());
|
|
||||||
container.layout();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStepWizard(WizardStepType type) {
|
|
||||||
|
|
||||||
display.getBackButton().setVisible(true);
|
|
||||||
// display.getNextButton().changeStyle("forward-icon");
|
|
||||||
// display.getNextButton().setSize(48, 19);
|
|
||||||
|
|
||||||
// display.getBackButton().setEnabled(true);
|
|
||||||
String string = "" + type.ordinal() + " of " + (WizardStepType.values().length - 1);
|
|
||||||
display.getLabel().setText(string);
|
|
||||||
switch(type){
|
|
||||||
case VREDefinitionStart:
|
|
||||||
break;
|
|
||||||
case VREDescription:
|
|
||||||
display.getBackButton().setVisible(false);
|
|
||||||
break;
|
|
||||||
case VREDefinitionEnd:
|
|
||||||
display.getNextButton().setText("Upload");
|
|
||||||
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
display.getBackButton().setEnabled(true);
|
|
||||||
display.getNextButton().setEnabled(true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,50 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.presenter;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.TreeNodeWizardMenuEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.WizardStepModel;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelData;
|
|
||||||
import com.extjs.gxt.ui.client.event.Events;
|
|
||||||
import com.extjs.gxt.ui.client.event.Listener;
|
|
||||||
import com.extjs.gxt.ui.client.event.TreePanelEvent;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
|
|
||||||
import com.google.gwt.event.shared.HandlerManager;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
public class WizardMenuViewPresenter {
|
|
||||||
|
|
||||||
public interface Display {
|
|
||||||
TreePanel<ModelData> getTreeMenu();
|
|
||||||
Widget asWidget();
|
|
||||||
}
|
|
||||||
|
|
||||||
private final Display display;
|
|
||||||
private final HandlerManager eventBus;
|
|
||||||
|
|
||||||
public WizardMenuViewPresenter(HandlerManager eventBus, Display display){
|
|
||||||
this.display = display;
|
|
||||||
this.eventBus = eventBus;
|
|
||||||
bind();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void bind() {
|
|
||||||
display.getTreeMenu().addListener(Events.OnClick, new Listener<TreePanelEvent<ModelData>>() {
|
|
||||||
|
|
||||||
public void handleEvent(TreePanelEvent<ModelData> be) {
|
|
||||||
if (be.getType() == Events.OnClick) {
|
|
||||||
WizardStepModel selectedModel = (WizardStepModel)be.getItem();
|
|
||||||
eventBus.fireEvent(new TreeNodeWizardMenuEvent(selectedModel));
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void go(LayoutContainer container) {
|
|
||||||
container.removeAll();
|
|
||||||
container.add(display.asWidget());
|
|
||||||
container.layout();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,33 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
public enum NodeType {
|
|
||||||
/**
|
|
||||||
* INFO
|
|
||||||
*/
|
|
||||||
INFO,
|
|
||||||
/**
|
|
||||||
* CONTENT
|
|
||||||
*/
|
|
||||||
CONTENT,
|
|
||||||
/**
|
|
||||||
* COLLECTION
|
|
||||||
*/
|
|
||||||
COLLECTION,
|
|
||||||
/**
|
|
||||||
* METADATA
|
|
||||||
*/
|
|
||||||
METADATA,
|
|
||||||
/**
|
|
||||||
* FUNCTIONALITY
|
|
||||||
*/
|
|
||||||
FUNCTIONALITY,
|
|
||||||
/**
|
|
||||||
* REPORT
|
|
||||||
*/
|
|
||||||
REPORT,
|
|
||||||
/**
|
|
||||||
* ARCHITECTURE
|
|
||||||
*/
|
|
||||||
ARCHITECTURE;
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,158 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.AppController;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.event.ExternalResourceSelectionEvent;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ExternalResourceModel;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
|
|
||||||
import com.extjs.gxt.ui.client.core.XTemplate;
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelData;
|
|
||||||
import com.extjs.gxt.ui.client.event.ButtonEvent;
|
|
||||||
import com.extjs.gxt.ui.client.event.GridEvent;
|
|
||||||
import com.extjs.gxt.ui.client.event.SelectionListener;
|
|
||||||
import com.extjs.gxt.ui.client.store.GroupingStore;
|
|
||||||
import com.extjs.gxt.ui.client.store.ListStore;
|
|
||||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.MessageBox;
|
|
||||||
import com.extjs.gxt.ui.client.widget.button.Button;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.CheckBox;
|
|
||||||
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
|
|
||||||
import com.extjs.gxt.ui.client.widget.grid.CheckColumnConfig;
|
|
||||||
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
|
|
||||||
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.grid.Grid;
|
|
||||||
import com.extjs.gxt.ui.client.widget.grid.GroupingView;
|
|
||||||
import com.extjs.gxt.ui.client.widget.grid.RowExpander;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
||||||
import com.google.gwt.core.client.GWT;
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Massimiliano Assante ISTI-CNR
|
|
||||||
* @version 0.2 Sep 2012
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class ResourcesGrid {
|
|
||||||
|
|
||||||
private List<ExternalResourceModel> myResourcesList;
|
|
||||||
private VREFunctionalityModel myFunc;
|
|
||||||
public ResourcesGrid(VREFunctionalityModel func, List<ExternalResourceModel> list) {
|
|
||||||
myFunc = func;
|
|
||||||
myResourcesList = list;
|
|
||||||
}
|
|
||||||
public ContentPanel getGrid() {
|
|
||||||
|
|
||||||
ArrayList<ColumnConfig> configs = new ArrayList<ColumnConfig>();
|
|
||||||
|
|
||||||
XTemplate tpl = XTemplate.create("<div class=\"resourceText\"><b>Resource name:</b> {name}</div><div class=\"resourceText\"><b>Description:</b> {description}<div>");
|
|
||||||
|
|
||||||
RowExpander expander = new RowExpander();
|
|
||||||
expander.setTemplate(tpl);
|
|
||||||
|
|
||||||
configs.add(expander);
|
|
||||||
|
|
||||||
ColumnConfig column = new ColumnConfig();
|
|
||||||
|
|
||||||
column.setId("id");
|
|
||||||
column.setHeader("ID");
|
|
||||||
column.setWidth(50);
|
|
||||||
column.setHidden(true);
|
|
||||||
configs.add(column);
|
|
||||||
|
|
||||||
column = new ColumnConfig();
|
|
||||||
column.setId("name");
|
|
||||||
column.setHeader("Name");
|
|
||||||
column.setWidth(100);
|
|
||||||
configs.add(column);
|
|
||||||
|
|
||||||
column = new ColumnConfig();
|
|
||||||
column.setId("description");
|
|
||||||
column.setHeader("Description");
|
|
||||||
column.setWidth(200);
|
|
||||||
configs.add(column);
|
|
||||||
|
|
||||||
column = new ColumnConfig();
|
|
||||||
column.setId("category");
|
|
||||||
column.setHeader("Type");
|
|
||||||
column.setHidden(true);
|
|
||||||
column.setAlignment(HorizontalAlignment.CENTER);
|
|
||||||
column.setWidth(30);
|
|
||||||
configs.add(column);
|
|
||||||
|
|
||||||
CheckColumnConfig checkColumn = new CheckColumnConfig("isSelected", "isSelected", 35) {
|
|
||||||
@Override
|
|
||||||
protected void onMouseDown(final GridEvent<ModelData> ge) {
|
|
||||||
super.onMouseDown(ge);
|
|
||||||
ExternalResourceModel bean = (ExternalResourceModel) ge.getModel();
|
|
||||||
//TODO:
|
|
||||||
}
|
|
||||||
};
|
|
||||||
checkColumn.setHeader("Select");
|
|
||||||
checkColumn.setAlignment(HorizontalAlignment.CENTER);
|
|
||||||
|
|
||||||
CheckBox checkbox = new CheckBox();
|
|
||||||
|
|
||||||
CellEditor checkBoxEditor = new CellEditor(checkbox);
|
|
||||||
|
|
||||||
checkColumn.setEditor(checkBoxEditor);
|
|
||||||
configs.add(checkColumn);
|
|
||||||
|
|
||||||
final ColumnModel cm = new ColumnModel(configs);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* load the grid data
|
|
||||||
*/
|
|
||||||
final GroupingStore<ExternalResourceModel> store = new GroupingStore<ExternalResourceModel>();
|
|
||||||
store.groupBy("category");
|
|
||||||
|
|
||||||
//store.sort("isSelectable", SortDir.DESC);
|
|
||||||
store.add(myResourcesList);
|
|
||||||
|
|
||||||
|
|
||||||
Grid<ExternalResourceModel> grid = new Grid<ExternalResourceModel>(store, cm);
|
|
||||||
|
|
||||||
GroupingView view = new GroupingView();
|
|
||||||
view.setShowGroupedColumn(false);
|
|
||||||
view.setForceFit(true);
|
|
||||||
grid.setView(view);
|
|
||||||
grid.addPlugin(expander);
|
|
||||||
grid.addPlugin(checkColumn);
|
|
||||||
grid.setStyleAttribute("borderTop", "none");
|
|
||||||
grid.setAutoExpandColumn("name");
|
|
||||||
grid.setBorders(true);
|
|
||||||
grid.setStripeRows(true);
|
|
||||||
grid.getView().setForceFit(true);
|
|
||||||
|
|
||||||
ContentPanel gridPanel = new ContentPanel(new FitLayout());
|
|
||||||
gridPanel.setHeaderVisible(false);
|
|
||||||
gridPanel.add(grid);
|
|
||||||
gridPanel.setHeight(400);
|
|
||||||
|
|
||||||
gridPanel.addButton(new Button("Reset", new SelectionListener<ButtonEvent>() {
|
|
||||||
@Override
|
|
||||||
public void componentSelected(ButtonEvent ce) {
|
|
||||||
store.rejectChanges();
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
gridPanel.addButton(new Button("Commit changes", new SelectionListener<ButtonEvent>() {
|
|
||||||
@Override
|
|
||||||
public void componentSelected(ButtonEvent ce) {
|
|
||||||
List<ExternalResourceModel> resources = store.getModels();
|
|
||||||
store.commitChanges();
|
|
||||||
AppController.getAppController().getBus().fireEvent(new ExternalResourceSelectionEvent(myFunc, resources));
|
|
||||||
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
return gridPanel;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,129 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREDefinitionPresenter;
|
|
||||||
import org.gcube.portlets.user.gcubewidgets.client.GCubePanel;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Style.LayoutRegion;
|
|
||||||
import com.extjs.gxt.ui.client.Style.Orientation;
|
|
||||||
import com.extjs.gxt.ui.client.util.Margins;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Composite;
|
|
||||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.VerticalPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.BorderLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.LayoutData;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.RowLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
|
|
||||||
import com.google.gwt.user.client.Window;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public class VREDefinitionView extends Composite implements VREDefinitionPresenter.Display {
|
|
||||||
|
|
||||||
|
|
||||||
private LayoutContainer upCenterPanel;
|
|
||||||
private ContentPanel westPanel;
|
|
||||||
private ToolBar bottomCenterPanel;
|
|
||||||
private ContentPanel eastPanel;
|
|
||||||
private LayoutContainer upContainer;
|
|
||||||
|
|
||||||
|
|
||||||
public VREDefinitionView() {
|
|
||||||
|
|
||||||
LayoutContainer container = new LayoutContainer();
|
|
||||||
container.setStyleAttribute("padding", "2px");
|
|
||||||
|
|
||||||
|
|
||||||
upContainer = new LayoutContainer();
|
|
||||||
upContainer.setLayout(new BorderLayout());
|
|
||||||
|
|
||||||
|
|
||||||
westPanel = new ContentPanel();
|
|
||||||
ContentPanel centerPanel = new ContentPanel();
|
|
||||||
centerPanel.setFrame(true);
|
|
||||||
centerPanel.setBodyStyle("backgroundColor: white;");
|
|
||||||
eastPanel = new ContentPanel();
|
|
||||||
eastPanel.setVisible(false);
|
|
||||||
eastPanel.setCollapsible(false);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BorderLayoutData westData = new BorderLayoutData(LayoutRegion.WEST, 150);
|
|
||||||
westData.setSplit(false);
|
|
||||||
westData.setMargins(new Margins(0, 5, 0, 0));
|
|
||||||
westData.setCollapsible(false);
|
|
||||||
|
|
||||||
BorderLayoutData centerData = new BorderLayoutData(LayoutRegion.CENTER, 500);
|
|
||||||
centerData.setSplit(true);
|
|
||||||
centerData.setCollapsible(false);
|
|
||||||
centerData.setMargins(new Margins(0,0,0,0));
|
|
||||||
|
|
||||||
BorderLayoutData eastData = new BorderLayoutData(LayoutRegion.EAST, 500);
|
|
||||||
eastData.setSplit(true);
|
|
||||||
eastData.setCollapsible(false);
|
|
||||||
eastData.setMargins(new Margins(0,0,0,5));
|
|
||||||
|
|
||||||
upContainer.add(westPanel, westData);
|
|
||||||
|
|
||||||
upCenterPanel = new LayoutContainer();
|
|
||||||
upCenterPanel.setSize("100%", "100%");
|
|
||||||
centerPanel.add(upCenterPanel);
|
|
||||||
upContainer.add(centerPanel, centerData);
|
|
||||||
upContainer.add(eastPanel, eastData);
|
|
||||||
|
|
||||||
container.add(upContainer);
|
|
||||||
|
|
||||||
|
|
||||||
bottomCenterPanel = new ToolBar();
|
|
||||||
bottomCenterPanel.setSize("100%", "100%");
|
|
||||||
//toolBar.add(bottomCenterPanel);
|
|
||||||
|
|
||||||
container.add(bottomCenterPanel);
|
|
||||||
initComponent(container);
|
|
||||||
|
|
||||||
setHeight(Window.getClientHeight());
|
|
||||||
setWidth(Window.getClientWidth());
|
|
||||||
|
|
||||||
eastPanel.setCollapsible(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public ToolBar getBottomCenterPanel() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return bottomCenterPanel;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public ContentPanel getEastPanel() {
|
|
||||||
return eastPanel;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public LayoutContainer getUpCenterPanel() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return upCenterPanel;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public ContentPanel getwestPanel() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return westPanel;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LayoutContainer getUpContainer() {
|
|
||||||
return upContainer;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,224 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREDescriptionPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VREDescriptionBean;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
|
|
||||||
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
|
|
||||||
import com.extjs.gxt.ui.client.data.BaseModel;
|
|
||||||
import com.extjs.gxt.ui.client.store.ListStore;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Composite;
|
|
||||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Label;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.VerticalPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.ComboBox;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.DateField;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.Field;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.FieldSet;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.FormPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.TextArea;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.TextField;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
|
|
||||||
import com.extjs.gxt.ui.client.widget.form.Validator;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FillLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FormData;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.TableData;
|
|
||||||
import com.google.gwt.i18n.client.DateTimeFormat;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
|
|
||||||
public class VREDescriptionView extends Composite implements VREDescriptionPresenter.Display{
|
|
||||||
|
|
||||||
|
|
||||||
private TextField<String> vrename;
|
|
||||||
private TextField<String> vredesigner;
|
|
||||||
private DateField fromDate;
|
|
||||||
private DateField toDate;
|
|
||||||
private ComboBox<BaseModel> vremanager;
|
|
||||||
private TextArea vredescription;
|
|
||||||
|
|
||||||
|
|
||||||
public VREDescriptionView() {
|
|
||||||
|
|
||||||
FormData formData = new FormData("-20");
|
|
||||||
|
|
||||||
VerticalPanel panel = new VerticalPanel();
|
|
||||||
panel.setSize("100%", "100%");
|
|
||||||
|
|
||||||
panel.setStyleAttribute("padding", "10px");
|
|
||||||
panel.setTableWidth("100%");
|
|
||||||
|
|
||||||
|
|
||||||
FieldSet fieldSet = new FieldSet();
|
|
||||||
fieldSet.setWidth("95%");
|
|
||||||
fieldSet.setHeading("VRE Information");
|
|
||||||
|
|
||||||
FormLayout layout = new FormLayout();
|
|
||||||
layout.setLabelWidth(100);
|
|
||||||
fieldSet.setLayout(layout);
|
|
||||||
|
|
||||||
vrename = new TextField<String>();
|
|
||||||
vrename.setFieldLabel("Name");
|
|
||||||
vrename.setAllowBlank(false);
|
|
||||||
vrename.setValidator(new Validator() {
|
|
||||||
public String validate (Field ticketField, String value){
|
|
||||||
if (vrename.getRawValue().contains(" "))
|
|
||||||
return "No blanks allowed, a VRE name must be a single word";
|
|
||||||
else
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
fieldSet.add(vrename,formData);
|
|
||||||
|
|
||||||
vredesigner = new TextField<String>();
|
|
||||||
vredesigner.setFieldLabel("Designer");
|
|
||||||
|
|
||||||
vredesigner.setAllowBlank(false);
|
|
||||||
fieldSet.add(vredesigner,formData);
|
|
||||||
|
|
||||||
|
|
||||||
ListStore<BaseModel> store = new ListStore<BaseModel>();
|
|
||||||
|
|
||||||
BaseModel managerModel = new BaseModel();
|
|
||||||
managerModel.set("name", "Manager");
|
|
||||||
store.add(managerModel);
|
|
||||||
|
|
||||||
vremanager = new ComboBox<BaseModel>();
|
|
||||||
vremanager.setFieldLabel("VRE Manager");
|
|
||||||
vremanager.setDisplayField("name");
|
|
||||||
vremanager.setTriggerAction(TriggerAction.ALL);
|
|
||||||
vremanager.setStore(store);
|
|
||||||
vremanager.setAllowBlank(false);
|
|
||||||
vremanager.setEditable(false);
|
|
||||||
fieldSet.add(vremanager,formData);
|
|
||||||
|
|
||||||
vredescription = new TextArea();
|
|
||||||
vredescription.setFieldLabel("Description");
|
|
||||||
vredescription.setValue("Write the Virtual Research Environment description here");
|
|
||||||
vredescription.setAllowBlank(false);
|
|
||||||
fieldSet.add(vredescription,formData);
|
|
||||||
|
|
||||||
|
|
||||||
panel.add(fieldSet);
|
|
||||||
|
|
||||||
|
|
||||||
fieldSet = new FieldSet();
|
|
||||||
fieldSet.setWidth("95%");
|
|
||||||
fieldSet.setHeading("Life time");
|
|
||||||
|
|
||||||
layout = new FormLayout();
|
|
||||||
layout.setLabelWidth(100);
|
|
||||||
fieldSet.setLayout(layout);
|
|
||||||
|
|
||||||
DateTimeFormat fmt = DateTimeFormat.getFormat("MMMM dd, yyyy");
|
|
||||||
|
|
||||||
fromDate = new DateField();
|
|
||||||
fromDate.setName("date");
|
|
||||||
fromDate.setFieldLabel("From");
|
|
||||||
fromDate.getPropertyEditor().setFormat(fmt);
|
|
||||||
fromDate.setValue(new Date());
|
|
||||||
|
|
||||||
fromDate.setAllowBlank(false);
|
|
||||||
fromDate.setAutoValidate(true);
|
|
||||||
fieldSet.add(fromDate,formData);
|
|
||||||
|
|
||||||
toDate = new DateField();
|
|
||||||
toDate.setName("date");
|
|
||||||
toDate.setFieldLabel("To");
|
|
||||||
|
|
||||||
Date date = new Date();
|
|
||||||
date.setYear(date.getYear() + 1);
|
|
||||||
toDate.setValue(date);
|
|
||||||
toDate.getPropertyEditor().setFormat(fmt);
|
|
||||||
|
|
||||||
toDate.setAllowBlank(false);
|
|
||||||
toDate.setAutoValidate(true);
|
|
||||||
fieldSet.add(toDate,formData);
|
|
||||||
|
|
||||||
|
|
||||||
panel.add(fieldSet);
|
|
||||||
|
|
||||||
initComponent(panel);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void setData(Map<String,Object> result, VREDescriptionBean bean) {
|
|
||||||
|
|
||||||
ListStore<BaseModel> store = new ListStore<BaseModel>();
|
|
||||||
vremanager.setStore(store);
|
|
||||||
|
|
||||||
if (result != null && result.get("Manager")!= null) {
|
|
||||||
for(String value : (List<String>)result.get("Manager")){
|
|
||||||
BaseModel managerModel = new BaseModel();
|
|
||||||
managerModel.set("name", value);
|
|
||||||
store.add(managerModel);
|
|
||||||
vremanager.setValue(managerModel);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if(result != null && result.get("Designer") != null)
|
|
||||||
vredesigner.setValue((String)result.get("Designer"));
|
|
||||||
|
|
||||||
if(bean == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
ListStore<BaseModel> list = vremanager.getStore();
|
|
||||||
for(int i = 0; i < list.getCount(); i++) {
|
|
||||||
BaseModel manager = list.getAt(i);
|
|
||||||
if(manager.get("name").equals(bean.getManager())) {
|
|
||||||
vremanager.setValue(manager);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
vrename.setValue(bean.getName());
|
|
||||||
vredesigner.setValue(bean.getDesigner());
|
|
||||||
vredescription.setValue(bean.getDescription());
|
|
||||||
fromDate.setValue(bean.getStartTime());
|
|
||||||
toDate.setValue(bean.getEndTime());
|
|
||||||
}
|
|
||||||
|
|
||||||
public TextField<String> getVREName() {
|
|
||||||
return vrename;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TextField<String> getVREDesigner() {
|
|
||||||
return vredesigner;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ComboBox<BaseModel> getVREManager() {
|
|
||||||
return vremanager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public TextArea getVREDescription() {
|
|
||||||
return vredescription;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Widget asWidget() {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public DateField getFromDate() {
|
|
||||||
|
|
||||||
return fromDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public DateField getToDate() {
|
|
||||||
|
|
||||||
return toDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,134 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.AppController;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREFinishWizardPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ExternalResourceModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VRECollectionBean;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VREDescriptionBean;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Style.Scroll;
|
|
||||||
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelData;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Composite;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.VerticalPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Viewport;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.MarginData;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.TableData;
|
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
|
|
||||||
import com.google.gwt.i18n.client.DateTimeFormat;
|
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
|
||||||
|
|
||||||
|
|
||||||
public class VREFinishWizardView extends Composite implements VREFinishWizardPresenter.Display{
|
|
||||||
|
|
||||||
public VREFinishWizardView(VREDescriptionBean vre, List<ModelData> categories) {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VerticalPanel container = new VerticalPanel();
|
|
||||||
container.setScrollMode(Scroll.AUTO);
|
|
||||||
|
|
||||||
|
|
||||||
container.setStyleAttribute("padding", "10px");
|
|
||||||
container.setTableWidth("100%");
|
|
||||||
|
|
||||||
TableData tableData = new TableData();
|
|
||||||
tableData.setVerticalAlign(VerticalAlignment.MIDDLE);
|
|
||||||
|
|
||||||
//STYLE=\"font-size:18px;\"
|
|
||||||
String vreDescription = "<div STYLE=\"font-size:18px;\" align=\"center\" ><h1> Summary </h1></div>";
|
|
||||||
vreDescription+="<div><b>Name: </b>" + vre.getName() +"</div>";
|
|
||||||
vreDescription+="<div><b>VRE Designer: </b>" + vre.getDesigner() +"</div>";
|
|
||||||
vreDescription+="<div><b>VRE Manager: </b>" + vre.getManager() +"</div>";
|
|
||||||
DateTimeFormat fmt = DateTimeFormat.getFormat("MMMM dd, yyyy");
|
|
||||||
vreDescription+="<div ><b>From: </b>"
|
|
||||||
+ fmt.format(vre.getStartTime())
|
|
||||||
+ " <b> To: </b>"
|
|
||||||
+ fmt.format(vre.getEndTime())
|
|
||||||
+ "</div>";
|
|
||||||
|
|
||||||
vreDescription+= "<br />";
|
|
||||||
vreDescription+="<div><b>Description: </b>" + vre.getDescription() +"</div>";
|
|
||||||
vreDescription += "<br />";
|
|
||||||
|
|
||||||
container.add(new HTML(vreDescription, true ));
|
|
||||||
|
|
||||||
List<ModelData> functionalitiesSelected = new ArrayList<ModelData>();
|
|
||||||
for (ModelData category : categories) {
|
|
||||||
for(ModelData func : ((VREFunctionalityModel)category).getChildren()) {
|
|
||||||
if(((VREFunctionalityModel)func).isSelected())
|
|
||||||
functionalitiesSelected.add(func);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int sizeFunctionalities = functionalitiesSelected.size();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String table = "<table width=\"100%\" align=\"center\" >";
|
|
||||||
table += "<tr>";
|
|
||||||
|
|
||||||
if (sizeFunctionalities > 0) {
|
|
||||||
table += "<td width=\"50%\" >";
|
|
||||||
table += "<div STYLE=\"font-size:14px;\"><h1><u>Functionalities</u></h1></div>";
|
|
||||||
table += "</td>";
|
|
||||||
table += "</tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
table += "<tr>";
|
|
||||||
table += "<td width=\"50%\" >";
|
|
||||||
table += "</td>";
|
|
||||||
table += "<td width=\"50%\" >";
|
|
||||||
table += "</td>";
|
|
||||||
table += "</tr>";
|
|
||||||
|
|
||||||
|
|
||||||
int maxSize = Math.max(0, sizeFunctionalities);
|
|
||||||
|
|
||||||
for(int i = 0; i < maxSize; i++) {
|
|
||||||
|
|
||||||
table += "<tr>";
|
|
||||||
if (sizeFunctionalities > 0) {
|
|
||||||
table += "<td width=\"50%\">";
|
|
||||||
ModelData functionality = null;
|
|
||||||
if(i < sizeFunctionalities) {
|
|
||||||
functionality = functionalitiesSelected.get(i);
|
|
||||||
table +=" - <span style=\"font-weight: bold; color: #333;\">" + functionality.get("name")+"</span>";
|
|
||||||
List<ExternalResourceModel> extResources = AppController.getAppController().getExtResourcesFromApp(functionality.get("id").toString());
|
|
||||||
if (extResources != null) {
|
|
||||||
table += "<br />";
|
|
||||||
for (ExternalResourceModel ext : extResources) {
|
|
||||||
if (ext.isSelected()) {
|
|
||||||
table += "<span class=\"extres\" >" + ext.getName() + "</span>";
|
|
||||||
table += "<br />";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
table += "<br /><br />";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
table += "</td>";
|
|
||||||
}
|
|
||||||
|
|
||||||
table += "</tr>";
|
|
||||||
}
|
|
||||||
table += "</table>";
|
|
||||||
|
|
||||||
container.add(new HTML(table, true));
|
|
||||||
|
|
||||||
initComponent(container);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Widget asWidget() {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,92 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREFunctionalitiesPresenter;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Style.Scroll;
|
|
||||||
import com.extjs.gxt.ui.client.Style.SelectionMode;
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelData;
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelIconProvider;
|
|
||||||
import com.extjs.gxt.ui.client.store.TreeStore;
|
|
||||||
import com.extjs.gxt.ui.client.util.IconHelper;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Composite;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel.CheckCascade;
|
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanelSelectionModel;
|
|
||||||
import com.google.gwt.user.client.ui.AbstractImagePrototype;
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Massimiliano Assante ISTI-CNR
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class VREFunctionalitiesView extends Composite implements VREFunctionalitiesPresenter.Display{
|
|
||||||
|
|
||||||
private TreePanel<ModelData> tree;
|
|
||||||
private LayoutContainer container;
|
|
||||||
|
|
||||||
public VREFunctionalitiesView() {
|
|
||||||
|
|
||||||
|
|
||||||
container = new LayoutContainer();
|
|
||||||
container.setScrollMode(Scroll.AUTO);
|
|
||||||
container.setSize("100%","100%");
|
|
||||||
|
|
||||||
initComponent(container);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void setData(List<ModelData> categories) {
|
|
||||||
TreeStore<ModelData> store = new TreeStore<ModelData>();
|
|
||||||
store.add(categories, true);
|
|
||||||
tree = new TreePanel<ModelData>(store);
|
|
||||||
|
|
||||||
tree.setCheckable(true);
|
|
||||||
tree.setWidth(300);
|
|
||||||
tree.setDisplayProperty("name");
|
|
||||||
|
|
||||||
// Handles the selection
|
|
||||||
TreePanelSelectionModel<ModelData> sm = new TreePanelSelectionModel<ModelData>();
|
|
||||||
tree.setSelectionModel(sm);
|
|
||||||
|
|
||||||
tree.getSelectionModel().setSelectionMode(SelectionMode.MULTI);
|
|
||||||
tree.setCheckStyle(CheckCascade.CHILDREN);
|
|
||||||
|
|
||||||
// The icon decorator
|
|
||||||
tree.setIconProvider(
|
|
||||||
new ModelIconProvider<ModelData>() {
|
|
||||||
public AbstractImagePrototype getIcon(final ModelData model) {
|
|
||||||
if (model.get("node") != null && model.get("icon") != null) {
|
|
||||||
return IconHelper.createStyle((String) model.get("icon"));
|
|
||||||
}
|
|
||||||
return IconHelper.createStyle("defaultleaf-icon");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
tree.expandAll();
|
|
||||||
tree.setAutoExpand(true);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
container.removeAll();
|
|
||||||
container.add(tree);
|
|
||||||
container.layout();
|
|
||||||
|
|
||||||
// Set node checked after layout
|
|
||||||
for(ModelData functionality : tree.getStore().getAllItems()) {
|
|
||||||
tree.setChecked(functionality,((VREFunctionalityModel)functionality).isSelected());
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public TreePanel<ModelData> getTreeFunctionalities() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return tree;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,92 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.AppController;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.VREDefinitionServiceAsync;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREInfoFunctionalitiesPresenter;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ExternalResourceModel;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
||||||
import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @author Massimiliano Assante ISTI-CNR
|
|
||||||
* @version 0.2 Sep 2012
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class VREInfoFunctionalitiesView extends ContentPanel implements VREInfoFunctionalitiesPresenter.Display{
|
|
||||||
|
|
||||||
private ContentPanel gridPanel;
|
|
||||||
private String toAdd = "";
|
|
||||||
|
|
||||||
private HTML info = new HTML();
|
|
||||||
|
|
||||||
public VREInfoFunctionalitiesView() {
|
|
||||||
setHeaderVisible(false);
|
|
||||||
setBodyBorder(true);
|
|
||||||
String toAdd = "</br><h3> Select a functionality to show info </h3>";
|
|
||||||
add(new HTML(toAdd, true ));
|
|
||||||
setStyleAttribute("margin", "10px");
|
|
||||||
}
|
|
||||||
|
|
||||||
public VREInfoFunctionalitiesView(final VREFunctionalityModel functionality, VREDefinitionServiceAsync rpcService) {
|
|
||||||
mask("Loading available resources ....");
|
|
||||||
setHeaderVisible(false);
|
|
||||||
setBodyBorder(false);
|
|
||||||
toAdd = "<div class=\"theTitle\">" + functionality.getName() + "</div>";
|
|
||||||
toAdd += "<div class=\"functionalityText\">" + functionality.getDescription()+"</div>";
|
|
||||||
info.setHTML(toAdd);
|
|
||||||
add(info);
|
|
||||||
|
|
||||||
setStyleAttribute("margin", "10px");
|
|
||||||
|
|
||||||
//get that from the server
|
|
||||||
rpcService.getResourceCategoryByFunctionality(functionality.getId(), new AsyncCallback<ArrayList<ExternalResourceModel>>() {
|
|
||||||
|
|
||||||
public void onSuccess(ArrayList<ExternalResourceModel> cats) {
|
|
||||||
if (cats.size() == 0) {
|
|
||||||
unmask();
|
|
||||||
toAdd += "<div class=\"theResources\">There are no external Resources to select for this functionality</div>";
|
|
||||||
info.setHTML(toAdd);
|
|
||||||
} else {
|
|
||||||
//TODO: REMOVE THIS BUT IT DOESNT RENDER OK OTHERWISE, Have no time to investigate it
|
|
||||||
//if i loaded them yet
|
|
||||||
toAdd += "<div class=\"theResources\">Available Resources for " + functionality.getName() + "</div>";
|
|
||||||
info.setHTML(toAdd);
|
|
||||||
if (AppController.getAppController().getExtResourcesFromApp(functionality.getId()) != null) {
|
|
||||||
List<ExternalResourceModel> categs = AppController.getAppController().getExtResourcesFromApp(functionality.getId());
|
|
||||||
addGridPanel(functionality, categs);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
addGridPanel(functionality, cats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onFailure(Throwable arg0) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private void addGridPanel(VREFunctionalityModel func, List<ExternalResourceModel> cats) {
|
|
||||||
ResourcesGrid grid = new ResourcesGrid(func, cats);
|
|
||||||
gridPanel = grid.getGrid();
|
|
||||||
gridPanel.setHeight(260);
|
|
||||||
add(gridPanel);
|
|
||||||
gridPanel.layout(true);
|
|
||||||
layout(true);
|
|
||||||
setLayout(new FitLayout());
|
|
||||||
unmask();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Style;
|
|
||||||
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
|
|
||||||
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Composite;
|
|
||||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.LayoutContainer;
|
|
||||||
import com.extjs.gxt.ui.client.widget.VerticalPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.TableData;
|
|
||||||
import com.google.gwt.user.client.ui.HTML;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.VREStartWizardPresenter;
|
|
||||||
|
|
||||||
public class VREStartWizardView extends Composite implements VREStartWizardPresenter.Display {
|
|
||||||
|
|
||||||
public VREStartWizardView() {
|
|
||||||
|
|
||||||
VerticalPanel container = new VerticalPanel();
|
|
||||||
container.setSize("100%", "100%");
|
|
||||||
container.setTableHeight("50%");
|
|
||||||
container.setTableWidth("100%");
|
|
||||||
|
|
||||||
TableData tableData = new TableData();
|
|
||||||
tableData.setVerticalAlign(VerticalAlignment.MIDDLE);
|
|
||||||
|
|
||||||
LayoutContainer cp = new LayoutContainer();
|
|
||||||
cp.setLayout(new FitLayout());
|
|
||||||
cp.setStyleAttribute("margin", "10px");
|
|
||||||
|
|
||||||
String toAdd = "<div align=\"center\"><h3> This wizard will guide you on the VRE Creation </h3></div>";
|
|
||||||
toAdd += "<br />";
|
|
||||||
toAdd += "<div align=\"center\">Click 'Next' to continue ...</div>";
|
|
||||||
cp.add(new HTML(toAdd, true ));
|
|
||||||
|
|
||||||
container.add(cp,tableData);
|
|
||||||
initComponent(container);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,94 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.WizardActionsPresenter;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
|
|
||||||
import com.extjs.gxt.ui.client.Style.VerticalAlignment;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Composite;
|
|
||||||
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Label;
|
|
||||||
import com.extjs.gxt.ui.client.widget.button.IconButton;
|
|
||||||
import com.extjs.gxt.ui.client.widget.layout.TableData;
|
|
||||||
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
|
|
||||||
import com.google.gwt.dom.client.Style.Unit;
|
|
||||||
import com.google.gwt.user.client.ui.Button;
|
|
||||||
|
|
||||||
|
|
||||||
public class WizardActionsView extends Composite implements WizardActionsPresenter.Display{
|
|
||||||
|
|
||||||
private Button nextButton;
|
|
||||||
private Button backButton;
|
|
||||||
private HorizontalPanel panel;
|
|
||||||
private Label label;
|
|
||||||
|
|
||||||
public WizardActionsView(ToolBar container) {
|
|
||||||
|
|
||||||
panel = new HorizontalPanel();
|
|
||||||
panel.setWidth("100%");
|
|
||||||
panel.setTableWidth(""+container.getOffsetWidth()+"px");
|
|
||||||
panel.setTableHeight("30px");
|
|
||||||
|
|
||||||
TableData backData = new TableData("45%","100%");
|
|
||||||
backData.setHorizontalAlign(HorizontalAlignment.RIGHT);
|
|
||||||
backData.setVerticalAlign(VerticalAlignment.MIDDLE);
|
|
||||||
|
|
||||||
TableData nextData = new TableData("45%","100%");
|
|
||||||
nextData.setHorizontalAlign(HorizontalAlignment.LEFT);
|
|
||||||
nextData.setVerticalAlign(VerticalAlignment.MIDDLE);
|
|
||||||
|
|
||||||
TableData labelData = new TableData("10%","100%");
|
|
||||||
labelData.setHorizontalAlign(HorizontalAlignment.CENTER);
|
|
||||||
labelData.setVerticalAlign(VerticalAlignment.MIDDLE);
|
|
||||||
|
|
||||||
|
|
||||||
backButton = new Button("Back");
|
|
||||||
backButton.setSize("100px", "25px");
|
|
||||||
|
|
||||||
label = new Label("1 of 3");
|
|
||||||
label.setStyleName("label-wizard");
|
|
||||||
label.getElement().getStyle().setFontSize(30, Unit.PX);
|
|
||||||
|
|
||||||
nextButton = new Button("Next");
|
|
||||||
nextButton.setSize("100px", "25px");
|
|
||||||
|
|
||||||
panel.add(backButton,backData);
|
|
||||||
panel.add(label, labelData);
|
|
||||||
panel.add(nextButton,nextData);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
initComponent(panel);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Composite asComponent() {
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Button getNextButton() {
|
|
||||||
return nextButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Button getBackButton() {
|
|
||||||
return backButton;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Label getLabel() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return label;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public HorizontalPanel getContainer() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return panel;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,60 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.client.view;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.WizardStepModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.presenter.WizardMenuViewPresenter;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.Style.SelectionMode;
|
|
||||||
import com.extjs.gxt.ui.client.data.BaseTreeModel;
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelData;
|
|
||||||
import com.extjs.gxt.ui.client.data.ModelIconProvider;
|
|
||||||
import com.extjs.gxt.ui.client.event.Events;
|
|
||||||
import com.extjs.gxt.ui.client.event.Listener;
|
|
||||||
import com.extjs.gxt.ui.client.event.TreePanelEvent;
|
|
||||||
import com.extjs.gxt.ui.client.store.TreeStore;
|
|
||||||
import com.extjs.gxt.ui.client.util.IconHelper;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Composite;
|
|
||||||
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
|
||||||
import com.extjs.gxt.ui.client.widget.Layout;
|
|
||||||
import com.extjs.gxt.ui.client.widget.treepanel.TreePanel;
|
|
||||||
import com.google.gwt.user.client.ui.AbstractImagePrototype;
|
|
||||||
|
|
||||||
public class WizardMenuView extends Composite implements WizardMenuViewPresenter.Display{
|
|
||||||
|
|
||||||
private TreePanel<ModelData> tree;
|
|
||||||
private VREDefinitionView parentView;
|
|
||||||
|
|
||||||
|
|
||||||
public WizardMenuView(WizardStepModel treeModel) {
|
|
||||||
|
|
||||||
TreeStore<ModelData> store = new TreeStore<ModelData>();
|
|
||||||
// The root node will not be shown
|
|
||||||
store.add(treeModel.getChildren(), true);
|
|
||||||
tree = new TreePanel<ModelData>(store);
|
|
||||||
|
|
||||||
tree.setWidth(300);
|
|
||||||
|
|
||||||
tree.setDisplayProperty("name");
|
|
||||||
// The icon decorator
|
|
||||||
tree.setIconProvider(
|
|
||||||
new ModelIconProvider<ModelData>() {
|
|
||||||
public AbstractImagePrototype getIcon(final ModelData model) {
|
|
||||||
if (model.get("icon") != null) {
|
|
||||||
return IconHelper.createStyle((String) model.get("icon"));
|
|
||||||
}
|
|
||||||
return IconHelper.createStyle("defaultleaf-icon");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
tree.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
|
|
||||||
initComponent(tree);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public TreePanel<ModelData> getTreeMenu() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return tree;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,526 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.server;
|
|
||||||
|
|
||||||
import java.rmi.RemoteException;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.LinkedList;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
import javax.servlet.http.HttpSession;
|
|
||||||
|
|
||||||
import org.gcube.application.framework.accesslogger.library.impl.AccessLogger;
|
|
||||||
import org.gcube.application.framework.core.session.ASLSession;
|
|
||||||
import org.gcube.application.framework.core.session.SessionManager;
|
|
||||||
import org.gcube.application.framework.vremanagement.vremanagement.impl.VREGeneratorEvo;
|
|
||||||
import org.gcube.applicationsupportlayer.social.ApplicationNotificationsManager;
|
|
||||||
import org.gcube.applicationsupportlayer.social.NotificationsManager;
|
|
||||||
import org.gcube.common.homelibrary.home.HomeLibrary;
|
|
||||||
import org.gcube.common.homelibrary.home.workspace.Workspace;
|
|
||||||
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.VREDefinitionService;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.client.model.VREFunctionalityModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.server.loggers.CreatedVRELogEntry;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.server.loggers.OpenVREWizardLogEntry;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ExternalResourceModel;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ResourceCategory;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.ResourceCategoryItem;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VRECollectionBean;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.VREDescriptionBean;
|
|
||||||
import org.gcube.portlets.admin.vredefinition.shared.exception.VREDefinitionException;
|
|
||||||
import org.gcube.vomanagement.usermanagement.RoleManager;
|
|
||||||
import org.gcube.vomanagement.usermanagement.UserManager;
|
|
||||||
import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayRoleManager;
|
|
||||||
import org.gcube.vomanagement.usermanagement.impl.liferay.LiferayUserManager;
|
|
||||||
import org.gcube.vomanagement.usermanagement.model.UserModel;
|
|
||||||
import org.gcube.vremanagement.vremodel.cl.stubs.types.FunctionalityItem;
|
|
||||||
import org.gcube.vremanagement.vremodel.cl.stubs.types.ResourceDescriptionItem;
|
|
||||||
import org.gcube.vremanagement.vremodel.cl.stubs.types.ResourceItem;
|
|
||||||
import org.gcube.vremanagement.vremodel.cl.stubs.types.SelectedResourceDescriptionType;
|
|
||||||
import org.gcube.vremanagement.vremodel.cl.stubs.types.VREDescription;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
|
|
||||||
|
|
||||||
public class VREDefinitionServiceImpl extends RemoteServiceServlet implements VREDefinitionService {
|
|
||||||
private static final long serialVersionUID = -7565518362225100485L;
|
|
||||||
|
|
||||||
private static final Logger _log = LoggerFactory.getLogger(VREDefinitionServiceImpl.class);
|
|
||||||
|
|
||||||
private static final String DESIGNER = "Designer";
|
|
||||||
private static final String MANAGER = "Manager";
|
|
||||||
private static final String DESCRIPTION = "DESCRIPTION";
|
|
||||||
|
|
||||||
|
|
||||||
private static String VRE_MANAGER_STRING = "VRE-Manager";
|
|
||||||
|
|
||||||
|
|
||||||
private static final String VRE_GENERATOR_ATTRIBUTE = "VREGenerator";
|
|
||||||
private static final String VRE_DEFINER_GENERATOR_ATTRIBUTE = "VREDefinerGenerator";
|
|
||||||
private static final String USERNAME_ATTRIBUTE = "username";
|
|
||||||
|
|
||||||
private static final String HARD_CODED_VO_NAME = "/gcube/devsec";
|
|
||||||
private static final String REEDIT_TYPE_ATTRIBUTE = "reeditType";
|
|
||||||
private static final String APPROVE_MODE = "approve";
|
|
||||||
public static final String EDIT_MODE = "edit";
|
|
||||||
|
|
||||||
private static final String CATEGORIES = "CATEGORIES";
|
|
||||||
|
|
||||||
private boolean withinEclipse = false;
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private ASLSession getASLSession() {
|
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
|
||||||
String username = (String) session.getAttribute(ScopeHelper.USERNAME_ATTRIBUTE);
|
|
||||||
|
|
||||||
if (username == null) {
|
|
||||||
username = "massimiliano.assante";
|
|
||||||
SessionManager.getInstance().getASLSession(session.getId(), username).setScope(HARD_CODED_VO_NAME);
|
|
||||||
SessionManager.getInstance().getASLSession(session.getId(), username).setAttribute(REEDIT_TYPE_ATTRIBUTE, APPROVE_MODE);
|
|
||||||
withinEclipse = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return SessionManager.getInstance().getASLSession(session.getId(), username);
|
|
||||||
}
|
|
||||||
|
|
||||||
private VREGeneratorEvo getVREGenerator(){
|
|
||||||
ASLSession d4ScienceSession = getASLSession();
|
|
||||||
VREGeneratorEvo vreGenerator = (VREGeneratorEvo) d4ScienceSession.getAttribute(VRE_DEFINER_GENERATOR_ATTRIBUTE);
|
|
||||||
if(vreGenerator==null){
|
|
||||||
vreGenerator = new VREGeneratorEvo(d4ScienceSession);
|
|
||||||
d4ScienceSession.setAttribute(VRE_DEFINER_GENERATOR_ATTRIBUTE, vreGenerator);
|
|
||||||
}
|
|
||||||
|
|
||||||
AccessLogger log = AccessLogger.getAccessLogger();
|
|
||||||
OpenVREWizardLogEntry logEntry = new OpenVREWizardLogEntry();
|
|
||||||
log.logEntry(getASLSession().getUsername(), getASLSession().getScopeName(), logEntry);
|
|
||||||
|
|
||||||
return vreGenerator;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private void storeResourceCategoryInSession(HashMap<String, ArrayList<ResourceCategory>> funcCategories) {
|
|
||||||
getASLSession().setAttribute(CATEGORIES, funcCategories);
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
private HashMap<String, ArrayList<ResourceCategory>> getResourceCategoryFromSession() {
|
|
||||||
return (HashMap<String, ArrayList<ResourceCategory>>) getASLSession().getAttribute(CATEGORIES);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* return the categories per functionality
|
|
||||||
* @param func
|
|
||||||
*/
|
|
||||||
public ArrayList<ExternalResourceModel> getResourceCategoryByFunctionality(String id) {
|
|
||||||
ArrayList<ExternalResourceModel> toReturn = new ArrayList<ExternalResourceModel>();
|
|
||||||
return (getResourceCategoryFromSession().containsKey(id) ? getExternaleResources(id) : toReturn);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param id
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
private ArrayList<ExternalResourceModel> getExternaleResources(String id) {
|
|
||||||
ArrayList<ExternalResourceModel> toReturn = new ArrayList<ExternalResourceModel>();
|
|
||||||
ArrayList<ResourceCategory> cats = getResourceCategoryFromSession().get(id);
|
|
||||||
for (ResourceCategory rc : cats)
|
|
||||||
for(ResourceCategoryItem item : rc.getItems()) {
|
|
||||||
toReturn.add(new ExternalResourceModel(item.getId(), item.getName(), item.getDescription(), item.isSelected(), rc.getName(), rc.getId()));
|
|
||||||
}
|
|
||||||
return toReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public Map<String,Object> isEditMode() {
|
|
||||||
System.out.println("\n\n\n********************* isEditMode()");
|
|
||||||
String reeditType = (String) getASLSession().getAttribute(REEDIT_TYPE_ATTRIBUTE);
|
|
||||||
ASLSession session = getASLSession();
|
|
||||||
session.setAttribute(VRE_DEFINER_GENERATOR_ATTRIBUTE, null);
|
|
||||||
|
|
||||||
if(reeditType != null && reeditType.equals(EDIT_MODE)) {
|
|
||||||
|
|
||||||
String vreid = (String) session.getAttribute(VRE_GENERATOR_ATTRIBUTE);
|
|
||||||
if(vreid==null){
|
|
||||||
session.setAttribute(VRE_DEFINER_GENERATOR_ATTRIBUTE, null);
|
|
||||||
} else {
|
|
||||||
VREGeneratorEvo vreGenerator = new VREGeneratorEvo(session, vreid);
|
|
||||||
session.setAttribute(VRE_DEFINER_GENERATOR_ATTRIBUTE, vreGenerator);
|
|
||||||
|
|
||||||
}
|
|
||||||
session.setAttribute(REEDIT_TYPE_ATTRIBUTE, null);
|
|
||||||
|
|
||||||
try {
|
|
||||||
List<VRECollectionBean> collections = getCollections();
|
|
||||||
VREFunctionalityModel functionalities = getFunctionality(true);
|
|
||||||
Map<String,Object> map = new HashMap<String, Object>();
|
|
||||||
map.put("collections", collections);
|
|
||||||
map.put("functionalities", functionalities);
|
|
||||||
return map;
|
|
||||||
} catch (VREDefinitionException e) {
|
|
||||||
// TODO Auto-generated catch block
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
* read the available functionality from the service through ASL extension
|
|
||||||
*/
|
|
||||||
|
|
||||||
public VREFunctionalityModel getFunctionality(boolean isEdit) throws VREDefinitionException {
|
|
||||||
//if i am creating a new Vre I need to 'pretend' I already set the description to the service otherwise VREModeler won't return me the collections
|
|
||||||
//if is editing instead this is not necessary
|
|
||||||
if (! isEdit) {
|
|
||||||
Calendar cal= Calendar.getInstance();
|
|
||||||
long startTime = cal.getTimeInMillis();
|
|
||||||
cal.add(Calendar.MONTH, 5);
|
|
||||||
cal.add(Calendar.HOUR, 7);
|
|
||||||
long endTime = cal.getTimeInMillis();
|
|
||||||
try {
|
|
||||||
//this is because Lucio is stupid
|
|
||||||
getVREGenerator().setVREModel("notCompletedVirtualResearchEnv.", UUID.randomUUID().toString(), UUID.randomUUID().toString(), UUID.randomUUID().toString(), startTime, endTime);
|
|
||||||
Thread.sleep(1000);
|
|
||||||
} catch (Exception e1) {
|
|
||||||
e1.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (! getVREGenerator().isVreModelerServiceUp())
|
|
||||||
return null;
|
|
||||||
VREFunctionalityModel toReturn = new VREFunctionalityModel("","selected functionality", "", "",false);
|
|
||||||
try{
|
|
||||||
HashMap<String, ArrayList<ResourceCategory>> funCategories = new HashMap<String, ArrayList<ResourceCategory>>();
|
|
||||||
|
|
||||||
List<FunctionalityItem> list = getVREGenerator().getFunctionality();
|
|
||||||
|
|
||||||
if (list == null) {
|
|
||||||
_log.warn("FunctionalityList NULL");
|
|
||||||
}
|
|
||||||
for (FunctionalityItem fi :list) {
|
|
||||||
System.out.println("id:"+fi.id()+" "+fi.name());
|
|
||||||
VREFunctionalityModel toAdd = new VREFunctionalityModel(Integer.toString(fi.id()),
|
|
||||||
fi.name(), fi.description(), "",fi.selected());
|
|
||||||
|
|
||||||
if (fi.children() != null && !fi.children().isEmpty()) {
|
|
||||||
List<FunctionalityItem> children = fi.children();
|
|
||||||
VREFunctionalityModel[] newchildrens = new VREFunctionalityModel[children.size() ];
|
|
||||||
//creating node children
|
|
||||||
for (int i = 0; i < children.size(); i++) {
|
|
||||||
System.out.println(children.get(i).name() + " is " + children.get(i).selected());
|
|
||||||
newchildrens[i] = new VREFunctionalityModel(Integer.toString(children.get(i).id()),
|
|
||||||
children.get(i).name(), children.get(i).description(),
|
|
||||||
"functionality-add-icon",children.get(i).selected());
|
|
||||||
|
|
||||||
ArrayList<ResourceCategory> resCats = new ArrayList<ResourceCategory>();
|
|
||||||
if ( children.get(i).selectableResourcesDescription()!=null) {
|
|
||||||
for (ResourceDescriptionItem category: children.get(i).selectableResourcesDescription()) {
|
|
||||||
if (category.resources()!=null) {
|
|
||||||
ResourceCategory rc = new ResourceCategory(category.id(), category.description());
|
|
||||||
for (ResourceItem resource : category.resources()) {
|
|
||||||
rc.addResourceItem(new ResourceCategoryItem(resource.id(), resource.name(), resource.description(), resource.selected()));
|
|
||||||
}
|
|
||||||
resCats.add(rc);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
funCategories.put(newchildrens[i].getId() , resCats);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
toAdd.addChildren(newchildrens);
|
|
||||||
toReturn.add(toAdd);
|
|
||||||
} else {
|
|
||||||
System.out.println("id:"+fi.id()+" "+fi.name() + " has no children");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
storeResourceCategoryInSession(funCategories);
|
|
||||||
for (String func : funCategories.keySet()) {
|
|
||||||
System.out.println("-"+func);
|
|
||||||
for(ResourceCategory category : funCategories.get(func)) {
|
|
||||||
System.out.println("--"+category.getName());
|
|
||||||
for(ResourceCategoryItem rc: category.getItems()) {
|
|
||||||
System.out.println("----"+rc.getName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
throw new VREDefinitionException("Set functionalities Error");
|
|
||||||
}
|
|
||||||
return toReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Map<String, Object> getVRE() throws VREDefinitionException {
|
|
||||||
|
|
||||||
HashMap<String, Object> toReturn = new HashMap<String,Object>();
|
|
||||||
|
|
||||||
HttpSession session = this.getThreadLocalRequest().getSession();
|
|
||||||
String username = (String) session.getAttribute(USERNAME_ATTRIBUTE);
|
|
||||||
|
|
||||||
List<UserModel> belongingUsers = new LinkedList<UserModel>();
|
|
||||||
|
|
||||||
if (withinEclipse) {
|
|
||||||
return getFakeBelongingUsers();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
UserManager um = null;
|
|
||||||
try {
|
|
||||||
um = new LiferayUserManager();
|
|
||||||
long currOrgid = getASLSession().getGroupId();
|
|
||||||
RoleManager rm = new LiferayRoleManager();
|
|
||||||
|
|
||||||
System.out.println("Trying to get roleid of " + VRE_MANAGER_STRING + " into " + getASLSession().getGroupName());
|
|
||||||
|
|
||||||
String roleId = "none";
|
|
||||||
|
|
||||||
roleId = rm.getRoleId(VRE_MANAGER_STRING, getASLSession().getGroupName());
|
|
||||||
System.out.println("Trying to get VRE-Managers of " + currOrgid + " role id=" + roleId);
|
|
||||||
|
|
||||||
|
|
||||||
belongingUsers = um.listUsersByGroupAndRole(""+currOrgid, roleId);
|
|
||||||
|
|
||||||
} catch (Exception e1) {
|
|
||||||
|
|
||||||
e1.printStackTrace();
|
|
||||||
throw new VREDefinitionException("We cannot find any VO-Admin user for this environment." +
|
|
||||||
" There must be at least one.");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (belongingUsers == null || belongingUsers.size() == 0)
|
|
||||||
throw new VREDefinitionException("We cannot find any VO-Admin user for this environment." +
|
|
||||||
" There must be at least one.");
|
|
||||||
|
|
||||||
try {
|
|
||||||
ArrayList<String> managers = new ArrayList<String>();
|
|
||||||
for (int i = 0; i < belongingUsers.size(); i++) {
|
|
||||||
managers.add(belongingUsers.get(i).getFullname()+" ("+belongingUsers.get(i).getScreenName()+")");
|
|
||||||
}
|
|
||||||
toReturn.put("Manager", managers);
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
|
|
||||||
e.printStackTrace();
|
|
||||||
throw new VREDefinitionException("We cannot find any VO-Admin user for this environment." +
|
|
||||||
" There must be at least one.");
|
|
||||||
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
|
|
||||||
String fullName = um.getUserByScreenName(username).getFullname();
|
|
||||||
toReturn.put("Designer", fullName+" ("+username+")");
|
|
||||||
|
|
||||||
|
|
||||||
VREDescriptionBean vre = getVREInSession();
|
|
||||||
if(vre!= null) {
|
|
||||||
toReturn.put("vreName",vre.getName());
|
|
||||||
toReturn.put("vreManager", vre.getManager());
|
|
||||||
toReturn.put("vreDesigner", fullName+" ("+vre.getDesigner()+")");
|
|
||||||
toReturn.put("vreDescription", vre.getDescription());
|
|
||||||
toReturn.put("vreStartTime", vre.getStartTime());
|
|
||||||
toReturn.put("vreEndTime",vre.getEndTime());
|
|
||||||
}
|
|
||||||
} catch (Exception e){
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return toReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
private HashMap<String, Object> getFakeBelongingUsers() {
|
|
||||||
|
|
||||||
HashMap<String, Object> ret = new HashMap<String,Object>();
|
|
||||||
|
|
||||||
ArrayList<String> managers = new ArrayList<String>();
|
|
||||||
|
|
||||||
managers.add("Pasquale Pagano (pasquale.pagano)");
|
|
||||||
managers.add("Andrea Manzi (andrea.manzi)");
|
|
||||||
managers.add("Massimiliano Assante (massimiliano.assante)");
|
|
||||||
ret.put("Manager",managers);
|
|
||||||
|
|
||||||
ret.put("Designer", "Leanoardo Candela (leonardo.candela)");
|
|
||||||
try {
|
|
||||||
VREDescriptionBean vre = getVREInSession();
|
|
||||||
if(vre!= null) {
|
|
||||||
System.out.println(" ########### VRE != NULL ##########");
|
|
||||||
ret.put("vreName",vre.getName());
|
|
||||||
ret.put("vreManager", vre.getManager());
|
|
||||||
ret.put("vreDesigner", vre.getDesigner());
|
|
||||||
ret.put("vreDescription", vre.getDescription());
|
|
||||||
ret.put("vreStartTime", vre.getStartTime());
|
|
||||||
ret.put("vreEndTime",vre.getEndTime());
|
|
||||||
}
|
|
||||||
} catch (Exception e1){
|
|
||||||
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
private String extractUserName(String toExtract) {
|
|
||||||
int openBracket = toExtract.indexOf("(")+1;
|
|
||||||
int closeBracket = toExtract.indexOf(")");
|
|
||||||
return toExtract.substring(openBracket, closeBracket);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String setVRE(VREDescriptionBean bean, String[] functionalityIDs, HashMap<String, List<ExternalResourceModel>> funcToExternalResources)
|
|
||||||
throws VREDefinitionException {
|
|
||||||
|
|
||||||
String completeDesigner = bean.getDesigner();
|
|
||||||
bean.setDesigner(extractUserName(bean.getDesigner()));
|
|
||||||
String managerUserName = extractUserName(bean.getManager());
|
|
||||||
bean.setManager(managerUserName);
|
|
||||||
|
|
||||||
setVREDescription(bean);
|
|
||||||
setFunctionality(functionalityIDs, funcToExternalResources);
|
|
||||||
try {
|
|
||||||
getVREGenerator().setVREtoPendingState();
|
|
||||||
|
|
||||||
getASLSession().setAttribute(VRE_DEFINER_GENERATOR_ATTRIBUTE, null);
|
|
||||||
Workspace workspace = HomeLibrary.getUserWorkspace(getASLSession().getUsername());
|
|
||||||
ArrayList<String> toSend = new ArrayList<String>();
|
|
||||||
toSend.add(managerUserName);
|
|
||||||
String subject = "New VRE Definition requires your approval";
|
|
||||||
String body = "Dear Manager, \n\n" + completeDesigner + " has created a VRE Definition indicating you as VRE Manager on " + getASLSession().getScope();
|
|
||||||
body+=".\n\nThe VRE Name is: " + bean.getName() +", the VRE Description is: " + bean.getDescription()+".";
|
|
||||||
String messagedId = workspace.getWorkspaceMessageManager().sendMessageToPortalLogins(subject, body, new ArrayList<String>(), toSend);
|
|
||||||
NotificationsManager nnm = new ApplicationNotificationsManager(getASLSession());
|
|
||||||
if (nnm.notifyMessageReceived(managerUserName, messagedId, subject, body))
|
|
||||||
_log.trace("Sending VRE Definition create notification: " + subject + " OK");
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
AccessLogger log = AccessLogger.getAccessLogger();
|
|
||||||
CreatedVRELogEntry logEntry = new CreatedVRELogEntry(bean.getName(), "unknown", bean.getDesigner(), bean.getManager());
|
|
||||||
log.logEntry(getASLSession().getUsername(), getASLSession().getScopeName(), logEntry);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @param functionalityIDs
|
|
||||||
* @param funcToExternalResources
|
|
||||||
* @return
|
|
||||||
* @throws VREDefinitionException
|
|
||||||
*/
|
|
||||||
public String setFunctionality(String[] functionalityIDs, HashMap<String, List<ExternalResourceModel>> funcToExternalResources) throws VREDefinitionException {
|
|
||||||
//fillling up
|
|
||||||
ArrayList<SelectedResourceDescriptionType> toSend = new ArrayList<SelectedResourceDescriptionType>();
|
|
||||||
|
|
||||||
//for each func
|
|
||||||
for (int i = 0; i < functionalityIDs.length; i++) {
|
|
||||||
if (funcToExternalResources.containsKey(functionalityIDs[i])) { //get the associated resources
|
|
||||||
String descriptionId = "";
|
|
||||||
ArrayList<String> resourceIds = new ArrayList<String>();
|
|
||||||
for (ExternalResourceModel extRes : funcToExternalResources.get(functionalityIDs[i])) {
|
|
||||||
_log.debug("resource: " + extRes.getName() + " Selected?" + extRes.isSelected());
|
|
||||||
if (extRes.isSelected()) {
|
|
||||||
descriptionId = extRes.getCategoryId();
|
|
||||||
resourceIds.add(extRes.getId());
|
|
||||||
_log.debug("------> Added selected resource: " + extRes.getName() + " id=" + extRes.getId() + "\n");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SelectedResourceDescriptionType toAdd = new SelectedResourceDescriptionType();
|
|
||||||
toAdd.descriptionId(descriptionId);
|
|
||||||
toAdd.resourceIds(resourceIds);
|
|
||||||
toSend.add(toAdd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Integer funcIdAsInts[] = new Integer[functionalityIDs.length];
|
|
||||||
for (int i = 0; i < functionalityIDs.length; i++) {
|
|
||||||
try {
|
|
||||||
funcIdAsInts[i] = Integer.parseInt(functionalityIDs[i]);
|
|
||||||
}
|
|
||||||
catch (ClassCastException e) {
|
|
||||||
_log.error("Could not convert to int: " + functionalityIDs[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
SelectedResourceDescriptionType[] selres = toSend.toArray(new SelectedResourceDescriptionType[toSend.size()]);
|
|
||||||
System.out.println("SelectedResourceDescriptionType[] Sending to Service .... toSend size = " + toSend.size());
|
|
||||||
for (int i = 0; i < selres.length; i++) {
|
|
||||||
System.out.println("SelectedResourceDescriptionType DESC: " + selres[i].getDescriptionId());
|
|
||||||
for (int j = 0; j < selres[i].resourceIds().size(); j++) {
|
|
||||||
System.out.println("resid= " +selres[i].resourceIds().get(j));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
VREGeneratorEvo vreGenerator = getVREGenerator();
|
|
||||||
try {
|
|
||||||
vreGenerator.setFunctionality(funcIdAsInts, selres);
|
|
||||||
vreGenerator.setVREtoPendingState();
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
throw new VREDefinitionException("Set functionalities Error");
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private String setVREDescription(VREDescriptionBean bean) throws VREDefinitionException {
|
|
||||||
VREGeneratorEvo vreGenerator = getVREGenerator();
|
|
||||||
ASLSession d4ScienceSession = getASLSession();
|
|
||||||
d4ScienceSession.setAttribute("VREName", bean.getName());
|
|
||||||
d4ScienceSession.setAttribute(DESCRIPTION, bean.getDescription());
|
|
||||||
d4ScienceSession.setAttribute(DESIGNER, bean.getDesigner());
|
|
||||||
d4ScienceSession.setAttribute(MANAGER, bean.getManager());
|
|
||||||
try {
|
|
||||||
vreGenerator.setVREModel(bean.getName(), bean.getDescription(), bean.getDesigner(),
|
|
||||||
bean.getManager(), bean.getStartTime().getTime() , bean.getEndTime().getTime());
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
throw new VREDefinitionException("Set Description Error");
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public List<VRECollectionBean> getCollections() throws VREDefinitionException {
|
|
||||||
List<VRECollectionBean> listToReturn = new ArrayList<VRECollectionBean>();
|
|
||||||
return listToReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
private VREDescriptionBean getVREInSession() throws VREDefinitionException {
|
|
||||||
VREGeneratorEvo vreGenerator = getVREGenerator();
|
|
||||||
|
|
||||||
VREDescriptionBean vreDescBean = null;
|
|
||||||
try {
|
|
||||||
VREDescription sd = vreGenerator.getVREModel();
|
|
||||||
vreDescBean = new VREDescriptionBean(sd.name(), sd.description(),
|
|
||||||
sd.designer(), sd.manager(), sd.startTime().getTime(), sd.endTime().getTime());
|
|
||||||
|
|
||||||
} catch (RemoteException e) {
|
|
||||||
throw new VREDefinitionException("Fail retrieve VRE");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
System.out.println("Model: " + vreDescBean.getName());
|
|
||||||
System.out.println("--- END Getting VRE Model ---");
|
|
||||||
|
|
||||||
return vreDescBean;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public String[] getExistingNames() {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.server.loggers;
|
|
||||||
|
|
||||||
import org.gcube.application.framework.accesslogger.model.AccessLogEntry;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Represents an access log entry for creating a new Template
|
|
||||||
*/
|
|
||||||
public class CreatedVRELogEntry extends AccessLogEntry{
|
|
||||||
|
|
||||||
private String name;
|
|
||||||
private String id;
|
|
||||||
private String designer;
|
|
||||||
private String manager;
|
|
||||||
|
|
||||||
public CreatedVRELogEntry(String name, String id, String designer, String manager) {
|
|
||||||
super("Created_VRE");
|
|
||||||
this.name = replaceReservedChars(name);
|
|
||||||
this.id = replaceReservedChars(id);
|
|
||||||
this.designer = replaceReservedChars(designer);
|
|
||||||
this.manager = replaceReservedChars(manager);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getLogMessage() {
|
|
||||||
String message = "Name = " + name + "|ID = " + id + "|DESIGNER = " + designer+ "|MANAGER = " + manager;
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.server.loggers;
|
|
||||||
|
|
||||||
import org.gcube.application.framework.accesslogger.model.AccessLogEntry;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Represents an access log entry for OpenVREWizardLogEntry
|
|
||||||
*/
|
|
||||||
public class OpenVREWizardLogEntry extends AccessLogEntry{
|
|
||||||
|
|
||||||
|
|
||||||
public OpenVREWizardLogEntry() {
|
|
||||||
super("VRE Definition Open");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getLogMessage() {
|
|
||||||
String message = "VRE Definition Open";
|
|
||||||
return message;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,30 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.server.portlet;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
import javax.portlet.ActionRequest;
|
|
||||||
import javax.portlet.ActionResponse;
|
|
||||||
import javax.portlet.GenericPortlet;
|
|
||||||
import javax.portlet.PortletException;
|
|
||||||
import javax.portlet.PortletRequestDispatcher;
|
|
||||||
import javax.portlet.RenderRequest;
|
|
||||||
import javax.portlet.RenderResponse;
|
|
||||||
|
|
||||||
import org.gcube.portal.custom.scopemanager.scopehelper.ScopeHelper;
|
|
||||||
|
|
||||||
public class VREDefinitionPortlet extends GenericPortlet {
|
|
||||||
|
|
||||||
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
|
|
||||||
ScopeHelper.setContext(request);
|
|
||||||
PortletRequestDispatcher dispatcher =
|
|
||||||
getPortletContext().getRequestDispatcher("/WEB-INF/jsp/CollectionViewerPortlet_view.jsp");
|
|
||||||
dispatcher.include(request, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public void processAction(ActionRequest request, ActionResponse response)
|
|
||||||
throws PortletException, IOException {
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.shared;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.BaseModel;
|
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
public class ExternalResourceModel extends BaseModel {
|
|
||||||
|
|
||||||
public ExternalResourceModel() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public ExternalResourceModel(String id, String name, String description, boolean isSelected, String categoryName, String categoryId) {
|
|
||||||
set("id", id);
|
|
||||||
set("name", name);
|
|
||||||
set("description", description);
|
|
||||||
set("category", categoryName);
|
|
||||||
set("categoryId", categoryId);
|
|
||||||
set("isSelected", isSelected);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getId() {
|
|
||||||
return (String) get("id");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return (String) get("name");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return (String) get("description");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCategoryName() {
|
|
||||||
return (String) get("category");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getCategoryId() {
|
|
||||||
return (String) get("categoryId");
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSelected() {
|
|
||||||
return ((Boolean) get("isSelected")).booleanValue();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.shared;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* <p>
|
|
||||||
* FieldVerifier validates that the name the user enters is valid.
|
|
||||||
* </p>
|
|
||||||
* <p>
|
|
||||||
* This class is in the <code>shared</code> packing because we use it in both
|
|
||||||
* the client code and on the server. On the client, we verify that the name is
|
|
||||||
* valid before sending an RPC request so the user doesn't have to wait for a
|
|
||||||
* network round trip to get feedback. On the server, we verify that the name is
|
|
||||||
* correct to ensure that the input is correct regardless of where the RPC
|
|
||||||
* originates.
|
|
||||||
* </p>
|
|
||||||
* <p>
|
|
||||||
* When creating a class that is used on both the client and the server, be sure
|
|
||||||
* that all code is translatable and does not use native JavaScript. Code that
|
|
||||||
* is note translatable (such as code that interacts with a database or the file
|
|
||||||
* system) cannot be compiled into client side JavaScript. Code that uses native
|
|
||||||
* JavaScript (such as Widgets) cannot be run on the server.
|
|
||||||
* </p>
|
|
||||||
*/
|
|
||||||
public class FieldVerifier {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Verifies that the specified name is valid for our service.
|
|
||||||
*
|
|
||||||
* In this example, we only require that the name is at least four
|
|
||||||
* characters. In your application, you can use more complex checks to ensure
|
|
||||||
* that usernames, passwords, email addresses, URLs, and other fields have the
|
|
||||||
* proper syntax.
|
|
||||||
*
|
|
||||||
* @param name the name to validate
|
|
||||||
* @return true if valid, false if invalid
|
|
||||||
*/
|
|
||||||
public static boolean isValidName(String name) {
|
|
||||||
if (name == null) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return name.length() > 3;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,57 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.shared;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
public class ResourceCategory implements Serializable {
|
|
||||||
|
|
||||||
private String id;
|
|
||||||
private String name;
|
|
||||||
private ArrayList<ResourceCategoryItem> items;
|
|
||||||
|
|
||||||
public ResourceCategory() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResourceCategory(String id, String name,
|
|
||||||
ArrayList<ResourceCategoryItem> items) {
|
|
||||||
super();
|
|
||||||
this.id = id;
|
|
||||||
this.name = name;
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResourceCategory(String id, String name) {
|
|
||||||
super();
|
|
||||||
this.id = id;
|
|
||||||
this.name = name;
|
|
||||||
this.items = new ArrayList<ResourceCategoryItem>();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public String getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
public void setId(String id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
public void setName(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
public ArrayList<ResourceCategoryItem> getItems() {
|
|
||||||
return items;
|
|
||||||
}
|
|
||||||
public void setItems(ArrayList<ResourceCategoryItem> items) {
|
|
||||||
this.items = items;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void addResourceItem(ResourceCategoryItem item) {
|
|
||||||
items.add(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,60 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.shared;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
public class ResourceCategoryItem implements Serializable {
|
|
||||||
|
|
||||||
private String id;
|
|
||||||
private String name;
|
|
||||||
private String description;
|
|
||||||
private boolean isSelected;
|
|
||||||
|
|
||||||
public ResourceCategoryItem() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public ResourceCategoryItem(String id, String name, String description,
|
|
||||||
boolean isSelected) {
|
|
||||||
super();
|
|
||||||
this.id = id;
|
|
||||||
this.name = name;
|
|
||||||
this.description = description;
|
|
||||||
this.isSelected = isSelected;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getId() {
|
|
||||||
return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(String id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setName(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSelected() {
|
|
||||||
return isSelected;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSelected(boolean isSelected) {
|
|
||||||
this.isSelected = isSelected;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.shared;
|
|
||||||
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
import com.extjs.gxt.ui.client.data.BaseModel;
|
|
||||||
|
|
||||||
public class VRECollectionBean extends BaseModel {
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
public VRECollectionBean() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public VRECollectionBean(String id, String name, String description, int numberOfMembers, Date creationTime, Date lastUpdateTime, boolean isSelected) {
|
|
||||||
|
|
||||||
set("name", name);
|
|
||||||
set("description", description);
|
|
||||||
set("numberOfMembers", numberOfMembers);
|
|
||||||
set("creationTime", creationTime);
|
|
||||||
set("lastUpdateTime", lastUpdateTime);
|
|
||||||
set("isSelected", isSelected);
|
|
||||||
set("id", id);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getId() {
|
|
||||||
return (String) get("id");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return (String) get("name");
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return (String) get("description");
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getNumberOfMembers() {
|
|
||||||
return ((Integer) get("numberOfMembers")).intValue();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getCreationTime() {
|
|
||||||
return (Date) get("creationTime");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public Date getLastUpdateTime() {
|
|
||||||
return (Date) get("lastUpdateTime");
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isSelected() {
|
|
||||||
return ((Boolean) get("isSelected")).booleanValue();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,84 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.shared;
|
|
||||||
|
|
||||||
import java.io.Serializable;
|
|
||||||
import java.util.Date;
|
|
||||||
|
|
||||||
@SuppressWarnings("serial")
|
|
||||||
public class VREDescriptionBean implements Serializable {
|
|
||||||
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
private String description;
|
|
||||||
|
|
||||||
private String designer;
|
|
||||||
|
|
||||||
private String manager;
|
|
||||||
|
|
||||||
private Date startTime;
|
|
||||||
|
|
||||||
private Date endTime;
|
|
||||||
|
|
||||||
public VREDescriptionBean() {
|
|
||||||
super();
|
|
||||||
// TODO Auto-generated constructor stub
|
|
||||||
}
|
|
||||||
|
|
||||||
public VREDescriptionBean(String name, String description, String designer,
|
|
||||||
String manager, Date startTime, Date endTime) {
|
|
||||||
super();
|
|
||||||
this.name = name;
|
|
||||||
this.description = description;
|
|
||||||
this.designer = designer;
|
|
||||||
this.manager = manager;
|
|
||||||
this.startTime = startTime;
|
|
||||||
this.endTime = endTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setName(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDescription(String description) {
|
|
||||||
this.description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDesigner() {
|
|
||||||
return designer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDesigner(String designer) {
|
|
||||||
this.designer = designer;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getManager() {
|
|
||||||
return manager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setManager(String manager) {
|
|
||||||
this.manager = manager;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getStartTime() {
|
|
||||||
return startTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStartTime(Date startTime) {
|
|
||||||
this.startTime = startTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getEndTime() {
|
|
||||||
return endTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEndTime(Date endTime) {
|
|
||||||
this.endTime = endTime;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
package org.gcube.portlets.admin.vredefinition.shared.exception;
|
|
||||||
|
|
||||||
public class VREDefinitionException extends Exception {
|
|
||||||
|
|
||||||
private String error;
|
|
||||||
public VREDefinitionException(){
|
|
||||||
|
|
||||||
error = "VRE Definition Error :";
|
|
||||||
}
|
|
||||||
|
|
||||||
public VREDefinitionException(String message){
|
|
||||||
error += message;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getError() {
|
|
||||||
return this.error;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<module rename-to='vredefinition'>
|
|
||||||
<!-- Inherit the core Web Toolkit stuff. -->
|
|
||||||
<inherits name='com.google.gwt.user.User' />
|
|
||||||
|
|
||||||
<!-- inherits GCUBE Widgets -->
|
|
||||||
<inherits name='org.gcube.portlets.user.gcubewidgets.WidgetFactory' />
|
|
||||||
<inherits name="com.extjs.gxt.ui.GXT" />
|
|
||||||
|
|
||||||
<!-- Other module inherits -->
|
|
||||||
|
|
||||||
<!-- Specify the app entry point class. -->
|
|
||||||
<entry-point class='org.gcube.portlets.admin.vredefinition.client.VREDefinition' />
|
|
||||||
|
|
||||||
<!-- Specify the paths for translatable code -->
|
|
||||||
<source path='client' />
|
|
||||||
<source path='shared' />
|
|
||||||
|
|
||||||
</module>
|
|
|
@ -1,136 +0,0 @@
|
||||||
.info-icon {
|
|
||||||
background-image: url(images/icons/information.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.content-icon {
|
|
||||||
background-image: url(images/icons/content.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.collections-icon {
|
|
||||||
background-image: url(images/icons/collections.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.metadata-icon {
|
|
||||||
background-image: url(images/icons/metadata.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.functionality-icon {
|
|
||||||
background-image: url(images/icons/functionality.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.functionality-add-icon {
|
|
||||||
background-image: url(images/icons/functionality_add.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.architecture-icon {
|
|
||||||
background-image: url(images/icons/architecture.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.report-icon {
|
|
||||||
background-image: url(images/icons/report.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.play-icon {
|
|
||||||
background-image: url(images/icons/play.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.runninginstance-icon {
|
|
||||||
background-image: url(images/icons/runninginstance.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.forward-icon {
|
|
||||||
background-image: url(images/icons/forward.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.forward-icon-over {
|
|
||||||
opacity: 0.6;
|
|
||||||
filter: alpha(opacity = 60);
|
|
||||||
}
|
|
||||||
|
|
||||||
.forward-icon-disabled {
|
|
||||||
background-image: url(images/icons/forward.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.backward-icon {
|
|
||||||
background-image: url(images/icons/backward.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.backward-icon-over {
|
|
||||||
opacity: 0.6;
|
|
||||||
filter: alpha(opacity = 60);
|
|
||||||
}
|
|
||||||
|
|
||||||
.backward-icon-disabled {
|
|
||||||
background-image: url(images/icons/backward.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.upload-icon {
|
|
||||||
background-image: url(images/icons/upload.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.upload-icon-over {
|
|
||||||
opacity: 0.6;
|
|
||||||
filter: alpha(opacity = 60);
|
|
||||||
}
|
|
||||||
|
|
||||||
.upload-icon-disabled {
|
|
||||||
background-image: url(images/icons/upload.png) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.label-wizard {
|
|
||||||
color: #15428B;
|
|
||||||
font-size: 20px ! important;
|
|
||||||
font-weight: bold ! important;
|
|
||||||
margin-top: 18px;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.23);
|
|
||||||
}
|
|
||||||
|
|
||||||
.functionalityText {
|
|
||||||
color: #444;
|
|
||||||
font-family: 'Lucida Grande', Verdana, 'Bitstream Vera Sans', Arial,
|
|
||||||
sans-serif;
|
|
||||||
font-size: 12px;
|
|
||||||
padding-left: 5px;
|
|
||||||
padding-right: 10px;
|
|
||||||
text-align: justify;
|
|
||||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.20);
|
|
||||||
line-height: 15px ! important;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
overflow-y: auto;
|
|
||||||
height: 120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resourceText {
|
|
||||||
color: #444;
|
|
||||||
font-family: 'Lucida Grande', Verdana, 'Bitstream Vera Sans', Arial, sans-serif;
|
|
||||||
font-size: 10px;
|
|
||||||
padding-left: 5px;
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
|
|
||||||
.theTitle {
|
|
||||||
font-family: Georgia, 'Times New Roman', Times, serif;
|
|
||||||
font-size: 18px;
|
|
||||||
color: #333;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
padding-top: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.theResources {
|
|
||||||
font-family: Georgia, 'Times New Roman', Times, serif;
|
|
||||||
font-size: 15px;
|
|
||||||
color: #333;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
padding-top: 5px;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.extres {
|
|
||||||
background-image:url(images/ext_resource.png) !important;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #555;
|
|
||||||
font-size: 12px;
|
|
||||||
padding-left: 20px;
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
<!doctype html>
|
|
||||||
<!-- The DOCTYPE declaration above will set the -->
|
|
||||||
<!-- browser's rendering engine into -->
|
|
||||||
<!-- "Standards Mode". Replacing this declaration -->
|
|
||||||
<!-- with a "Quirks Mode" doctype may lead to some -->
|
|
||||||
<!-- differences in layout. -->
|
|
||||||
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
||||||
|
|
||||||
<!-- -->
|
|
||||||
<!-- Consider inlining CSS to reduce the number of requested files -->
|
|
||||||
<!-- -->
|
|
||||||
<link rel="stylesheet" type="text/css" href="gxt/css/gxt-all.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="VREDefinition.css">
|
|
||||||
|
|
||||||
<title>Web Application Starter Project</title>
|
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript" src="vredefinition/vredefinition.nocache.js"></script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
|
|
||||||
<div id="VREDefinitionDIV"></div>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,13 +0,0 @@
|
||||||
<%@page contentType="text/html"%>
|
|
||||||
<%@page pageEncoding="UTF-8"%>
|
|
||||||
|
|
||||||
<%-- Uncomment below lines to add portlet taglibs to jsp
|
|
||||||
<%@ page import="javax.portlet.*"%>
|
|
||||||
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
|
|
||||||
|
|
||||||
<portlet:defineObjects />
|
|
||||||
--%>
|
|
||||||
|
|
||||||
<b>
|
|
||||||
EDIT MODE
|
|
||||||
</b>
|
|
|
@ -1,13 +0,0 @@
|
||||||
<%@page contentType="text/html"%>
|
|
||||||
<%@page pageEncoding="UTF-8"%>
|
|
||||||
|
|
||||||
<%-- Uncomment below lines to add portlet taglibs to jsp
|
|
||||||
<%@ page import="javax.portlet.*"%>
|
|
||||||
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
|
|
||||||
|
|
||||||
<portlet:defineObjects />
|
|
||||||
--%>
|
|
||||||
|
|
||||||
<b>
|
|
||||||
HELP MODE
|
|
||||||
</b>
|
|
|
@ -1,17 +0,0 @@
|
||||||
<%@page contentType="text/html"%>
|
|
||||||
<%@page pageEncoding="UTF-8"%>
|
|
||||||
|
|
||||||
<%-- Uncomment below lines to add portlet taglibs to jsp
|
|
||||||
<%@ page import="javax.portlet.*"%>
|
|
||||||
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
|
|
||||||
|
|
||||||
<portlet:defineObjects />
|
|
||||||
--%>
|
|
||||||
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/gxt/css/gxt-all.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/VREDefinition.css">
|
|
||||||
|
|
||||||
<script language='javascript' src='<%=request.getContextPath()%>/gxt/flash/swfobject.js'></script>
|
|
||||||
|
|
||||||
<script type="text/javascript" language="javascript" src='<%=request.getContextPath()%>/vredefinition/vredefinition.nocache.js'></script>
|
|
||||||
<div id="VREDefinitionDIV">
|
|
||||||
</div>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 5.2.0//EN" "http://www.liferay.com/dtd/liferay-display_5_2_0.dtd">
|
|
||||||
|
|
||||||
<display>
|
|
||||||
<category name="gCube Enabling Apps">
|
|
||||||
<portlet id="VREDefinition" />
|
|
||||||
</category>
|
|
||||||
</display>
|
|
|
@ -1,9 +0,0 @@
|
||||||
name=VRE Definition Wizard
|
|
||||||
module-group-id=liferay
|
|
||||||
module-incremental-version=1
|
|
||||||
tags=
|
|
||||||
short-description=
|
|
||||||
change-log=
|
|
||||||
page-url=http://www.liferay.com
|
|
||||||
author=Liferay, Inc.
|
|
||||||
licenses=MIT
|
|
|
@ -1,17 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 5.2.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_5_2_0.dtd">
|
|
||||||
|
|
||||||
<liferay-portlet-app>
|
|
||||||
<portlet>
|
|
||||||
<portlet-name>VREDefinition</portlet-name>
|
|
||||||
<layout-cacheable>false</layout-cacheable>
|
|
||||||
<instanceable>false</instanceable>
|
|
||||||
<ajaxable>false</ajaxable>
|
|
||||||
<!-- LOCATION CSS HERE -->
|
|
||||||
<header-portlet-css>/Wizard.css</header-portlet-css>
|
|
||||||
</portlet>
|
|
||||||
<role-mapper>
|
|
||||||
<role-name>administrator</role-name>
|
|
||||||
<role-link>Administrator</role-link>
|
|
||||||
</role-mapper>
|
|
||||||
</liferay-portlet-app>
|
|
|
@ -1,24 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
|
|
||||||
<portlet>
|
|
||||||
<portlet-name>VREDefinition</portlet-name>
|
|
||||||
<display-name>VRE Definition Wizard</display-name>
|
|
||||||
<portlet-class>org.gcube.portlets.admin.vredefinition.server.portlet.VREDefinitionPortlet</portlet-class>
|
|
||||||
<init-param>
|
|
||||||
<name>view-jsp</name>
|
|
||||||
<value>/WEB-INF/jsp/CollectionViewerPortlet_view.jsp</value>
|
|
||||||
</init-param>
|
|
||||||
<expiration-cache>0</expiration-cache>
|
|
||||||
<supports>
|
|
||||||
<mime-type>text/html</mime-type>
|
|
||||||
</supports>
|
|
||||||
<portlet-info>
|
|
||||||
<title>VRE Definition Wizard</title>
|
|
||||||
<short-title>VRE Definition Wizard</short-title>
|
|
||||||
<keywords>VRE Definition Wizard</keywords>
|
|
||||||
</portlet-info>
|
|
||||||
<security-role-ref>
|
|
||||||
<role-name>administrator</role-name>
|
|
||||||
</security-role-ref>
|
|
||||||
</portlet>
|
|
||||||
</portlet-app>
|
|
|
@ -1,23 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE web-app
|
|
||||||
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
|
|
||||||
"http://java.sun.com/dtd/web-app_2_3.dtd">
|
|
||||||
|
|
||||||
<web-app>
|
|
||||||
<!-- Servlets -->
|
|
||||||
<servlet>
|
|
||||||
<servlet-name>VREDefinitionServiceImpl</servlet-name>
|
|
||||||
<servlet-class>org.gcube.portlets.admin.vredefinition.server.VREDefinitionServiceImpl</servlet-class>
|
|
||||||
</servlet>
|
|
||||||
|
|
||||||
<servlet-mapping>
|
|
||||||
<servlet-name>VREDefinitionServiceImpl</servlet-name>
|
|
||||||
<url-pattern>/vredefinition/VREDefinitionServiceImpl</url-pattern>
|
|
||||||
</servlet-mapping>
|
|
||||||
|
|
||||||
<!-- Default page to serve -->
|
|
||||||
<welcome-file-list>
|
|
||||||
<welcome-file>VREDefinition.html</welcome-file>
|
|
||||||
</welcome-file-list>
|
|
||||||
|
|
||||||
</web-app>
|
|
|
@ -1,493 +0,0 @@
|
||||||
.x-panel {
|
|
||||||
border-style: solid;
|
|
||||||
border-color: #d0d0d0;
|
|
||||||
}
|
|
||||||
.x-panel-header {
|
|
||||||
color:#333;
|
|
||||||
border:1px solid #d0d0d0;
|
|
||||||
background-image:url(../images/gray/panel/white-top-bottom.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-body {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-bbar .x-toolbar {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-tbar .x-toolbar {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-tbar-noheader .x-toolbar, .x-panel-mc .x-panel-tbar .x-toolbar {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
.x-panel-body-noheader, .x-panel-mc .x-panel-body {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
.x-panel-tl .x-panel-header {
|
|
||||||
color:#333;
|
|
||||||
}
|
|
||||||
.x-panel-tc {
|
|
||||||
background-image:url(../images/gray/panel/top-bottom.gif);
|
|
||||||
}
|
|
||||||
.x-panel-tl {
|
|
||||||
background-image:url(../images/gray/panel/corners-sprite.gif);
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
.x-panel-tr {
|
|
||||||
background-image:url(../images/gray/panel/corners-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-panel-bc {
|
|
||||||
background-image:url(../images/gray/panel/top-bottom.gif);
|
|
||||||
}
|
|
||||||
.x-panel-bl {
|
|
||||||
background-image:url(../images/gray/panel/corners-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-panel-br {
|
|
||||||
background-image:url(../images/gray/panel/corners-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-panel-mc {
|
|
||||||
background:#f1f1f1;
|
|
||||||
}
|
|
||||||
.x-panel-mc .x-panel-body {
|
|
||||||
background:transparent;
|
|
||||||
border: 0 none;
|
|
||||||
}
|
|
||||||
.x-panel-ml {
|
|
||||||
background-image:url(../images/gray/panel/left-right.gif);
|
|
||||||
}
|
|
||||||
.x-panel-mr {
|
|
||||||
background-image:url(../images/gray/panel/left-right.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Tools */
|
|
||||||
.x-tool {
|
|
||||||
background-image:url(../images/gray/panel/tool-sprites.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Ghosting */
|
|
||||||
.x-panel-ghost {
|
|
||||||
background:#e0e0e0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-ghost ul {
|
|
||||||
border-color:#b0b0b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-grid-panel .x-panel-mc .x-panel-body {
|
|
||||||
border:1px solid #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Buttons */
|
|
||||||
|
|
||||||
.x-btn-left{
|
|
||||||
background-image:url(../images/gray/button/btn-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-btn-right{
|
|
||||||
background-image:url(../images/gray/button/btn-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-btn-center{
|
|
||||||
background-image:url(../images/gray/button/btn-sprite.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-btn-group-header {
|
|
||||||
color: #333333;
|
|
||||||
}
|
|
||||||
.x-btn-group-tc {
|
|
||||||
background-image: url(../images/gray/button/group-tb.gif);
|
|
||||||
}
|
|
||||||
.x-btn-group-tl {
|
|
||||||
background-image: url(../images/gray/button/group-cs.gif);
|
|
||||||
}
|
|
||||||
.x-btn-group-tr {
|
|
||||||
background-image: url(../images/gray/button/group-cs.gif);
|
|
||||||
}
|
|
||||||
.x-btn-group-bc {
|
|
||||||
background-image: url(../images/gray/button/group-tb.gif);
|
|
||||||
}
|
|
||||||
.x-btn-group-bl {
|
|
||||||
background-image: url(../images/gray/button/group-cs.gif);
|
|
||||||
}
|
|
||||||
.x-btn-group-br {
|
|
||||||
background-image: url(../images/gray/button/group-cs.gif);
|
|
||||||
}
|
|
||||||
.x-btn-group-ml {
|
|
||||||
background-image: url(../images/gray/button/group-lr.gif);
|
|
||||||
}
|
|
||||||
.x-btn-group-mr {
|
|
||||||
background-image: url(../images/gray/button/group-lr.gif);
|
|
||||||
}
|
|
||||||
.x-btn-group-notitle .x-btn-group-tc {
|
|
||||||
background-image: url(../images/gray/button/group-tb.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Layout classes */
|
|
||||||
|
|
||||||
.x-border-layout-ct {
|
|
||||||
background:#f0f0f0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-accordion-hd {
|
|
||||||
background-image:url(../images/gray/panel/light-hd.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-layout-collapsed{
|
|
||||||
background-color:#eee;
|
|
||||||
border-color:#e0e0e0;
|
|
||||||
}
|
|
||||||
.x-layout-collapsed-over{
|
|
||||||
background-color:#fbfbfb;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* qtips */
|
|
||||||
.x-tip .x-tip-top {
|
|
||||||
background-image:url(../images/gray/qtip/tip-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-tip .x-tip-top-left {
|
|
||||||
background-image:url(../images/gray/qtip/tip-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-tip .x-tip-top-right {
|
|
||||||
background-image:url(../images/gray/qtip/tip-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-tip .x-tip-ft {
|
|
||||||
background-image:url(../images/gray/qtip/tip-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-tip .x-tip-ft-left {
|
|
||||||
background-image:url(../images/gray/qtip/tip-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-tip .x-tip-ft-right {
|
|
||||||
background-image:url(../images/gray/qtip/tip-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-tip .x-tip-bd-left {
|
|
||||||
background-image:url(../images/gray/qtip/tip-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-tip .x-tip-bd-right {
|
|
||||||
background-image:url(../images/gray/qtip/tip-sprite.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Toolbars */
|
|
||||||
|
|
||||||
.x-toolbar{
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
background:#f0f4f5 url(../images/gray/toolbar/bg.gif) repeat-x top left;
|
|
||||||
}
|
|
||||||
.x-toolbar button {
|
|
||||||
color:#444;
|
|
||||||
}
|
|
||||||
.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button {
|
|
||||||
background-image:url(../images/gray/toolbar/btn-arrow.gif);
|
|
||||||
}
|
|
||||||
.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button {
|
|
||||||
background-image:url(../images/gray/toolbar/btn-arrow.gif);
|
|
||||||
}
|
|
||||||
.x-toolbar .x-btn-over .x-btn-left{
|
|
||||||
background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-toolbar .x-btn-over .x-btn-right{
|
|
||||||
background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-toolbar .x-btn-over .x-btn-center{
|
|
||||||
background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-toolbar .x-btn-over button {
|
|
||||||
color:#111;
|
|
||||||
}
|
|
||||||
.x-toolbar .x-btn-click .x-btn-left, .x-toolbar .x-btn-pressed .x-btn-left, .x-toolbar .x-btn-menu-active .x-btn-left{
|
|
||||||
background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-toolbar .x-btn-click .x-btn-right, .x-toolbar .x-btn-pressed .x-btn-right, .x-toolbar .x-btn-menu-active .x-btn-right{
|
|
||||||
background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-toolbar .x-btn-click .x-btn-center, .x-toolbar .x-btn-pressed .x-btn-center, .x-toolbar .x-btn-menu-active .x-btn-center{
|
|
||||||
background-image:url(../images/gray/toolbar/tb-btn-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-toolbar .xtb-sep {
|
|
||||||
background-image: url(../images/gray/grid/grid-split.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Tabs */
|
|
||||||
|
|
||||||
.x-tab-panel-header, .x-tab-panel-footer {
|
|
||||||
background: #EAEAEA;
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.x-tab-panel-header {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-panel-footer {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.x-tab-strip-top{
|
|
||||||
background:#dbdbdb url(../images/gray/tabs/tab-strip-bg.gif) repeat-x left top;
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
padding-top: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.x-tab-strip-bottom{
|
|
||||||
background-image:url(../images/gray/tabs/tab-strip-btm-bg.gif);
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip span.x-tab-strip-text {
|
|
||||||
color:#333;
|
|
||||||
}
|
|
||||||
.x-tab-strip-over span.x-tab-strip-text {
|
|
||||||
color:#111;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip-active span.x-tab-strip-text {
|
|
||||||
color:#333;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip-disabled .x-tabs-text {
|
|
||||||
color:#aaaaaa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip-top .x-tab-right {
|
|
||||||
background-image:url(../images/gray/tabs/tabs-sprite.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip-top .x-tab-left {
|
|
||||||
background-image:url(../images/gray/tabs/tabs-sprite.gif);
|
|
||||||
}
|
|
||||||
.x-tab-strip-top .x-tab-strip-inner {
|
|
||||||
background-image:url(../images/gray/tabs/tabs-sprite.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip-bottom .x-tab-right {
|
|
||||||
background-image:url(../images/gray/tabs/tab-btm-inactive-right-bg.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip-bottom .x-tab-left {
|
|
||||||
background-image:url(../images/gray/tabs/tab-btm-inactive-left-bg.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip-bottom .x-tab-strip-active .x-tab-right {
|
|
||||||
background-image:url(../images/gray/tabs/tab-btm-right-bg.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip-bottom .x-tab-strip-active .x-tab-left {
|
|
||||||
background-image:url(../images/gray/tabs/tab-btm-left-bg.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close {
|
|
||||||
background-image:url(../images/gray/tabs/tab-close.gif);
|
|
||||||
}
|
|
||||||
.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{
|
|
||||||
background-image:url(../images/gray/tabs/tab-close.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-panel-body {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
background:#fff;
|
|
||||||
}
|
|
||||||
.x-tab-panel-bbar .x-toolbar {
|
|
||||||
border-color: #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-panel-tbar .x-toolbar {
|
|
||||||
border-color: #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-panel-header-plain .x-tab-strip-spacer {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
background: #eaeaea;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-scroller-left {
|
|
||||||
background-image: url(../images/gray/tabs/scroll-left.gif);
|
|
||||||
border-color:#aeaeae;
|
|
||||||
}
|
|
||||||
.x-tab-scroller-right {
|
|
||||||
background-image: url(../images/gray/tabs/scroll-right.gif);
|
|
||||||
border-color:#aeaeae;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Window */
|
|
||||||
|
|
||||||
.x-window-proxy {
|
|
||||||
background:#e0e0e0;
|
|
||||||
border-color:#b0b0b0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-window-tl .x-window-header {
|
|
||||||
color:#555;
|
|
||||||
}
|
|
||||||
.x-window-tc {
|
|
||||||
background-image:url(../images/gray/window/top-bottom.png);
|
|
||||||
}
|
|
||||||
.x-window-tl {
|
|
||||||
background-image:url(../images/gray/window/left-corners.png);
|
|
||||||
}
|
|
||||||
.x-window-tr {
|
|
||||||
background-image:url(../images/gray/window/right-corners.png);
|
|
||||||
}
|
|
||||||
.x-window-bc {
|
|
||||||
background-image:url(../images/gray/window/top-bottom.png);
|
|
||||||
}
|
|
||||||
.x-window-bl {
|
|
||||||
background-image:url(../images/gray/window/left-corners.png);
|
|
||||||
}
|
|
||||||
.x-window-br {
|
|
||||||
background-image:url(../images/gray/window/right-corners.png);
|
|
||||||
}
|
|
||||||
.x-window-mc {
|
|
||||||
border:1px solid #d0d0d0;
|
|
||||||
background:#e8e8e8;
|
|
||||||
}
|
|
||||||
.ext-ie .x-window-plain .x-window-mc {
|
|
||||||
background-color: #e3e3e3;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-window-ml {
|
|
||||||
background-image:url(../images/gray/window/left-right.png);
|
|
||||||
}
|
|
||||||
.x-window-mr {
|
|
||||||
background-image:url(../images/gray/window/left-right.png);
|
|
||||||
}
|
|
||||||
.x-panel-ghost .x-window-tl {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
.x-panel-collapsed .x-window-tl {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-window-plain .x-window-mc {
|
|
||||||
background: #e8e8e8;
|
|
||||||
border-right:1px solid #eee;
|
|
||||||
border-bottom:1px solid #eee;
|
|
||||||
border-top:1px solid #d0d0d0;
|
|
||||||
border-left:1px solid #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-window-plain .x-window-body {
|
|
||||||
border-left:1px solid #eee;
|
|
||||||
border-top:1px solid #eee;
|
|
||||||
border-bottom:1px solid #d0d0d0;
|
|
||||||
border-right:1px solid #d0d0d0;
|
|
||||||
background:transparent !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
body.x-body-masked .x-window-mc, body.x-body-masked .x-window-plain .x-window-mc {
|
|
||||||
background-color: #e4e4e4;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* misc */
|
|
||||||
.x-html-editor-wrap {
|
|
||||||
border-color:#d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Borders go last for specificity */
|
|
||||||
.x-panel-noborder .x-panel-body-noborder {
|
|
||||||
border-width:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-noborder .x-panel-header-noborder {
|
|
||||||
border-width:0;
|
|
||||||
border-bottom:1px solid #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-noborder .x-panel-tbar-noborder .x-toolbar {
|
|
||||||
border-width:0;
|
|
||||||
border-bottom:1px solid #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-noborder .x-panel-bbar-noborder .x-toolbar {
|
|
||||||
border-width:0;
|
|
||||||
border-top:1px solid #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-window-noborder .x-window-mc {
|
|
||||||
border-width:0;
|
|
||||||
}
|
|
||||||
.x-window-plain .x-window-body-noborder {
|
|
||||||
border-width:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-panel-noborder .x-tab-panel-body-noborder {
|
|
||||||
border-width:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-panel-noborder .x-tab-panel-header-noborder {
|
|
||||||
border-top-width:0;
|
|
||||||
border-left-width:0;
|
|
||||||
border-right-width:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-panel-noborder .x-tab-panel-footer-noborder {
|
|
||||||
border-bottom-width:0;
|
|
||||||
border-left-width:0;
|
|
||||||
border-right-width:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.x-tab-panel-bbar-noborder .x-toolbar {
|
|
||||||
border-width:0;
|
|
||||||
border-top:1px solid #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-tab-panel-tbar-noborder .x-toolbar {
|
|
||||||
border-width:0;
|
|
||||||
border-bottom:1px solid #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-spinner-field .x-form-spinner-up {
|
|
||||||
background-image: url('../images/gray/form/spinner.gif');
|
|
||||||
}
|
|
||||||
.x-spinner-field .x-form-spinner-down {
|
|
||||||
background-image: url('../images/gray/form/spinner.gif');
|
|
||||||
}.x-accordion-hd {
|
|
||||||
background-color: #e5e5e5;
|
|
||||||
}.x-border {
|
|
||||||
border: 1px solid #D0D0D0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-layout-popup {
|
|
||||||
background-color: #F0F0F0;
|
|
||||||
border: 1px solid #D0D0D0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.my-list {
|
|
||||||
border: 1px solid #D0D0D0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-view {
|
|
||||||
border:1px solid #D0D0D0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-menubar {
|
|
||||||
border-color: #D0D0D0;
|
|
||||||
background-color: #F0F0F0;
|
|
||||||
background-image: url(../images/gray/toolbar/bg.gif);
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-menubar-item-active {
|
|
||||||
background-color: #D9E8FB;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-menubar-item-active {
|
|
||||||
background-color: #D9E8FB;
|
|
||||||
}.x-date-right-icon {
|
|
||||||
background-image: url(../images/default/shared/right-btn.gif);
|
|
||||||
margin-right: 2px;
|
|
||||||
text-decoration: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-date-left-icon {
|
|
||||||
background-image: url(../images/default/shared/left-btn.gif);
|
|
||||||
margin-right: 2px;
|
|
||||||
text-decoration: none !important;
|
|
||||||
}.my-tbl {
|
|
||||||
border: 1px solid #C6C5C5;
|
|
||||||
}.my-treetbl {
|
|
||||||
border: 1px solid #C6C5C5;
|
|
||||||
}
|
|
|
@ -1,638 +0,0 @@
|
||||||
/*
|
|
||||||
* Ext JS Library 2.1
|
|
||||||
* Copyright(c) 2006-2008, Ext JS, LLC.
|
|
||||||
* licensing@extjs.com
|
|
||||||
*
|
|
||||||
* http://extjs.com/license
|
|
||||||
*/
|
|
||||||
html,body {
|
|
||||||
background: #3d71b8 url(../wallpapers/desktop.jpg) no-repeat left top;
|
|
||||||
font: normal 12px tahoma, arial, verdana, sans-serif;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
border: 0 none;
|
|
||||||
overflow: hidden;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
|
|
||||||
.start {
|
|
||||||
background-image: url( ../images/taskbar/black/startbutton-icon.gif ) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.bogus {
|
|
||||||
background-image: url( ../images/bogus.png ) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logout {
|
|
||||||
background-image: url( ../images/logout.gif ) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.settings {
|
|
||||||
background-image: url( ../images/gears.gif ) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#dpanels {
|
|
||||||
width: 250px;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
#dpanels .x-panel {
|
|
||||||
margin: 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#dpanels .x-date-picker {
|
|
||||||
border: 0 none;
|
|
||||||
border-top: 0 none;
|
|
||||||
background: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#dpanels .x-date-picker td.x-date-active {
|
|
||||||
background: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#dpanels .x-date-picker {
|
|
||||||
width: 100% !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#x-desktop {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border: 0 none;
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn {
|
|
||||||
float: left;
|
|
||||||
margin: 1px 0 0 1px;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar-start .x-btn {
|
|
||||||
float: left;
|
|
||||||
margin: 0;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar button { /* width: 150px;
|
|
||||||
overflow: hidden; */
|
|
||||||
text-align: left;
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#title-bar-wrapper {
|
|
||||||
height: 35px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#title-bar {
|
|
||||||
color: #225599;
|
|
||||||
padding: 9px 7px;
|
|
||||||
font: bold 16px tahoma, arial, verdana, sans-serif;
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
|
|
||||||
#x-logout {
|
|
||||||
float: right;
|
|
||||||
padding: 6px 7px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-btn-text-icon .x-btn-center .logout {
|
|
||||||
background-position: 0pt 3px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
padding: 3px 0pt 3px 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar {
|
|
||||||
background: transparent none;
|
|
||||||
height: 30px;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
position: relative;
|
|
||||||
z-index: 12001;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-btn-icon .ux-taskbutton-center .x-btn-text {
|
|
||||||
background-position: center;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
height: 16px;
|
|
||||||
width: 16px;
|
|
||||||
cursor: pointer;
|
|
||||||
white-space: nowrap;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-btn-icon .ux-taskbutton-center {
|
|
||||||
padding: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-startbutton-center .x-btn-text {
|
|
||||||
color: #000000 !important;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbutton-left,.ux-taskbutton-right {
|
|
||||||
font-size: 1px;
|
|
||||||
line-height: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbutton-left {
|
|
||||||
width: 4px;
|
|
||||||
height: 28px;
|
|
||||||
background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbutton-right {
|
|
||||||
width: 4px;
|
|
||||||
height: 28px;
|
|
||||||
background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 -28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbutton-left i,.ux-taskbutton-right i {
|
|
||||||
display: block;
|
|
||||||
width: 4px;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 1px;
|
|
||||||
line-height: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbutton-center {
|
|
||||||
background: url( ../images/taskbar/black/taskbutton.gif ) repeat-x 0 -56px;
|
|
||||||
vertical-align: middle;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0 5px;
|
|
||||||
cursor: pointer;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .ux-taskbutton-left {
|
|
||||||
background-position: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .ux-taskbutton-right {
|
|
||||||
background-position: 0 -28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .ux-taskbutton-center {
|
|
||||||
background-position: 0 -56px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-over .ux-taskbutton-left {
|
|
||||||
background-position: 0 -252px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-over .ux-taskbutton-right {
|
|
||||||
background-position: 0 -280px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-over .ux-taskbutton-center {
|
|
||||||
background-position: 0 -308px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-click .ux-taskbutton-left {
|
|
||||||
background-position: 0 -168px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-click .ux-taskbutton-right {
|
|
||||||
background-position: 0 -196px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-click .ux-taskbutton-center {
|
|
||||||
background-position: 0 -224px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .active-win .ux-taskbutton-left {
|
|
||||||
background-position: 0 -84px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .active-win .ux-taskbutton-right {
|
|
||||||
background: url( ../images/taskbar/black/taskbutton.gif ) no-repeat 0 -112px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .active-win .ux-taskbutton-center {
|
|
||||||
background: url( ../images/taskbar/black/taskbutton.gif ) repeat-x 0 -140px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .active-win .ux-taskbutton-center button {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#spacer {
|
|
||||||
height: 25px;
|
|
||||||
float: left;
|
|
||||||
width: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
margin-top: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-window-body p,.x-panel-body p {
|
|
||||||
padding: 10px;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-window-maximized .x-window-bc {
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.add {
|
|
||||||
background-image: url(../images/add.gif) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.option {
|
|
||||||
background-image: url(../images/plugin.gif) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.remove {
|
|
||||||
background-image: url(../images/delete.gif) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tabs {
|
|
||||||
background-image: url(../images/tabs.gif) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu {
|
|
||||||
background: transparent none;
|
|
||||||
border: 0px none;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-tl .x-window-header {
|
|
||||||
color: #f1f1f1;
|
|
||||||
font: bold 11px tahoma, arial, verdana, sans-serif;
|
|
||||||
padding: 5px 0 4px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-tl .x-panel-icon,.ux-start-menu-tl .x-panel-icon {
|
|
||||||
background-position: 0pt 4px;
|
|
||||||
background-repeat: no-repeat;
|
|
||||||
padding-left: 20px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-tl {
|
|
||||||
background: transparent url( ../images/taskbar/black/start-menu-left-corners.png ) no-repeat 0 0;
|
|
||||||
padding-left: 6px;
|
|
||||||
zoom: 1;
|
|
||||||
z-index: 1;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-tr {
|
|
||||||
background: transparent url( ../images/taskbar/black/start-menu-right-corners.png ) no-repeat right
|
|
||||||
0;
|
|
||||||
padding-right: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-tc {
|
|
||||||
background: transparent url( ../images/taskbar/black/start-menu-top-bottom.png ) repeat-x 0 0;
|
|
||||||
overflow: hidden;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-ml {
|
|
||||||
background: transparent url( ../images/taskbar/black/start-menu-left-right.png ) repeat-y 0 0;
|
|
||||||
padding-left: 6px;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-bc {
|
|
||||||
background: transparent url( ../images/taskbar/black/start-menu-top-bottom.png ) repeat-x 0 bottom;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-bc .x-window-footer {
|
|
||||||
padding-bottom: 6px;
|
|
||||||
zoom: 1;
|
|
||||||
font-size: 0;
|
|
||||||
line-height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-bl {
|
|
||||||
background: transparent url( ../images/taskbar/black/start-menu-left-corners.png ) no-repeat 0
|
|
||||||
bottom;
|
|
||||||
padding-left: 6px;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-br {
|
|
||||||
background: transparent url( ../images/taskbar/black/start-menu-right-corners.png ) no-repeat right
|
|
||||||
bottom;
|
|
||||||
padding-right: 6px;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-panel-nofooter .ux-start-menu-bc {
|
|
||||||
height: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-splitbar-h {
|
|
||||||
background-color: #d0d0d0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-bwrap {
|
|
||||||
background: transparent none;
|
|
||||||
border: 0px none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-body {
|
|
||||||
background: transparent none;
|
|
||||||
border: 0px none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-apps-panel {
|
|
||||||
background: #ffffff none;
|
|
||||||
border: 1px solid #1e2124;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-tools-panel {
|
|
||||||
border: 0px none;
|
|
||||||
background: transparent url( ../images/taskbar/black/start-menu-right.png ) repeat-y scroll right
|
|
||||||
0pt;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar-start {
|
|
||||||
background: #000000 url( ../images/taskbar/black/taskbar-start-panel-bg.gif ) repeat-x left top;
|
|
||||||
left: 0px;
|
|
||||||
padding: 0;
|
|
||||||
position: absolute;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar-start .x-toolbar {
|
|
||||||
background: none;
|
|
||||||
padding: 0px;
|
|
||||||
border: 0px none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbuttons-panel {
|
|
||||||
background: #000000 url( ../images/taskbar/black/taskbuttons-panel-bg.gif ) repeat-x left top;
|
|
||||||
padding-top: 0;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbuttons-strip-wrap { /* overflow:hidden;
|
|
||||||
position:relative;
|
|
||||||
width:100%; */
|
|
||||||
width: 100%;
|
|
||||||
overflow: hidden;
|
|
||||||
position: relative;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.ux-taskbuttons-strip {
|
|
||||||
display: block;
|
|
||||||
width: 5000px;
|
|
||||||
zoom: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.ux-taskbuttons-strip li {
|
|
||||||
float: left;
|
|
||||||
margin-left: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
ul.ux-taskbuttons-strip li.ux-taskbuttons-edge {
|
|
||||||
float: left;
|
|
||||||
margin: 0 !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
border: 0 none !important;
|
|
||||||
font-size: 1px !important;
|
|
||||||
line-height: 1px !important;
|
|
||||||
overflow: hidden;
|
|
||||||
zoom: 1;
|
|
||||||
background: transparent !important;
|
|
||||||
width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-clear {
|
|
||||||
clear: both;
|
|
||||||
height: 0;
|
|
||||||
overflow: hidden;
|
|
||||||
line-height: 0;
|
|
||||||
font-size: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-taskbuttons-scrolling {
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-taskbuttons-scrolling .ux-taskbuttons-strip-wrap {
|
|
||||||
margin-left: 18px;
|
|
||||||
margin-right: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
td.ux-taskButtons-edge { /*float:left;*/
|
|
||||||
margin: 0 !important;
|
|
||||||
padding: 0 !important;
|
|
||||||
border: 0 none !important;
|
|
||||||
font-size: 1px !important;
|
|
||||||
line-height: 1px !important;
|
|
||||||
overflow: hidden;
|
|
||||||
zoom: 1;
|
|
||||||
background: transparent !important;
|
|
||||||
width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbuttons-scroller-left {
|
|
||||||
background: transparent url( ../images/taskbar/black/scroll-left.gif ) no-repeat -18px 0;
|
|
||||||
width: 18px;
|
|
||||||
position: absolute;
|
|
||||||
left: 1px;
|
|
||||||
top: 0px;
|
|
||||||
z-index: 10;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbuttons-scroller-left-over {
|
|
||||||
background-position: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbuttons-scroller-left-disabled {
|
|
||||||
background-position: -18px 0;
|
|
||||||
opacity: .5;
|
|
||||||
-moz-opacity: .5;
|
|
||||||
filter: alpha(opacity = 50);
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbuttons-scroller-right {
|
|
||||||
background: transparent url( ../images/taskbar/black/scroll-right.gif ) no-repeat 0 0;
|
|
||||||
width: 18px;
|
|
||||||
position: absolute;
|
|
||||||
right: 0;
|
|
||||||
top: 0px;
|
|
||||||
z-index: 10;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbuttons-scroller-right-over {
|
|
||||||
background-position: -18px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-taskbuttons-scroller-right-disabled {
|
|
||||||
background-position: 0 0;
|
|
||||||
opacity: .5;
|
|
||||||
-moz-opacity: .5;
|
|
||||||
filter: alpha(opacity = 50);
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-toolmenu-sep {
|
|
||||||
background-color: #18191a;
|
|
||||||
border-bottom: 1px solid #858789;
|
|
||||||
display: block;
|
|
||||||
font-size: 1px;
|
|
||||||
line-height: 1px;
|
|
||||||
margin: 2px 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-tools-panel ul.x-menu-list li.x-menu-list-item a.x-menu-item {
|
|
||||||
color: #ffffff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-tools-panel ul.x-menu-list li.x-menu-list-item .x-menu-item-active a.x-menu-item {
|
|
||||||
color: #000000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-start-menu-tools-panel .x-menu-item-active {
|
|
||||||
background: #525456 url( ../images/taskbar/black/item-over.gif ) repeat-x left bottom;
|
|
||||||
border: 1px solid #000000;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-splitbar-h {
|
|
||||||
background: #000000 url( ../images/taskbar/black/taskbar-split-h.gif ) no-repeat 0 0;
|
|
||||||
width: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.x-window-header-text {
|
|
||||||
cursor: default;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Begin Start button
|
|
||||||
*/
|
|
||||||
.ux-startbutton-left,.ux-startbutton-right {
|
|
||||||
font-size: 1px;
|
|
||||||
line-height: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-startbutton-left {
|
|
||||||
width: 10px;
|
|
||||||
height: 28px;
|
|
||||||
background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-startbutton-right {
|
|
||||||
width: 10px;
|
|
||||||
height: 30px;
|
|
||||||
background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 -28px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-startbutton-left i,.ux-startbutton-right i {
|
|
||||||
display: block;
|
|
||||||
width: 10px;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 1px;
|
|
||||||
line-height: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ux-startbutton-center {
|
|
||||||
background: url( ../images/taskbar/black/startbutton.gif ) repeat-x 0 -56px;
|
|
||||||
vertical-align: middle;
|
|
||||||
text-align: center;
|
|
||||||
padding: 0;
|
|
||||||
cursor: pointer;
|
|
||||||
white-space: nowrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .ux-startbutton-left {
|
|
||||||
background-position: 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .ux-startbutton-right {
|
|
||||||
background-position: 0 -30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .ux-startbutton-center {
|
|
||||||
background-position: 0 -60px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-over .ux-startbutton-left {
|
|
||||||
background-position: 0 -270px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-over .ux-startbutton-right {
|
|
||||||
background-position: 0 -300px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-over .ux-startbutton-center {
|
|
||||||
background-position: 0 -330px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-click .ux-startbutton-left {
|
|
||||||
background-position: 0 -180px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-click .ux-startbutton-right {
|
|
||||||
background-position: 0 -210px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .x-btn-click .ux-startbutton-center {
|
|
||||||
background-position: 0 -240px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .active-win .ux-startbutton-left {
|
|
||||||
background-position: 0 -90px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .active-win .ux-startbutton-right {
|
|
||||||
background: url( ../images/taskbar/black/startbutton.gif ) no-repeat 0 -120px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .active-win .ux-startbutton-center {
|
|
||||||
background: url( ../images/taskbar/black/startbutton.gif ) repeat-x 0 -150px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ux-taskbar .active-win .ux-startbutton-center button {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* End Start button
|
|
||||||
*/
|
|
||||||
.x-resizable-proxy {
|
|
||||||
background: #C7DFFC;
|
|
||||||
opacity: .5;
|
|
||||||
-moz-opacity: .5;
|
|
||||||
filter: alpha(opacity = 50);
|
|
||||||
border: 1px solid #3b5a82;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Desktop Shortcuts */
|
|
||||||
#x-shortcuts dt {
|
|
||||||
float: left;
|
|
||||||
margin: 15px 0 0 15px;
|
|
||||||
clear: left;
|
|
||||||
width: 64px;
|
|
||||||
font: normal 10px tahoma, arial, verdana, sans-serif;
|
|
||||||
text-align: center;
|
|
||||||
zoom: 1;
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
#x-shortcuts dt a {
|
|
||||||
width: 64px;
|
|
||||||
display: block;
|
|
||||||
color: white;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#x-shortcuts dt div {
|
|
||||||
width: 100%;
|
|
||||||
color: white;
|
|
||||||
overflow: hidden;
|
|
||||||
text-overflow: ellipsis;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
#x-shortcuts dt a:hover {
|
|
||||||
text-decoration: underline;
|
|
||||||
}
|
|
Before Width: | Height: | Size: 994 B |
Before Width: | Height: | Size: 989 B |
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 155 KiB |
Before Width: | Height: | Size: 996 B |
Before Width: | Height: | Size: 967 B |
Before Width: | Height: | Size: 513 B |
Before Width: | Height: | Size: 842 B |
Before Width: | Height: | Size: 992 B |
Before Width: | Height: | Size: 808 B |
Before Width: | Height: | Size: 400 B |
Before Width: | Height: | Size: 191 B |
Before Width: | Height: | Size: 944 B |
Before Width: | Height: | Size: 1.2 KiB |