JBoss Tools SVN: r6312 - trunk/as/plugins/org.jboss.ide.eclipse.as.ui.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2008-02-14 05:19:05 -0500 (Thu, 14 Feb 2008)
New Revision: 6312
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml
Log:
JBIDE-1774 - added AS5 icons for server type.
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml 2008-02-14 10:18:08 UTC (rev 6311)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/plugin.xml 2008-02-14 10:19:05 UTC (rev 6312)
@@ -21,6 +21,10 @@
id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
<image
icon="icons/jboss.gif"
+ typeIds="org.jboss.ide.eclipse.as.50"
+ id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
+ <image
+ icon="icons/jboss.gif"
typeIds="org.jboss.ide.eclipse.as.runtime.32"
id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
<image
@@ -33,6 +37,10 @@
id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
<image
icon="icons/jboss.gif"
+ typeIds="org.jboss.ide.eclipse.as.runtime.50"
+ id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
+ <image
+ icon="icons/jboss.gif"
typeIds="org.jboss.ide.eclipse.as.systemCopyServer"
id="org.jboss.ide.eclipse.as.ui.jbossIcon"/>
<image
16 years, 4 months
JBoss Tools SVN: r6311 - in trunk/as/plugins: org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server and 2 other directories.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2008-02-14 05:18:08 -0500 (Thu, 14 Feb 2008)
New Revision: 6311
Added:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerConstants.java
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStartupParameters.java
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStatePoller.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss32ServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss40ServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss42ServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss50ServerRuntime.java
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServer.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java
Log:
JBIDE-1774 - changed wizards and server/runtime impl slightly to more closely match use cases of WTP and it's API, using less internal functionality.
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -273,7 +273,7 @@
ArrayList<XPathCategory> retVal = new ArrayList<XPathCategory>();
AbstractJBossServerRuntime ajbsr = (AbstractJBossServerRuntime)
server.getRuntime().loadAdapter(AbstractJBossServerRuntime.class, new NullProgressMonitor());
- Path p = (Path)rtToPortsFile.get(ajbsr.getId());
+ Path p = (Path)rtToPortsFile.get(server.getRuntime().getRuntimeType().getVersion());
if( p == null ) return;
URL url = FileLocator.find(JBossServerCorePlugin.getDefault().getBundle(), p, null);
if( url == null ) return;
Added: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerConstants.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerConstants.java (rev 0)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerConstants.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -0,0 +1,38 @@
+/**
+ * JBoss, a Division of Red Hat
+ * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+* This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ide.eclipse.as.core.server;
+
+/**
+ *
+ * @author Rob Stryker
+ *
+ */
+public interface IJBossServerConstants {
+ public static final String JBOSS_SERVER_HOME_DIR = "jboss.server.home.dir";
+ public static final String JBOSS_SERVER_BASE_DIR = "jboss.server.base.dir";
+ public static final String JBOSS_SERVER_NAME = "jboss.server.name";
+ public static final String JBOSS_HOME_DIR = "jboss.home.dir";
+
+ public static final String DEFAULT_SERVER_NAME = "default";
+ public static final String DEPLOY = "deploy";
+ public static final String SERVER = "server";
+}
Property changes on: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerConstants.java
___________________________________________________________________
Name: svn:executable
+ *
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerRuntime.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IJBossServerRuntime.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -22,6 +22,7 @@
package org.jboss.ide.eclipse.as.core.server;
import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.wst.server.core.IRuntime;
/**
*
@@ -33,7 +34,9 @@
public static String PROPERTY_CONFIGURATION_NAME = "org.jboss.ide.eclipse.as.core.runtime.configurationName";
+ public IRuntime getRuntime();
public IVMInstall getVM();
+ public void setVM(IVMInstall install);
public String getJBossConfiguration();
- public String getId();
+ public void setJBossConfiguration(String config);
}
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStartupParameters.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStartupParameters.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStartupParameters.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -1,38 +0,0 @@
-/**
- * JBoss, a Division of Red Hat
- * Copyright 2006, Red Hat Middleware, LLC, and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
-* This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ide.eclipse.as.core.server;
-
-/**
- *
- * @author Rob Stryker
- *
- */
-public interface IServerStartupParameters {
- public static final String JBOSS_SERVER_HOME_DIR = "jboss.server.home.dir";
- public static final String JBOSS_SERVER_BASE_DIR = "jboss.server.base.dir";
- public static final String JBOSS_SERVER_NAME = "jboss.server.name";
- public static final String JBOSS_HOME_DIR = "jboss.home.dir";
-
- public static final String DEFAULT_SERVER_NAME = "default";
- public static final String DEPLOY = "deploy";
- public static final String SERVER = "server";
-}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStatePoller.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStatePoller.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/IServerStatePoller.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -25,7 +25,7 @@
import org.jboss.ide.eclipse.as.core.server.internal.PollThread;
/**
- *
+ * A server state poller will
* @author Rob Stryker
*
*/
@@ -40,9 +40,14 @@
public void beginPolling(IServer server, boolean expectedState, PollThread pt); // expected to launch own thread
public boolean isComplete() throws PollingException;
public boolean getState() throws PollingException;
- public void cancel(int type); // cancel the polling
public void cleanup(); // clean up any resources / processes. Will ALWAYS be called
+ /**
+ * Cancel the polling.
+ * @param type CANCEL or TIMEOUT_REACHED
+ */
+ public void cancel(int type);
+
public class PollingException extends Exception {
public PollingException(String message) {super(message);}
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -26,6 +26,8 @@
import org.eclipse.wst.server.core.ServerEvent;
/**
+ * This is a stub superclass which can be used
+ * to override only those methods you care about.
*
* @author Rob Stryker
*
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -33,6 +33,11 @@
import org.eclipse.wst.server.core.ServerEvent;
/**
+ * The UnitedServerListenerManager keeps an array of
+ * UnitedServerListeners. The manager registers itself as
+ * a listener for all server operations and passes
+ * all requests to every UnitedServerListener that's been
+ * added to the model.
*
* @author Rob Stryker
*
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossServerRuntime.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/AbstractJBossServerRuntime.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -21,29 +21,48 @@
*/
package org.jboss.ide.eclipse.as.core.server.internal;
-import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.jdt.launching.IVMInstall;
import org.eclipse.jdt.launching.IVMInstallType;
import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.internal.Messages;
-import org.eclipse.wst.server.core.internal.RuntimeWorkingCopy;
-import org.eclipse.wst.server.core.internal.ServerPlugin;
+import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.ServerCore;
import org.eclipse.wst.server.core.model.RuntimeDelegate;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
public abstract class AbstractJBossServerRuntime extends RuntimeDelegate implements IJBossServerRuntime {
public void setDefaults(IProgressMonitor monitor) {
- getRuntimeWorkingCopy().setLocation(new Path(""));
+ String location = Platform.getOS().equals(Platform.WS_WIN32)
+ ? "c:/program files/jboss-" : "/usr/bin/jboss-";
+ String version = getRuntime().getRuntimeType().getVersion();
+ location += version + ".x";
+ getRuntimeWorkingCopy().setLocation(new Path(location));
+ getRuntimeWorkingCopy().setName(getNextRuntimeName());
+ setAttribute(IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, IJBossServerConstants.DEFAULT_SERVER_NAME);
+ setVM(null);
}
+ private String getNextRuntimeName() {
+ String version = getRuntime().getRuntimeType().getVersion();
+ String base = "JBoss " + version + " Runtime";
+ IRuntime rt = ServerCore.findRuntime(base);
+ if (rt == null)
+ return base;
+
+ int i = 0;
+ while (rt != null) {
+ rt = ServerCore.findRuntime(base + " " + ++i);
+ }
+ return base + " " + i;
+ }
+
public IStatus validate() {
IStatus s = super.validate();
if( !s.isOK()) return s;
@@ -54,19 +73,6 @@
return Status.OK_STATUS;
}
- public void setVMInstall(IVMInstall selectedVM) {
- IRuntimeWorkingCopy copy = getRuntimeWorkingCopy();
- if( copy instanceof RuntimeWorkingCopy ) {
- ((RuntimeWorkingCopy)copy).setAttribute(PROPERTY_VM_ID, selectedVM.getId());
- ((RuntimeWorkingCopy)copy).setAttribute(PROPERTY_VM_TYPE_ID, selectedVM.getVMInstallType().getId());
- try {
- copy.save(true, new NullProgressMonitor());
- } catch( CoreException ce ) {
-
- }
- }
- }
-
public IVMInstall getVM() {
String id = getAttribute(PROPERTY_VM_ID, (String)null);
String type = getAttribute(PROPERTY_VM_TYPE_ID, (String)null);
@@ -83,9 +89,20 @@
return JavaRuntime.getDefaultVMInstall();
}
+ public void setVM(IVMInstall selectedVM) {
+ if( selectedVM == null )
+ selectedVM = JavaRuntime.getDefaultVMInstall();
+
+ setAttribute(IJBossServerRuntime.PROPERTY_VM_ID, selectedVM.getId());
+ setAttribute(IJBossServerRuntime.PROPERTY_VM_TYPE_ID, selectedVM
+ .getVMInstallType().getId());
+ }
+
public String getJBossConfiguration() {
return getAttribute(PROPERTY_CONFIGURATION_NAME, (String)"");
}
- public abstract String getId();
+ public void setJBossConfiguration(String config) {
+ setAttribute(IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, config);
+ }
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss32ServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss32ServerRuntime.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss32ServerRuntime.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -27,8 +27,4 @@
public JBoss32ServerRuntime() {
// TODO Auto-generated constructor stub
}
-
- public String getId() {
- return "3.2";
- }
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss40ServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss40ServerRuntime.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss40ServerRuntime.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -26,7 +26,4 @@
public JBoss40ServerRuntime() {
}
- public String getId() {
- return "4.0";
- }
}
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss42ServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss42ServerRuntime.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss42ServerRuntime.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -3,7 +3,4 @@
public class JBoss42ServerRuntime extends AbstractJBossServerRuntime {
public JBoss42ServerRuntime() {
}
- public String getId() {
- return "4.2";
- }
}
\ No newline at end of file
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss50ServerRuntime.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss50ServerRuntime.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBoss50ServerRuntime.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -3,7 +3,4 @@
public class JBoss50ServerRuntime extends AbstractJBossServerRuntime {
public JBoss50ServerRuntime() {
}
- public String getId() {
- return "5.0";
- }
}
\ No newline at end of file
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServer.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServer.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/internal/JBossServer.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -52,7 +52,7 @@
import org.jboss.ide.eclipse.as.core.extensions.descriptors.XPathQuery;
import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
-import org.jboss.ide.eclipse.as.core.server.IServerStartupParameters;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
import org.jboss.ide.eclipse.as.core.util.ArgsUtil;
/**
@@ -61,7 +61,7 @@
*
*/
public class JBossServer extends ServerDelegate
- implements IServerStartupParameters, IDeployableServer, IURLProvider {
+ implements IJBossServerConstants, IDeployableServer, IURLProvider {
public static final String SERVER_USERNAME = "org.jboss.ide.eclipse.as.core.server.userName";
public static final String SERVER_PASSWORD = "org.jboss.ide.eclipse.as.core.server.password";
@@ -282,11 +282,32 @@
}
+ // first class parameters
public String getUsername() {
- return getAttributeHelper().getAttribute(SERVER_USERNAME, "");
+ return getAttribute(SERVER_USERNAME, "");
}
-
+ public void setUsername(String name) {
+ setAttribute(SERVER_USERNAME, name);
+ }
+
public String getPassword() {
- return getAttributeHelper().getAttribute(SERVER_PASSWORD, "");
+ return getAttribute(SERVER_PASSWORD, "");
}
+ public void setPassword(String pass) {
+ setAttribute(SERVER_PASSWORD, pass);
+ }
+
+ public String getDeployFolder() {
+ return getAttribute(DEPLOY_DIRECTORY, "");
+ }
+ public void setDeployFolder(String folder) {
+ setAttribute(DEPLOY_DIRECTORY, folder);
+ }
+
+ public String getTempDeployFolder() {
+ return getAttribute(TEMP_DEPLOY_DIRECTORY, "");
+ }
+ public void setTempDeployFolder(String folder) {
+ setAttribute(TEMP_DEPLOY_DIRECTORY, folder);
+ }
}
\ No newline at end of file
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossRuntimeWizardFragment.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -28,7 +28,6 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
import org.eclipse.jdt.launching.IVMInstall;
import org.eclipse.jdt.launching.IVMInstallType;
import org.eclipse.jdt.launching.JavaRuntime;
@@ -60,11 +59,11 @@
import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
import org.eclipse.wst.server.core.ServerCore;
import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.internal.RuntimeWorkingCopy;
import org.eclipse.wst.server.ui.wizard.IWizardHandle;
import org.eclipse.wst.server.ui.wizard.WizardFragment;
+import org.jboss.ide.eclipse.as.core.server.IJBossServerConstants;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
-import org.jboss.ide.eclipse.as.core.server.IServerStartupParameters;
+import org.jboss.ide.eclipse.as.core.server.internal.AbstractJBossServerRuntime;
import org.jboss.ide.eclipse.as.ui.JBossServerUISharedImages;
import org.jboss.ide.eclipse.as.ui.Messages;
@@ -73,18 +72,6 @@
*/
public class JBossRuntimeWizardFragment extends WizardFragment {
- private final static int NAME_CHANGED = 1;
- private final static int HOME_CHANGED = 2;
- private final static int JRE_CHANGED = 3;
- private final static int CONFIG_CHANGED = 4;
-
- private final static int SEVERITY_ALL = 1;
- private final static int SEVERITY_MAJOR = 2;
-
- public static final String LOCATION_TEXT = Platform.getOS().equals(Platform.WS_WIN32)
- ? "c:/program files/jboss-" : "/usr/bin/jboss-";
-
-
private IWizardHandle handle;
private Label nameLabel, homeDirLabel, installedJRELabel, configLabel,
explanationLabel;
@@ -96,15 +83,11 @@
private String name, homeDir, config;
// jre fields
- protected ArrayList installedJREs;
+ protected ArrayList<IVMInstall> installedJREs;
protected String[] jreNames;
protected int defaultVMIndex;
-
- private JBossConfigurationTableViewer configurations;
-
private IVMInstall selectedVM;
-
- private boolean pristine;
+ private JBossConfigurationTableViewer configurations;
private String originalName;
public Composite createComposite(Composite parent, IWizardHandle handle) {
@@ -120,14 +103,7 @@
createJREComposite(main);
createConfigurationComposite(main);
- // If it's an already filled runtime (ie not new) fill our widgets
- pristine = isPristineRuntime();
- if (!pristine) {
- fillWidgets();
- } else {
- setWidgetDefaults();
- }
- // initTaskModel();
+ fillWidgets();
// make modifications to parent
handle.setTitle(Messages.rwf_Title);
@@ -150,111 +126,45 @@
}
private void fillWidgets() {
- RuntimeWorkingCopy rwc = getRuntimeWorkingCopy();
- if (rwc != null) {
- originalName = rwc.getName();
+ boolean canEdit = true;
- nameText.setText(rwc.getName());
- homeDirText.setText(rwc.getLocation().toOSString());
- String configSelected = rwc.getAttribute(
- IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, "");
- configurations.setDefaultConfiguration(configSelected);
+ IJBossServerRuntime rt = getRuntime();
+ if (rt != null) {
+ originalName = rt.getRuntime().getName();
+ nameText.setText(rt.getRuntime().getName());
+ name = rt.getRuntime().getName();
+ homeDirText.setText(rt.getRuntime().getLocation().toOSString());
+ homeDir = rt.getRuntime().getLocation().toOSString();
+ config = rt.getJBossConfiguration();
+ configurations.setDefaultConfiguration(config);
+ configLabel.setText(Messages.wf_ConfigLabel + ": " + config);
- configurations.getTable().setVisible(false);
- configLabel.setText(Messages.wf_ConfigLabel + ": "
- + configSelected);
- homeDirText.setEditable(false);
- homeDirButton.setEnabled(false);
-
- Object o = rwc.loadAdapter(IJBossServerRuntime.class,
- new NullProgressMonitor());
- if (o != null) {
- IJBossServerRuntime jbsr = (IJBossServerRuntime) o;
- IVMInstall install = jbsr.getVM();
- String vmName = install.getName();
- String[] jres = jreCombo.getItems();
- for (int i = 0; i < jres.length; i++) {
- if (vmName.equals(jres[i]))
- jreCombo.select(i);
- }
+ IVMInstall install = rt.getVM();
+ String vmName = install.getName();
+ String[] jres = jreCombo.getItems();
+ for (int i = 0; i < jres.length; i++) {
+ if (vmName.equals(jres[i]))
+ jreCombo.select(i);
}
- }
- }
- private void setWidgetDefaults() {
- nameText.setText(generateNewRuntimeName());
- homeDirText.setText(LOCATION_TEXT + getRuntimeVersionId() + ".x");
- }
-
- public String getVersion() {
- IRuntime rt = (IRuntime) getTaskModel().getObject(
- TaskModel.TASK_RUNTIME);
- String id = rt.getRuntimeType().getId();
- if (id.equals("org.jboss.ide.eclipse.as.runtime.32"))
- return "3.2";
- else if (id.equals("org.jboss.ide.eclipse.as.runtime.40"))
- return "4.0";
- else if (id.equals("org.jboss.ide.eclipse.as.runtime.42"))
- return "4.2";
- return ""; // default
- }
-
- private String generateNewRuntimeName() {
- String base = Messages.rwf_BaseName.replace(Messages.wf_BaseNameVersionReplacement, getVersion());
- IRuntime rt = ServerCore.findRuntime(base);
- if (rt == null)
- return base;
-
- int i = 0;
- while (rt != null) {
- rt = ServerCore.findRuntime(base + " " + ++i);
+ homeDirText.setEditable(canEdit);
+ homeDirButton.setEnabled(canEdit);
+ configurations.getTable().setVisible(canEdit);
}
- return base + " " + i;
}
- private RuntimeWorkingCopy getRuntimeWorkingCopy() {
+ private IJBossServerRuntime getRuntime() {
IRuntime r = (IRuntime) getTaskModel()
.getObject(TaskModel.TASK_RUNTIME);
- IRuntimeWorkingCopy wc;
- if (!(r instanceof IRuntimeWorkingCopy)) {
- wc = r.createWorkingCopy();
- } else {
- wc = (IRuntimeWorkingCopy) r;
+ IJBossServerRuntime ajbsrt = null;
+ if (r != null) {
+ ajbsrt = (IJBossServerRuntime) r
+ .loadAdapter(IJBossServerRuntime.class,
+ new NullProgressMonitor());
}
-
- if (wc instanceof RuntimeWorkingCopy) {
- RuntimeWorkingCopy rwc = (RuntimeWorkingCopy) wc;
- return rwc;
- }
- return null;
+ return ajbsrt;
}
- private String getRuntimeVersionId() {
- RuntimeWorkingCopy rwc = getRuntimeWorkingCopy();
- if( rwc != null ) {
- Object o = rwc.loadAdapter(IJBossServerRuntime.class,
- new NullProgressMonitor());
- if (o != null) {
- IJBossServerRuntime jbsr = (IJBossServerRuntime) o;
- return jbsr.getId();
- }
- }
- return "4.0";
- }
-
- private boolean isPristineRuntime() {
- RuntimeWorkingCopy rwc = getRuntimeWorkingCopy();
- if (rwc != null) {
- if (rwc.getAttribute(
- IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME,
- (String) null) == null) {
- return true;
- }
- return false;
- }
- return true;
- }
-
private void createExplanation(Composite main) {
explanationLabel = new Label(main, SWT.WRAP);
FormData data = new FormData();
@@ -262,7 +172,6 @@
data.left = new FormAttachment(0, 5);
data.right = new FormAttachment(100, -5);
explanationLabel.setLayoutData(data);
-
explanationLabel.setText(Messages.rwf_Explanation);
}
@@ -284,11 +193,10 @@
nameText = new Text(nameComposite, SWT.BORDER);
nameText.addModifyListener(new ModifyListener() {
-
public void modifyText(ModifyEvent e) {
- updatePage(NAME_CHANGED);
+ name = nameText.getText();
+ updatePage();
}
-
});
// organize widgets inside composite
@@ -318,16 +226,15 @@
// Create Internal Widgets
homeDirLabel = new Label(homeDirComposite, SWT.NONE);
homeDirLabel.setText(Messages.wf_HomeDirLabel);
-
homeDirText = new Text(homeDirComposite, SWT.BORDER);
-
homeDirButton = new Button(homeDirComposite, SWT.NONE);
homeDirButton.setText(Messages.browse);
// Add listeners
homeDirText.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
- updatePage(HOME_CHANGED);
+ homeDir = homeDirText.getText();
+ updatePage();
}
});
@@ -399,11 +306,11 @@
jreCombo.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent e) {
- updatePage(JRE_CHANGED);
+ updatePage();
}
public void widgetSelected(SelectionEvent e) {
- updatePage(JRE_CHANGED);
+ updatePage();
}
});
@@ -426,90 +333,118 @@
}
- private void updatePage(int changed) {
- switch (changed) {
- case NAME_CHANGED:
- updateErrorMessage(SEVERITY_MAJOR);
- break;
- case HOME_CHANGED:
- if (!isHomeValid()) {
- configurations.getControl().setEnabled(false);
- configurations.setJBossHome(homeDirText.getText());
- } else {
- // No errors, clear the message and update the available
- // configurations
- configurations.setJBossHome(homeDirText.getText());
- configurations.setDefaultConfiguration(IServerStartupParameters.DEFAULT_SERVER_NAME);
+ private void createConfigurationComposite(Composite main) {
+ configComposite = new Composite(main, SWT.NONE);
- // update config variable
- int index = configurations.getTable().getSelectionIndex();
- if (index != -1)
- config = configurations.getTable().getItem(index).getText();
+ FormData cData = new FormData();
+ cData.left = new FormAttachment(0, 5);
+ cData.right = new FormAttachment(100, -5);
+ cData.top = new FormAttachment(jreComposite, 10);
+ cData.bottom = new FormAttachment(100, -5);
+ configComposite.setLayoutData(cData);
+
+ configComposite.setLayout(new FormLayout());
+
+ configLabel = new Label(configComposite, SWT.NONE);
+ configLabel.setText(Messages.wf_ConfigLabel);
+
+ configurations = new JBossConfigurationTableViewer(configComposite,
+ SWT.BORDER | SWT.SINGLE);
+
+ FormData labelData = new FormData();
+ labelData.left = new FormAttachment(0, 5);
+ configLabel.setLayoutData(labelData);
+
+ FormData viewerData = new FormData();
+ viewerData.left = new FormAttachment(0, 5);
+ viewerData.right = new FormAttachment(100, -5);
+ viewerData.top = new FormAttachment(configLabel, 5);
+ viewerData.bottom = new FormAttachment(100, -5);
+
+ configurations.getTable().setLayoutData(viewerData);
+
+ configurations.getTable().addSelectionListener(new SelectionListener() {
+
+ public void widgetDefaultSelected(SelectionEvent e) {
+ updatePage();
}
- updateErrorMessage(SEVERITY_MAJOR);
- break;
- case JRE_CHANGED:
- int sel = jreCombo.getSelectionIndex();
- if (sel != -1)
- selectedVM = (IVMInstall) installedJREs.get(sel);
- break;
- default:
- break;
- }
+ public void widgetSelected(SelectionEvent e) {
+ updatePage();
+ }
+
+ });
+
}
- private void updateErrorMessage(int severity) {
- String error = getErrorString(severity);
- if (error == null) {
- handle.setMessage(null, IMessageProvider.NONE);
- return;
+ private void updatePage() {
+ updateErrorMessage();
+ if (!isHomeValid()) {
+ configurations.getControl().setEnabled(false);
+ configurations.setJBossHome(homeDirText.getText());
+ } else {
+ configurations.setJBossHome(homeDirText.getText());
+ configurations
+ .setDefaultConfiguration(IJBossServerConstants.DEFAULT_SERVER_NAME);
}
- handle.setMessage(error, IMessageProvider.ERROR);
+ int sel = jreCombo.getSelectionIndex();
+ if (sel != -1)
+ selectedVM = installedJREs.get(sel);
+ else
+ selectedVM = null;
}
- private String getErrorString(int severity) {
- if(nameText==null) { // We haven't yet been created so don't know any errors yet.
+ private void updateErrorMessage() {
+ String error = getErrorString();
+ if (error == null)
+ handle.setMessage(null, IMessageProvider.NONE);
+ else
+ handle.setMessage(error, IMessageProvider.ERROR);
+ }
+
+ private String getErrorString() {
+ if (nameText == null) {
+ // not yet initialized. no errors
return null;
}
- if (getRuntime(nameText.getText()) != null) {
+
+ if (getRuntime(name) != null) {
return Messages.rwf_NameInUse;
}
if (!isHomeValid())
return Messages.rwf_invalidDirectory;
- if (severity == SEVERITY_MAJOR)
- return null;
-
- // now give minor warnings
- if (nameText.getText().equals(""))
+ if (name == null || name.equals(""))
return Messages.rwf_nameTextBlank;
- if (homeDirText.getText().equals(""))
+ if (homeDir == null || homeDir.equals(""))
return Messages.rwf_homeDirBlank;
+ if (selectedVM == null)
+ return "No VM selected";
+
return null;
}
protected boolean isHomeValid() {
- return new Path(homeDirText.getText()).append("bin").append("run.jar")
- .toFile().exists();
+ return homeDir != null
+ && new Path(homeDir).append("bin").append("run.jar").toFile()
+ .exists();
}
private void browseHomeDirClicked() {
- File file = new File(homeDirText.getText());
+ File file = new File(homeDir);
if (!file.exists()) {
file = null;
}
File directory = getDirectory(file, homeDirComposite.getShell());
- if (directory == null) {
- return;
+ if (directory != null) {
+ homeDir = directory.getAbsolutePath();
+ homeDirText.setText(homeDir);
}
-
- homeDirText.setText(directory.getAbsolutePath());
}
protected File getDirectory(File startingDirectory, Shell shell) {
@@ -554,7 +489,7 @@
// JRE methods
protected void updateJREs() {
// get all installed JVMs
- installedJREs = new ArrayList();
+ installedJREs = new ArrayList<IVMInstall>();
IVMInstallType[] vmInstallTypes = JavaRuntime.getVMInstallTypes();
int size = vmInstallTypes.length;
for (int i = 0; i < size; i++) {
@@ -569,13 +504,12 @@
size = installedJREs.size();
jreNames = new String[size];
for (int i = 0; i < size; i++) {
- IVMInstall vmInstall = (IVMInstall) installedJREs.get(i);
+ IVMInstall vmInstall = installedJREs.get(i);
jreNames[i] = vmInstall.getName();
}
selectedVM = JavaRuntime.getDefaultVMInstall();
defaultVMIndex = installedJREs.indexOf(selectedVM);
-
}
// WST API methods
@@ -583,98 +517,30 @@
}
public void exit() {
- name = nameText.getText();
- homeDir = homeDirText.getText();
IRuntime r = (IRuntime) getTaskModel()
.getObject(TaskModel.TASK_RUNTIME);
- IRuntimeWorkingCopy runtimeWC;
- if (r instanceof IRuntimeWorkingCopy) {
- runtimeWC = (IRuntimeWorkingCopy) r;
- } else {
- runtimeWC = r.createWorkingCopy();
- }
+ IRuntimeWorkingCopy runtimeWC = r.isWorkingCopy() ? ((IRuntimeWorkingCopy) r)
+ : r.createWorkingCopy();
+
runtimeWC.setName(name);
runtimeWC.setLocation(new Path(homeDir));
-
- ((RuntimeWorkingCopy) runtimeWC).setAttribute(
- IJBossServerRuntime.PROPERTY_VM_ID, selectedVM.getId());
- ((RuntimeWorkingCopy) runtimeWC).setAttribute(
- IJBossServerRuntime.PROPERTY_VM_TYPE_ID, selectedVM
- .getVMInstallType().getId());
- ((RuntimeWorkingCopy) runtimeWC).setAttribute(
- IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, configurations
- .getSelectedConfiguration());
-
+ IJBossServerRuntime srt = (IJBossServerRuntime) runtimeWC.loadAdapter(
+ IJBossServerRuntime.class, new NullProgressMonitor());
+ srt.setVM(selectedVM);
+ srt.setJBossConfiguration(configurations.getSelectedConfiguration());
getTaskModel().putObject(TaskModel.TASK_RUNTIME, runtimeWC);
}
- private void createConfigurationComposite(Composite main) {
- configComposite = new Composite(main, SWT.NONE);
-
- FormData cData = new FormData();
- cData.left = new FormAttachment(0, 5);
- cData.right = new FormAttachment(100, -5);
- cData.top = new FormAttachment(jreComposite, 10);
- cData.bottom = new FormAttachment(100, -5);
- configComposite.setLayoutData(cData);
-
- configComposite.setLayout(new FormLayout());
-
- configLabel = new Label(configComposite, SWT.NONE);
- configLabel.setText(Messages.wf_ConfigLabel);
-
- configurations = new JBossConfigurationTableViewer(configComposite,
- SWT.BORDER | SWT.SINGLE);
-
- FormData labelData = new FormData();
- labelData.left = new FormAttachment(0, 5);
- configLabel.setLayoutData(labelData);
-
- FormData viewerData = new FormData();
- viewerData.left = new FormAttachment(0, 5);
- viewerData.right = new FormAttachment(100, -5);
- viewerData.top = new FormAttachment(configLabel, 5);
- viewerData.bottom = new FormAttachment(100, -5);
-
- configurations.getTable().setLayoutData(viewerData);
-
- configurations.getTable().addSelectionListener(new SelectionListener() {
-
- public void widgetDefaultSelected(SelectionEvent e) {
- updatePage(CONFIG_CHANGED);
- }
-
- public void widgetSelected(SelectionEvent e) {
- updatePage(CONFIG_CHANGED);
- }
-
- });
-
- }
-
public void performFinish(IProgressMonitor monitor) throws CoreException {
-
- IRuntime r = (IRuntime) getTaskModel()
- .getObject(TaskModel.TASK_RUNTIME);
- IRuntimeWorkingCopy runtimeWC = r.createWorkingCopy();
- runtimeWC.setName(name);
- runtimeWC.setLocation(new Path(homeDir));
- ((RuntimeWorkingCopy) runtimeWC).setAttribute(
- IJBossServerRuntime.PROPERTY_VM_ID, selectedVM.getId());
- ((RuntimeWorkingCopy) runtimeWC).setAttribute(
- IJBossServerRuntime.PROPERTY_VM_TYPE_ID, selectedVM
- .getVMInstallType().getId());
- ((RuntimeWorkingCopy) runtimeWC).setAttribute(
- IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, configurations
- .getSelectedConfiguration());
-
- IRuntime saved = runtimeWC.save(false, new NullProgressMonitor());
+ exit();
+ IRuntimeWorkingCopy r = (IRuntimeWorkingCopy) getTaskModel().getObject(
+ TaskModel.TASK_RUNTIME);
+ IRuntime saved = r.save(false, new NullProgressMonitor());
getTaskModel().putObject(TaskModel.TASK_RUNTIME, saved);
}
public boolean isComplete() {
- String s = getErrorString(SEVERITY_ALL);
- return s == null ? true : false;
+ return getErrorString() == null ? true : false;
}
public boolean hasComposite() {
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java 2008-02-14 09:26:56 UTC (rev 6310)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBossServerWizardFragment.java 2008-02-14 10:18:08 UTC (rev 6311)
@@ -47,19 +47,13 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.IServerWorkingCopy;
import org.eclipse.wst.server.core.ServerCore;
import org.eclipse.wst.server.core.TaskModel;
-import org.eclipse.wst.server.core.internal.RuntimeWorkingCopy;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerWorkingCopy;
import org.eclipse.wst.server.ui.wizard.IWizardHandle;
import org.eclipse.wst.server.ui.wizard.WizardFragment;
-import org.jboss.ide.eclipse.as.core.server.IDeployableServer;
import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
-import org.jboss.ide.eclipse.as.core.server.internal.AbstractJBossServerRuntime;
import org.jboss.ide.eclipse.as.core.server.internal.JBossServer;
import org.jboss.ide.eclipse.as.ui.JBossServerUISharedImages;
import org.jboss.ide.eclipse.as.ui.Messages;
@@ -113,15 +107,6 @@
return JBossServerUISharedImages.getImageDescriptor(imageKey);
}
- public String getVersion() {
- IRuntime rt = (IRuntime)getTaskModel().getObject(TaskModel.TASK_RUNTIME);
- String id = rt.getRuntimeType().getId();
- if( id.equals("org.jboss.ide.eclipse.as.runtime.32")) return "3.2";
- else if( id.equals("org.jboss.ide.eclipse.as.runtime.40")) return "4.0";
- else if( id.equals("org.jboss.ide.eclipse.as.runtime.42")) return "4.2";
- return ""; // default
- }
-
private void createExplanationLabel(Composite main) {
serverExplanationLabel = new Label(main, SWT.NONE);
FormData data = new FormData();
@@ -172,7 +157,8 @@
}
private String getDefaultNameText() {
- String base = Messages.swf_BaseName.replace(Messages.wf_BaseNameVersionReplacement, getVersion());
+ IRuntime rt = (IRuntime)getTaskModel().getObject(TaskModel.TASK_RUNTIME);
+ String base = Messages.swf_BaseName.replace(Messages.wf_BaseNameVersionReplacement, rt.getRuntimeType().getVersion());
if( findServer(base) == null ) return base;
int i = 1;
while( ServerCore.findServer(base + " (" + i + ")") != null )
@@ -182,9 +168,8 @@
private IServer findServer(String name) {
IServer[] servers = ServerCore.getServers();
for( int i = 0; i < servers.length; i++ ) {
- Server server = (Server) servers[i];
- if (name.trim().equals(server.getName()))
- return server;
+ if (name.trim().equals(servers[i].getName()))
+ return servers[i];
}
return null;
}
@@ -353,31 +338,21 @@
// WST API methods
public void enter() {
- if(homeValLabel==null) {
+ if(homeValLabel==null)
return;
- }
- IRuntime r = (IRuntime) getTaskModel().getObject(TaskModel.TASK_RUNTIME);
- IRuntimeWorkingCopy wc;
- if( r instanceof IRuntimeWorkingCopy )
- wc = (IRuntimeWorkingCopy)r;
- else
- wc = r.createWorkingCopy();
-
- if( wc instanceof RuntimeWorkingCopy ) {
- RuntimeWorkingCopy rwc = (RuntimeWorkingCopy)wc;
- homeValLabel.setText(rwc.getLocation().toOSString());
- configValLabel.setText(rwc.getAttribute(IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, ""));
- AbstractJBossServerRuntime jbsrt = (AbstractJBossServerRuntime)wc.loadAdapter(AbstractJBossServerRuntime.class, new NullProgressMonitor());
- IVMInstall install = jbsrt.getVM();
- jreValLabel.setText(install.getInstallLocation().getAbsolutePath() + " (" + install.getName() + ")");
- runtimeGroup.layout();
- String p = rwc.getLocation().append( "server").append(configValLabel.getText()).append("deploy").toOSString();
- deployTmpFolderVal = rwc.getLocation().append( "server").append(configValLabel.getText()).append("tmp").append("jbosstoolsTemp").toOSString();
- deployText.setText(p);
- deployVal = p;
- deployGroup.layout();
- }
+ IJBossServerRuntime srt = getRuntime();
+
+ homeValLabel.setText(srt.getRuntime().getLocation().toOSString());
+ configValLabel.setText(srt.getJBossConfiguration());
+ IVMInstall install = srt.getVM();
+ jreValLabel.setText(install.getInstallLocation().getAbsolutePath() + " (" + install.getName() + ")");
+ String deployFolder = srt.getRuntime().getLocation().append( "server").append(configValLabel.getText()).append("deploy").toOSString();
+ deployTmpFolderVal = srt.getRuntime().getLocation().append( "server").append(configValLabel.getText()).append("tmp").append("jbosstoolsTemp").toOSString();
+ deployText.setText(deployFolder);
+ deployVal = deployFolder;
+ runtimeGroup.layout();
+ deployGroup.layout();
}
public void exit() {
@@ -387,14 +362,25 @@
IServerWorkingCopy serverWC = (IServerWorkingCopy) getTaskModel().getObject(TaskModel.TASK_SERVER);
serverWC.setRuntime((IRuntime)getTaskModel().getObject(TaskModel.TASK_RUNTIME));
serverWC.setName(name);
- serverWC.setServerConfiguration(null);
- if( serverWC instanceof ServerWorkingCopy) {
- ((ServerWorkingCopy)serverWC).setAttribute(JBossServer.SERVER_USERNAME, authUser);
- ((ServerWorkingCopy)serverWC).setAttribute(JBossServer.SERVER_PASSWORD, authPass);
- ((ServerWorkingCopy)serverWC).setAttribute(IDeployableServer.DEPLOY_DIRECTORY, deployVal);
- ((ServerWorkingCopy)serverWC).setAttribute(IDeployableServer.TEMP_DEPLOY_DIRECTORY, deployTmpFolderVal);
- new File(deployTmpFolderVal).mkdirs();
+ serverWC.setServerConfiguration(null); // no inside jboss folder
+ JBossServer jbs = (JBossServer)serverWC.loadAdapter(JBossServer.class, new NullProgressMonitor());
+ jbs.setUsername(authUser);
+ jbs.setPassword(authPass);
+ jbs.setDeployFolder(deployVal);
+ jbs.setTempDeployFolder(deployTmpFolderVal);
+ new File(deployTmpFolderVal).mkdirs();
+ }
+
+ private IJBossServerRuntime getRuntime() {
+ IRuntime r = (IRuntime) getTaskModel()
+ .getObject(TaskModel.TASK_RUNTIME);
+ IJBossServerRuntime ajbsrt = null;
+ if (r != null) {
+ ajbsrt = (IJBossServerRuntime) r
+ .loadAdapter(IJBossServerRuntime.class,
+ new NullProgressMonitor());
}
+ return ajbsrt;
}
public boolean isComplete() {
16 years, 4 months
JBoss Tools SVN: r6310 - trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2008-02-14 04:26:56 -0500 (Thu, 14 Feb 2008)
New Revision: 6310
Removed:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ASLaunchConfigurationConverter.java
Log:
old class deleted during code-cleanup.
Deleted: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ASLaunchConfigurationConverter.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ASLaunchConfigurationConverter.java 2008-02-14 09:24:33 UTC (rev 6309)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ASLaunchConfigurationConverter.java 2008-02-14 09:26:56 UTC (rev 6310)
@@ -1,429 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ide.eclipse.as.core.util;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FilenameFilter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunchConfiguration;
-import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
-import org.eclipse.debug.internal.core.DebugCoreMessages;
-import org.eclipse.debug.internal.core.LaunchConfiguration;
-import org.eclipse.debug.internal.core.LaunchConfigurationInfo;
-import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
-import org.eclipse.jdt.launching.IVMInstall;
-import org.eclipse.jdt.launching.IVMInstallType;
-import org.eclipse.jdt.launching.JavaRuntime;
-import org.eclipse.wst.server.core.IRuntime;
-import org.eclipse.wst.server.core.IRuntimeType;
-import org.eclipse.wst.server.core.IRuntimeWorkingCopy;
-import org.eclipse.wst.server.core.IServer;
-import org.eclipse.wst.server.core.IServerType;
-import org.eclipse.wst.server.core.IServerWorkingCopy;
-import org.eclipse.wst.server.core.ServerCore;
-import org.eclipse.wst.server.core.internal.RuntimeWorkingCopy;
-import org.eclipse.wst.server.core.internal.Server;
-import org.eclipse.wst.server.core.internal.ServerType;
-import org.jboss.ide.eclipse.as.core.server.IJBossServerRuntime;
-import org.jboss.ide.eclipse.as.core.server.internal.AbstractJBossServerRuntime;
-import org.jboss.ide.eclipse.as.core.server.internal.launch.JBossServerStartupLaunchConfiguration;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * This class's purpose is to convert pre-JBIDE2.0 server launch configurations
- * into proper server and runtime objects linked with WTP.
- *
- * @author rstryker
- */
-
-public class ASLaunchConfigurationConverter {
-//
-// public TempLaunchConfiguration[] getConvertableConfigurations() {
-// TempLaunchConfiguration[] cfgs = getAllLaunchConfigurations();
-// ArrayList result = new ArrayList();
-// try {
-// for( int i = 0; i < cfgs.length; i++ ) {
-// int type = cfgs[i].getLaunchType();
-// // If it only has the private key and the type key, its a stub
-// if( type != -1 && cfgs[i].getAttributes().keySet().size() > 2) {
-// result.add(cfgs[i]);
-// }
-// }
-// } catch( CoreException ce) {
-// ce.printStackTrace();
-// }
-// return (TempLaunchConfiguration[]) result.toArray(new TempLaunchConfiguration[result.size()]);
-// }
-//
-//
-// public void convertConfiguration(TempLaunchConfiguration configuration,
-// String runtimeName, String serverName) throws CoreException {
-// int type = configuration.getLaunchType();
-//
-// // need name, directory, jre, configuration
-// String homeDir = configuration.getAttribute(TempLaunchConfiguration.HOME_DIR_KEY, (String)null);
-// String configName = configuration.getAttribute(TempLaunchConfiguration.CONFIGURATION_KEY, (String)null);
-// IVMInstall vm = configuration.getJVMItem();
-//
-// IRuntimeType runtimeType = getRuntimeType(type);
-// IServerType serverType = getServerType(type);
-//
-// try {
-// IServerWorkingCopy newServerWC = serverType.createServer(null, null, null, null);
-// IRuntimeWorkingCopy newRuntimeWC = runtimeType.createRuntime("", null);
-//
-// newRuntimeWC.setName(runtimeName);
-// newRuntimeWC.setLocation(new Path(homeDir));
-// ((RuntimeWorkingCopy)newRuntimeWC).setAttribute(IJBossServerRuntime.PROPERTY_VM_ID, vm.getId());
-// ((RuntimeWorkingCopy)newRuntimeWC).setAttribute(IJBossServerRuntime.PROPERTY_VM_TYPE_ID, vm.getVMInstallType().getId());
-// ((RuntimeWorkingCopy)newRuntimeWC).setAttribute(IJBossServerRuntime.PROPERTY_CONFIGURATION_NAME, configName);
-// IRuntime runtime = newRuntimeWC.save(true, null);
-//
-// AbstractJBossServerRuntime newJBRuntime = (AbstractJBossServerRuntime)newRuntimeWC
-// .loadAdapter(AbstractJBossServerRuntime.class, null);
-// newJBRuntime.setVMInstall(vm);
-//
-//
-// newServerWC.setRuntime(runtime);
-//
-// IFolder configFolder = ServerType.getServerProject().getFolder(serverName);
-// if( !configFolder.exists() ) {
-// configFolder.create(true, true, null);
-// }
-//
-// newServerWC.setServerConfiguration(configFolder);
-// newServerWC.setName(serverName);
-//
-// IServer savedServer = newServerWC.save(true, null);
-//
-// ILaunchConfiguration launchConfig =
-// ((Server)savedServer).getLaunchConfiguration(true, new NullProgressMonitor());
-// ILaunchConfigurationWorkingCopy lcwc = launchConfig.getWorkingCopy();
-//
-// // now lets set some launch config properties
-// String startSuffix = JBossServerStartupLaunchConfiguration.PRGM_ARGS_START_SUFFIX;
-// String stopSuffix = JBossServerStartupLaunchConfiguration.PRGM_ARGS_STOP_SUFFIX;
-// //String twiddleSuffix = JBossServerLaunchConfiguration.PRGM_ARGS_TWIDDLE_SUFFIX;
-// String twiddleSuffix = "";
-//
-// String startArgsKey = IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS + startSuffix;
-// String startVMArgsKey = IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS + startSuffix;
-// String startWorkingDirKey = IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY + startSuffix;
-//
-// String stopArgsKey = IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS + stopSuffix;
-// String stopVMArgsKey = IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS + stopSuffix;
-// String stopWorkingDirKey = IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY + stopSuffix;
-//
-// String twiddleArgsKey = IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS + twiddleSuffix;
-// String twiddleVMArgsKey = IJavaLaunchConfigurationConstants.ATTR_VM_ARGUMENTS + twiddleSuffix;
-// String twiddleWorkingDirKey = IJavaLaunchConfigurationConstants.ATTR_WORKING_DIRECTORY + twiddleSuffix;
-//
-// String startArgs = configuration.getAttribute("org.rocklet.launcher.userProgramArgs", (String)null);
-// String startVMArgs = configuration.getAttribute("org.rocklet.launcher.UserVMArgs", (String)null);
-//
-// String shutdownArgs = configuration.getAttribute("org.rocklet.launcher.userShutdownProgramArgs", (String)null);
-// String shutdownVMArgs = configuration.getAttribute("org.rocklet.launcher.userShutdownVMArgs", (String)null);
-//
-// String sourceMementoKey="org.eclipse.debug.core.source_locator_memento";
-// String sourceLocatorKey="org.eclipse.debug.core.source_locator_id";
-// String sourceMemento=configuration.getAttribute(sourceMementoKey, (String)null);
-// String sourceLocator=configuration.getAttribute(sourceLocatorKey, "org.eclipse.jdt.launching.sourceLocator.JavaSourceLookupDirector");
-//
-// lcwc.setAttribute(startArgsKey, startArgs);
-// lcwc.setAttribute(startVMArgsKey, startVMArgs);
-// lcwc.setAttribute(stopArgsKey, shutdownArgs);
-// lcwc.setAttribute(stopVMArgsKey, shutdownVMArgs);
-// lcwc.setAttribute(sourceMementoKey, sourceMemento);
-// lcwc.setAttribute(sourceLocatorKey, sourceLocator);
-//
-// lcwc.doSave();
-//
-//
-// } catch( CoreException ce) {
-// ce.printStackTrace();
-// }
-// }
-//
-//
-// private IRuntimeType getRuntimeType(int version) {
-// String runtimeKey = "org.jboss.ide.eclipse.as.runtime." + version;
-// return ServerCore.findRuntimeType(runtimeKey);
-// }
-//
-// private IServerType getServerType(int version) {
-// String serverKey = "org.jboss.ide.eclipse.as." + version;
-// return ServerCore.findServerType(serverKey);
-// }
-//
-//
-//
-// protected TempLaunchConfiguration[] getAllLaunchConfigurations() {
-// IPath containerPath =
-// DebugPlugin.getDefault().getStateLocation().append(".launches");
-//
-// List configs = new ArrayList(10);
-// final File directory = containerPath.toFile();
-// if (directory.isDirectory()) {
-// FilenameFilter filter = new FilenameFilter() {
-// public boolean accept(File dir, String name) {
-// return dir.equals(directory) &&
-// name.endsWith(ILaunchConfiguration.LAUNCH_CONFIGURATION_FILE_EXTENSION);
-// }
-// };
-// String[] files = directory.list(filter);
-// for (int i = 0; i < files.length; i++) {
-// TempLaunchConfiguration config = new TempLaunchConfiguration(containerPath.append(files[i]));
-// configs.add(config);
-// }
-// }
-//
-// return (TempLaunchConfiguration[]) configs.toArray(new TempLaunchConfiguration[configs.size()]);
-// }
-//
-// public class TempLaunchConfiguration extends LaunchConfiguration {
-// public static final String JBOSS_32_CONFIG = "org.jboss.ide.eclipse.launcher.configuration.jboss.JBoss32xLaunchConfigurationDelegate";
-// public static final String JBOSS_40_CONFIG = "org.jboss.ide.eclipse.launcher.configuration.jboss.JBoss40xLaunchConfigurationDelegate";
-// public static final String LAUNCH_CONFIG_TYPE = "_LAUNCH_CONFIG_TYPE_";
-//
-// public static final String HOME_DIR_KEY = "org.jboss.rocklet.HomeDir";
-// public static final String CONFIGURATION_KEY = "org.jboss.rocklet.ServerConfiguration";
-//
-//
-// private TempLaunchConfigurationInfo info = null;
-//
-// protected TempLaunchConfiguration(IPath location) {
-// super(location);
-// }
-//
-// protected LaunchConfigurationInfo getInfo() throws CoreException {
-// return managerGetInfo(this);
-// }
-//
-// // returns 32, 40, or -1
-// public int getLaunchType() {
-// try {
-// if( info == null ) managerGetInfo(this);
-//
-// String type = getAttribute(LAUNCH_CONFIG_TYPE, (String)null);
-// if( type == null ) return -1;
-//
-// if( type.equals(JBOSS_32_CONFIG)) return 32;
-// if( type.equals(JBOSS_40_CONFIG)) return 40;
-// } catch( Exception e ) {
-// }
-// return -1;
-// }
-//
-// public IVMInstall getJVMItem() throws CoreException {
-// List cp = getAttribute("org.rocklet.launcher.JDKClasspath", (List)null);
-// ArrayList vms = new ArrayList();
-// IVMInstallType[] vmTypes = JavaRuntime.getVMInstallTypes();
-// for( int i = 0; i < vmTypes.length; i++ ) {
-// vms.addAll(Arrays.asList(vmTypes[i].getVMInstalls()));
-// }
-// IVMInstall[] vms2 = (IVMInstall[]) vms.toArray(new IVMInstall[vms.size()]);
-//
-// Iterator i = cp.iterator();
-// while(i.hasNext()) {
-// Path cpItemPath = new Path((String)i.next());
-// for( int j = 0; j < vms2.length; j++ ) {
-// try {
-// Path vmPath = new Path(vms2[j].getInstallLocation().toURL().getPath());
-// IPath vmPath2 = vmPath.append("lib").append("tools.jar");
-// if( cpItemPath.equals(vmPath2) ) {
-// return vms2[j];
-// }
-// } catch( Exception e ) {
-// e.printStackTrace();
-// }
-// }
-// }
-//
-// return JavaRuntime.getDefaultVMInstall();
-// }
-//
-//
-// protected LaunchConfigurationInfo managerGetInfo(ILaunchConfiguration config) throws CoreException {
-// if (info == null) {
-// if (config.exists()) {
-// InputStream stream = null;
-// try {
-// if (config.isLocal()) {
-// IPath path = config.getLocation();
-// File file = path.toFile();
-// stream = new FileInputStream(file);
-// } else {
-// IFile file = ((LaunchConfiguration) config).getFile();
-// if (file == null) {
-// throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager_30, new String[] {config.getName()}), null);
-// }
-// stream = file.getContents();
-// }
-// info = (TempLaunchConfigurationInfo)createInfoFromXML(stream);
-// } catch (FileNotFoundException e) {
-// throwException(config, e);
-// } catch (SAXException e) {
-// throwException(config, e);
-// } catch (ParserConfigurationException e) {
-// throwException(config, e);
-// } catch (IOException e) {
-// throwException(config, e);
-// } finally {
-// if (stream != null) {
-// try {
-// stream.close();
-// } catch (IOException e) {
-// throwException(config, e);
-// }
-// }
-// }
-//
-// } else {
-// throw createDebugException(
-// MessageFormat.format(DebugCoreMessages.LaunchManager_does_not_exist, new String[]{config.getName(), config.getLocation().toOSString()}), null);
-// }
-// }
-// return info;
-// }
-//
-// private void throwException(ILaunchConfiguration config, Throwable e) throws DebugException {
-// IPath path = config.getLocation();
-// throw createDebugException(MessageFormat.format(DebugCoreMessages.LaunchManager__0__occurred_while_reading_launch_configuration_file__1___1, new String[]{e.toString(), path.toOSString()}), e);
-// }
-//
-// protected DebugException createDebugException(String message, Throwable throwable) {
-// return new DebugException(
-// new Status(
-// IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-// DebugException.REQUEST_FAILED, message, throwable
-// )
-// );
-// }
-//
-//
-// protected LaunchConfigurationInfo createInfoFromXML(InputStream stream) throws CoreException,
-// ParserConfigurationException,
-// IOException,
-// SAXException {
-// Element root = null;
-// DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
-// parser.setErrorHandler(new DefaultHandler());
-// root = parser.parse(new InputSource(stream)).getDocumentElement();
-// TempLaunchConfigurationInfo info = new TempLaunchConfigurationInfo();
-// info.initializeFromXML(root);
-// return info;
-// }
-//
-//
-// }
-//
-// protected class TempLaunchConfigurationInfo extends LaunchConfigurationInfo {
-//
-// protected void initializeFromXML(Element root) throws CoreException {
-//
-//
-//// boolean val = true;
-//// if( val ) {
-//// super.initializeFromXML(root);
-//// return;
-//// }
-//
-//
-// if (!root.getNodeName().equalsIgnoreCase("launchConfiguration")) { //$NON-NLS-1$
-// throw getInvalidFormatDebugException();
-// }
-//
-// // read type
-// String id = root.getAttribute("type"); //$NON-NLS-1$
-// if (id == null) {
-// throw getInvalidFormatDebugException();
-// }
-//
-// // Commenting out as it causes an exception. (Configuration type not found)
-//// ILaunchConfigurationType type = DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurationType(id);
-//// if (type == null) {
-//// String message= MessageFormat.format(DebugCoreMessages.LaunchConfigurationInfo_missing_type, new Object[]{id});
-//// throw new DebugException(
-//// new Status(
-//// IStatus.ERROR, DebugPlugin.getUniqueIdentifier(),
-//// DebugException.MISSING_LAUNCH_CONFIGURATION_TYPE, message, null)
-//// );
-//// }
-//// setType(type);
-//
-// // instead just set an attribute right now.
-// setAttribute(TempLaunchConfiguration.LAUNCH_CONFIG_TYPE, id);
-//
-// NodeList list = root.getChildNodes();
-// int length = list.getLength();
-// for (int i = 0; i < length; ++i) {
-// Node node = list.item(i);
-// short nodeType = node.getNodeType();
-// if (nodeType == Node.ELEMENT_NODE) {
-// Element element = (Element) node;
-// String nodeName = element.getNodeName();
-//
-// if (nodeName.equalsIgnoreCase("stringAttribute")) { //$NON-NLS-1$
-// setStringAttribute(element);
-// } else if (nodeName.equalsIgnoreCase("intAttribute")) { //$NON-NLS-1$
-// setIntegerAttribute(element);
-// } else if (nodeName.equalsIgnoreCase("booleanAttribute")) { //$NON-NLS-1$
-// setBooleanAttribute(element);
-// } else if (nodeName.equalsIgnoreCase("listAttribute")) { //$NON-NLS-1$
-// setListAttribute(element);
-// } else if (nodeName.equalsIgnoreCase("mapAttribute")) { //$NON-NLS-1$
-// setMapAttribute(element);
-// }
-// }
-// }
-// }
-// }
-
-}
16 years, 4 months
JBoss Tools SVN: r6309 - trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2008-02-14 04:24:33 -0500 (Thu, 14 Feb 2008)
New Revision: 6309
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java
Log:
generics refactor
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java 2008-02-14 09:22:24 UTC (rev 6308)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ServerConverter.java 2008-02-14 09:24:33 UTC (rev 6309)
@@ -60,7 +60,7 @@
* @return
*/
public static JBossServer[] getAllJBossServers() {
- ArrayList servers = new ArrayList();
+ ArrayList<JBossServer> servers = new ArrayList<JBossServer>();
IServer[] iservers = ServerCore.getServers();
for( int i = 0; i < iservers.length; i++ ) {
if( getJBossServer(iservers[i]) != null ) {
@@ -73,7 +73,7 @@
}
public static IServer[] getJBossServersAsIServers() {
- ArrayList servers = new ArrayList();
+ ArrayList<IServer> servers = new ArrayList<IServer>();
IServer[] iservers = ServerCore.getServers();
for( int i = 0; i < iservers.length; i++ ) {
if( getJBossServer(iservers[i]) != null ) {
@@ -86,7 +86,7 @@
}
public static IDeployableServer[] getAllDeployableServers() {
- ArrayList servers = new ArrayList();
+ ArrayList<IDeployableServer> servers = new ArrayList<IDeployableServer>();
IServer[] iservers = ServerCore.getServers();
for( int i = 0; i < iservers.length; i++ ) {
if( getDeployableServer(iservers[i]) != null ) {
@@ -98,7 +98,7 @@
return ret;
}
public static IServer[] getDeployableServersAsIServers() {
- ArrayList servers = new ArrayList();
+ ArrayList<IServer> servers = new ArrayList<IServer>();
IServer[] iservers = ServerCore.getServers();
for( int i = 0; i < iservers.length; i++ ) {
if( getDeployableServer(iservers[i]) != null ) {
16 years, 4 months
JBoss Tools SVN: r6308 - trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util.
by jbosstools-commits@lists.jboss.org
Author: rob.stryker(a)jboss.com
Date: 2008-02-14 04:22:24 -0500 (Thu, 14 Feb 2008)
New Revision: 6308
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ArgsUtil.java
Log:
generics refactor
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ArgsUtil.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ArgsUtil.java 2008-02-14 08:25:17 UTC (rev 6307)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/util/ArgsUtil.java 2008-02-14 09:22:24 UTC (rev 6308)
@@ -29,9 +29,9 @@
public static final Integer NO_VALUE = new Integer(-1);
- public static Map getSystemProperties(String argString) {
+ public static Map<String, Object> getSystemProperties(String argString) {
String[] args = parse(argString);
- HashMap map = new HashMap();
+ HashMap<String, Object> map = new HashMap<String, Object>();
for( int i = 0; i < args.length; i++ ) {
if( args[i].startsWith("-D")) {
@@ -59,7 +59,7 @@
}
public static String[] parse(String s) {
try {
- ArrayList l = new ArrayList();
+ ArrayList<String> l = new ArrayList<String>();
int length = s.length();
int current = 0;
16 years, 4 months
JBoss Tools SVN: r6307 - in trunk/jsf/tests: org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest and 12 other directories.
by jbosstools-commits@lists.jboss.org
Author: dsakovich
Date: 2008-02-14 03:25:17 -0500 (Thu, 14 Feb 2008)
New Revision: 6307
Added:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.classpath
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.project
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.jdt.core.prefs
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.jst.common.project.facet.core.prefs
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.wst.common.component
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/META-INF/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/META-INF/MANIFEST.MF
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/components.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/faces-config.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/jboss-web.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/lib/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/pages.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/web.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/addEmployee.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/address.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/careerRanks.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/childs.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/competenceMeasures.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/contracts.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/cumuls.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/decorations.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/developmentCircles.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/diplomas.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/formations.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/illnesses.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/leaves.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/nok.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdata.dtd
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdataCheckSingle.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdata_single.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pictureUpload.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/promotionExams.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/rank.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/salaryRanks.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectEntry.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectFunctionClass.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectGrade.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectMedicalCenter.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectSecretariat.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/transportation.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/workAccidents.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/employee.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/error.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/home.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/hr-actions.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/hr-layout.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/cal-next.png
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/cal-prev.png
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/dtpick.gif
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/index.html
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/display.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/edit.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/loginout.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/menu.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/template.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/done.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/functionClassesEditor.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/gradesEditor.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/listEditor.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/medicalCentersEditor.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/secretariatsEditor.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/selectEntriesEditor.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/login.page.xml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/login.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/menu.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata.dtd
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdataEdit.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata_check.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/picture.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/selectEmployee.xhtml
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/stylesheet/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/stylesheet/theme.css
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/perfomance/
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/perfomance/PerfomanceTest.java
Modified:
trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java
trunk/jsf/tests/org.jboss.tools.jsf.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/TestUtil.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-1619
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.classpath
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.classpath (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.classpath 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.project
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.project (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.project 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>perfomanceTest</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ </natures>
+</projectDescription>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.jdt.core.prefs (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.jdt.core.prefs 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,7 @@
+#Tue Feb 12 13:13:28 EET 2008
+eclipse.preferences.version=1
+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.source=1.5
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.jst.common.project.facet.core.prefs
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.jst.common.project.facet.core.prefs (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.jst.common.project.facet.core.prefs 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,4 @@
+#Tue Feb 12 13:13:29 EET 2008
+classpath.helper/org.eclipse.jdt.launching.JRE_CONTAINER\:\:org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType\:\:java-1.5.0-sun-1.5.0.13/owners=jst.java\:5.0
+classpath.helper/org.eclipse.jst.server.core.container\:\:org.jboss.ide.eclipse.as.core.server.runtime.runtimeTarget\:\:JBoss\ 4.2\ Runtime/owners=jst.web\:2.5
+eclipse.preferences.version=1
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.wst.common.component
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.wst.common.component (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.wst.common.component 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+<wb-module deploy-name="perfomanceTest">
+<wb-resource deploy-path="/" source-path="/WebContent"/>
+<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
+<property name="context-root" value="perfomanceTest"/>
+<property name="java-output-path" value="build/classes"/>
+</wb-module>
+</project-modules>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.wst.common.project.facet.core.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/.settings/org.eclipse.wst.common.project.facet.core.xml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <runtime name="JBoss 4.2 Runtime"/>
+ <fixed facet="jst.java"/>
+ <fixed facet="jst.web"/>
+ <installed facet="jst.java" version="5.0"/>
+ <installed facet="jst.web" version="2.5"/>
+</faceted-project>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/META-INF/MANIFEST.MF
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/META-INF/MANIFEST.MF (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/META-INF/MANIFEST.MF 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/components.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/components.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/components.xml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<components xmlns="http://jboss.com/products/seam/components"
+ xmlns:core="http://jboss.com/products/seam/core"
+ xmlns:persistence="http://jboss.com/products/seam/persistence"
+ xmlns:drools="http://jboss.com/products/seam/drools"
+ xmlns:bpm="http://jboss.com/products/seam/bpm"
+ xmlns:security="http://jboss.com/products/seam/security"
+ xmlns:mail="http://jboss.com/products/seam/mail"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation=
+ "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
+ http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd
+ http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.0.xsd
+ http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.0.xsd
+ http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.0.xsd
+ http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
+ http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">
+
+ <core:init debug="true" jndi-pattern="@jndiPattern@"/>
+
+ <core:manager concurrent-request-timeout="500"
+ conversation-timeout="120000"
+ conversation-id-parameter="cid"/>
+
+ <persistence:managed-persistence-context name="entityManager"
+ auto-create="true"
+ entity-manager-factory="#{seamTestEntityManagerFactory}"/>
+
+ <persistence:entity-manager-factory name="seamTestEntityManagerFactory"
+ persistence-unit-name="seamTest"/>
+
+ <drools:rule-base name="securityRules">
+ <drools:rule-files><value>/security.drl</value></drools:rule-files>
+ </drools:rule-base>
+
+ <security:identity authenticate-method="#{authenticator.authenticate}"
+ security-rules="#{securityRules}"
+ remember-me="true"/>
+
+ <event type="org.jboss.seam.notLoggedIn">
+ <action execute="#{redirect.captureCurrentView}"/>
+ </event>
+ <event type="org.jboss.seam.postAuthenticate">
+ <action execute="#{redirect.returnToCapturedView}"/>
+ </event>
+
+ <mail:mail-session host="localhost" port="2525" username="test" password="test" />
+
+ <!-- For use with jBPM pageflow or process management -->
+ <!--
+ <bpm:jbpm>
+ <bpm:process-definitions></bpm:process-definitions>
+ <bpm:pageflow-definitions></bpm:pageflow-definitions>
+ </bpm:jbpm>
+ -->
+
+</components>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/faces-config.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/faces-config.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/faces-config.xml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<faces-config version="1.2"
+ xmlns="http://java.sun.com/xml/ns/javaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
+
+ <application>
+ <locale-config>
+ <default-locale>en</default-locale>
+ </locale-config>
+ <!-- Disabled when using Ajax4JSF -->
+ <!--
+ <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
+ -->
+ </application>
+
+</faces-config>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/jboss-web.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/jboss-web.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/jboss-web.xml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,12 @@
+ <!DOCTYPE jboss-web PUBLIC
+ "-//JBoss//DTD Web Application 4.2//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
+
+<jboss-web>
+ <class-loading java2ClassLoadingCompliance="false">
+ <loader-repository>
+ seam.jboss.org:loader=seamTest
+ <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
+ </loader-repository>
+ </class-loading>
+</jboss-web>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/pages.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/pages.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/pages.xml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<pages xmlns="http://jboss.com/products/seam/pages"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd"
+
+ no-conversation-view-id="/home.xhtml"
+ login-view-id="/login.xhtml">
+
+ <page view-id="*">
+ <navigation>
+ <rule if-outcome="home">
+ <redirect view-id="/home.xhtml"/>
+ </rule>
+ </navigation>
+ </page>
+
+ <exception class="org.jboss.seam.framework.EntityNotFoundException">
+ <redirect view-id="/error.xhtml">
+ <message>Not found</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.persistence.EntityNotFoundException">
+ <redirect view-id="/error.xhtml">
+ <message>Not found</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.persistence.OptimisticLockException">
+ <end-conversation/>
+ <redirect view-id="/error.xhtml">
+ <message>Another user changed the same data, please try again</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.security.AuthorizationException">
+ <redirect view-id="/error.xhtml">
+ <message>You don't have permission to do this</message>
+ </redirect>
+ </exception>
+
+ <exception class="org.jboss.seam.security.NotLoggedInException">
+ <redirect view-id="/login.xhtml">
+ <message>Please log in first</message>
+ </redirect>
+ </exception>
+
+ <exception class="javax.faces.application.ViewExpiredException">
+ <redirect view-id="/error.xhtml">
+ <message>Your session has timed out, please try again</message>
+ </redirect>
+ </exception>
+
+ <exception>
+ <redirect view-id="/error.xhtml">
+ <message>Unexpected error, please try again</message>
+ </redirect>
+ </exception>
+
+</pages>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/web.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/web.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/WEB-INF/web.xml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
+ <display-name>perfomanceTest</display-name>
+ <welcome-file-list>
+ <welcome-file>index.html</welcome-file>
+ <welcome-file>index.htm</welcome-file>
+ <welcome-file>index.jsp</welcome-file>
+ <welcome-file>default.html</welcome-file>
+ <welcome-file>default.htm</welcome-file>
+ <welcome-file>default.jsp</welcome-file>
+ </welcome-file-list>
+</web-app>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/addEmployee.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/addEmployee.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/addEmployee.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,153 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+ xmlns:i="http://www.meteo.be/Intranet-Jsf">
+<ui:composition template="../hr-layout.xhtml">
+ <ui:param name="title" value="Add Employee" />
+ <ui:define name="leftBar"><ui:include src="../hr-actions.xhtml"/></ui:define>
+ <ui:define name="content">
+
+ <f:loadBundle basename="resources.hr" var="bundle" />
+ <h1>Add employee</h1>
+ <h:form id="addForm">
+ <table>
+ <tr>
+ <td style="vertical-align:top">
+ <i:eidReader value="Read Card -->" scriptVar="myreader" id="reader"/>
+ </td>
+ <td style="vertical-align:top">
+ <table>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.idCardNumber']}" for="cardNumber"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.cardNumber}" id="cardNumber"/><h:message for="cardNumber"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.nationalRegisterNumber']}" for="natNumber"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.nationalNumber}" id="natNumber"/><h:message for="natNumber"/>
+ </td>
+ </tr>
+ <!-- <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.login']}" for="login"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.login}" id="login"/><h:message for="login"/>
+ </td>
+ </tr> -->
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.firstname']}" for="firstname1"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.firstname}" id="firstname1" required="true"/><h:message for="firstname1"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.lastname']}" for="name"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.name}" id="name" required="true"/><h:message for="name"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.gender']}" for="gender"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.gender}" id="gender" maxlength="1" size="1"/><h:message for="gender"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.birthDate']}" for="birthDate"/>
+ </td>
+ <td><t:inputCalendar id="birthDate"
+ value="#{eIDEmployee.birthDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="yyyyMMdd">
+ <f:convertDateTime pattern="yyyyMMdd"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar>
+ <h:message for="birthDate"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.birthPlace']}" for="birthPlace"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.birthPlace}" id="birthPlace"/><h:message for="birthPlace"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Employee.nationality']}" for="nationality"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.nationality}" id="nationality" size="3" maxlength="3"/>(ISO-3 or ISO-2 code, Belgium=BEL or BE)<h:message for="nationality"/>
+ </td>
+ </tr>
+ <tr><th colspan="2">#{bundle['Employee.home']}</th></tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Address.street']}" for="street"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.street}" id="street"/><h:message for="street"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Address.number']}" for="number"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.number}" id="number"/><h:message for="number"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Address.zip']}" for="zip"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.zip}" id="zip"/><h:message for="zip"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Address.city']}" for="town"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.town}" id="town"/><h:message for="town"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputLabel value="#{bundle['Address.country']}" for="country"/>
+ </td>
+ <td>
+ <h:inputText value="#{eIDEmployee.country}" id="country" size="3" maxlength="3"/>(ISO-3 or ISO-2 code, Belgium=BEL or BE)<h:message for="country"/>
+ </td>
+ </tr>
+ </table>
+ <h:inputHidden value="#{eIDEmployee.picture}" id="picture"/><h:message for="picture"/>
+ <h:commandButton action="#{eIDEmployee.createEmployee}" value="#{bundle['menu.employee.add']}"></h:commandButton>
+ </td>
+ </tr>
+ </table>
+ </h:form>
+ <h:messages/>
+ </ui:define>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/address.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/address.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/address.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,76 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html">
+<ui:composition>
+<table style="border:none;">
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Address.number']}"/>
+ </td>
+ <td>
+ <h:inputText value="#{address.number}" size="3" id="addressnumber"/>
+ <h:message for="addressnumber" showDetails="true" showSummary="false"/>
+ </td>
+ <td>
+ #{bundle['Address.street']}
+ </td>
+ <td>
+ <h:inputText value="#{address.street}" size="50" id="street"/>
+ <h:message for="street" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Address.zip']}"/>
+ </td>
+ <td>
+ <h:inputText value="#{address.zip}" size="5" id="zip"/>
+ <h:message for="zip" showDetails="true" showSummary="false"/>
+ </td>
+ <td>
+ <h:outputText value="#{bundle['Address.city']}"/>
+ </td>
+ <td>
+ <h:inputText value="#{address.city}" size="48" id="city"/>
+ <h:message for="city" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Address.country']}"/>
+ </td>
+ <td colspan="3">
+ <h:selectOneMenu value="#{address.country}" id="country">
+ <f:selectItems value="#{hrRequest.countries}"/>
+ </h:selectOneMenu>
+ <h:message for="country" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Address.phone']}"/>
+ </td>
+ <td>
+ <h:inputText value="#{address.phone}" size="15" id="phone"/>
+ <h:message for="phone" showDetails="true" showSummary="false"/>
+ </td>
+ <td>
+ <h:outputText value="#{bundle['Address.gsm']}"/>
+ </td>
+ <td>
+ <h:inputText value="#{address.gsm}" size="15" id="gsm"/>
+ <h:message for="gsm" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Address.fax']}"/>
+ </td>
+ <td colspan="3">
+ <h:inputText value="#{address.fax}" size="15" id="fax"/>
+ <h:message for="fax" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+</table>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/careerRanks.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/careerRanks.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/careerRanks.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,165 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <a4j:region id="careerRegion">
+
+ <a4j:outputPanel id="a4jCareer" layout="block">
+ <table class="list" cellpadding="5" width="100%">
+ <thead></thead>
+ <t:dataList var="rank" rowIndexVar="index" value="#{ranks}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{bundle['CareerRank.start']}" /></td>
+ <td><h:outputText value="#{rank.start}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td><h:outputText value="#{bundle['CareerRank.end']}" /></td>
+ <td><h:outputText value="#{rank.end}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td rowspan="5" valign="top"><a4j:commandLink action="#{hrActions.editCareerRank}" immediate="true"
+ reRender=":#{parentClientId}:a4jCareer" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editCareerRank" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText
+ value="#{bundle['CareerRank.grade']}" /></td>
+ <td><h:outputText value="#{rank.grade}"><f:converter converterId="NamedIdConverter" /></h:outputText></td>
+ <td><h:outputText value="#{bundle['CareerRank.level']}" /></td>
+ <td><h:outputText value="#{rank.level}" /></td>
+
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText
+ value="#{bundle['CareerRank.functionClass']}" /></td>
+ <td colspan="3"><b>#{rank.functionClass.code}</b> <h:outputText value="#{rank.functionClass}"><f:converter converterId="NamedIdConverter" /></h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{bundle['CareerRank.careerPath']}" />
+ </td>
+ <td colspan="3">
+ <h:outputText value="#{rank.careerPath}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText>
+ </td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText
+ value="#{bundle['CareerRank.functionFamily']}" /></td>
+ <td colspan="3"><b>#{rank.functionFamily.pdata}</b> <h:outputText value="#{rank.functionFamily}"><f:converter converterId="NamedIdConverter" /></h:outputText></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr><td colspan="5" align="right"><a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.careerRank == null}"
+ reRender=":#{parentClientId}:a4jCareer" limitToList="true"
+ action="#{hrActions.addCareerRank}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editCareerRank" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </table>
+ <s:subForm id="editCareerRank"
+ rendered="#{hrSession.edits.careerRank != null}">
+ <table style="border:none;">
+ <tr>
+ <td><h:outputText value="#{bundle['CareerRank.start']}" /></td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.careerRank.start}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="rankstart">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="rankstart" showDetails="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['CareerRank.end']}" /></td>
+ <td><t:inputCalendar value="#{hrSession.edits.careerRank.end}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="rankend">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="rankend" showDetails="true" showSummary="false"/></td>
+ <td rowspan="3" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteCareerRank}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:a4jCareer" limitToList="true">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['CareerRank.grade']}</td>
+ <td colspan="3">
+ <!-- <h:selectOneMenu value="#{hrSession.edits.careerRank.grade}" id="rankgrade">
+ <f:selectItem itemValue="[nothing]" itemLabel=""/>
+ <f:selectItems value="#{hrRequest.grades}"/>
+ </h:selectOneMenu>
+ <h:outputLink value="#{facesContext.externalContext.requestContextPath}/faces/hr/edit/lists/gradesEditor.xhtml" target="_blank" ><h:graphicImage value="/images/icon_edit.gif"/></h:outputLink>-->
+
+ <ui:include src="selectGrade.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.careerRank.grade}" />
+ <ui:param name="id" value="rankgrade" />
+ </ui:include>
+ <h:message for="rankgrade" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputText
+ value="#{bundle['CareerRank.functionClass']}" /></td>
+ <td colspan="3">
+ <ui:include src="selectFunctionClass.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.careerRank.functionClass}" />
+ <ui:param name="id" value="functionClass" />
+ </ui:include>
+ <h:message for="functionClass" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['CareerRank.careerPath']}" />
+ </td>
+ <td colspan="3">
+ <!-- <h:selectOneMenu value="#{hrSession.edits.careerRank.careerPath}" id="careerPath">
+ <f:selectItem itemValue="[nothing]" itemLabel=""/>
+ <f:selectItems value="#{hrRequest.selectEntries['Career path']}"/>
+ </h:selectOneMenu> -->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.careerRank.careerPath}" />
+ <ui:param name="id" value="careerPath" />
+ <ui:param name="key" value="Career path" />
+ </ui:include>
+ <h:message for="careerPath" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputText
+ value="#{bundle['CareerRank.functionFamily']}" /></td>
+ <td colspan="3">
+ <!-- <h:selectOneMenu value="#{hrSession.edits.careerRank.functionFamily}" id="functionFamily">
+ <f:selectItem itemValue="[nothing]" itemLabel=""/>
+ <f:selectItems value="#{hrRequest.selectEntries['Function family']}"/>
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.careerRank.functionFamily}" />
+ <ui:param name="id" value="functionFamily" />
+ <ui:param name="key" value="Function family" />
+ </ui:include>
+ <h:message for="functionFamily" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ </table>
+ <a4j:commandButton value="Done" action="#{hrActions.doneCareerRank}"
+ actionFor="editCareerRank"
+ reRender=":#{parentClientId}:a4jCareer" limitToList="true" />
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/childs.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/childs.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/childs.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,105 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <a4j:region id="childrenRegion">
+
+ <a4j:outputPanel id="a4jChildren" layout="block">
+ <fieldset><legend><h:outputText
+ value="#{bundle['Employee.children']}" /></legend>
+ <table border="0" width="100%" class="list">
+ <thead>
+ <tr>
+ <th><h:outputText value="#{bundle['Child.firstName']}" /></th>
+ <th><h:outputText value="#{bundle['Child.lastName']}" /></th>
+ <th><h:outputText value="#{bundle['Child.birthDate']}" /></th>
+ <th><h:outputText value="#{bundle['Child.allocation']}" /></th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList value="#{hrSession.employee.childrenArray}"
+ var="child" id="childs" rowIndexVar="index">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{child.firstName}" /></td>
+ <td><h:outputText value="#{child.lastName}" /></td>
+ <td><h:outputText value="#{child.birthDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td><h:graphicImage url="/images/icon_checked.png" rendered="#{child.allocation}"/></td>
+ <td><a4j:commandLink action="#{hrActions.editChild}"
+ reRender=":#{parentClientId}:a4jChildren" limitToList="true"
+ immediate="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editChild" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tr>
+ <td align="right" colspan="5"><a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.child == null}"
+ reRender=":#{parentClientId}:a4jChildren" limitToList="true"
+ action="#{hrActions.addChild}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editChild" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ <tr>
+ <td colspan="5"><s:subForm id="editChild"
+ rendered="#{hrSession.edits.child != null}">
+
+ <table border="0" width="100%">
+ <tr>
+ <td><h:outputText value="#{bundle['Child.firstName']}" /></td>
+ <td><h:inputText value="#{hrSession.edits.child.firstName}" id="firstname"/><h:message for="firstname" showDetails="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['Child.lastName']}" /></td>
+ <td><h:inputText value="#{hrSession.edits.child.lastName}" id="lastname"/><h:message for="lastname" showDetails="true" showSummary="false"/></td>
+ <td rowspan="3" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteChild}" immediate="true"
+ reRender=":#{parentClientId}:a4jChildren" limitToList="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Child.birthDate']}" /></td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.child.birthDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="birthdate">
+
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="birthdate" showDetails="true" showSummary="false"/></td>
+ <td>Leeftijd kind huidig jaar:</td>
+ <td><h:outputText value="#{hrSession.edits.child.age}" /></td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Child.allocation']}" /></td>
+ <td><h:selectBooleanCheckbox
+ value="#{hrSession.edits.child.allocation}" /></td>
+ <td colspan="2"></td>
+ </tr>
+ <tr>
+ <td colspan="5" align="right"><a4j:commandButton value="Done"
+ reRender=":#{parentClientId}:a4jChildren" limitToList="true"
+ action="#{hrActions.clearEdits}" actionFor="doneChild" /></td>
+ </tr>
+ </table>
+
+ </s:subForm> <h:messages showDetail="true" /></td>
+ </tr>
+ </table>
+ </fieldset>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/competenceMeasures.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/competenceMeasures.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/competenceMeasures.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,410 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <style type="text/css">
+ tr.separator td,tr.separator th {
+ border-bottom:1px solid black;
+ }
+ </style>
+ <a4j:region id="compRegion">
+
+ <a4j:outputPanel id="a4jComp" layout="block">
+ <table class="list" width="100%">
+ <thead></thead>
+ <t:dataList id="measures" var="measure" rowIndexVar="index"
+ value="#{competenceMeasures}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['CompetenceMeasure.name']}</td>
+ <td>#{measure.name}</td>
+ <td>#{bundle['CompetenceMeasure.reference']}</td>
+ <td>#{measure.reference}</td>
+ <td rowspan="11" valign="top"><a4j:commandLink
+ action="#{hrActions.editCompetenceMeasure}" immediate="true"
+ reRender=":#{parentClientId}:a4jComp" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editCompetenceMeasure" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['CompetenceMeasure.organismApplyDate']}</td>
+ <td><h:outputText value="#{measure.organismApplyDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td>#{bundle['CompetenceMeasure.IRMApplyDate']}</td>
+ <td><h:outputText value="#{measure.IRMApplyDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['CompetenceMeasure.validityStart']}</td>
+ <td><h:outputText value="#{measure.validityStart}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td>#{bundle['CompetenceMeasure.validityEnd']}</td>
+ <td><h:outputText value="#{measure.validityEnd}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['CompetenceMeasure.level']}</td>
+ <td>#{measure.level}</td>
+ <td>#{bundle['CompetenceMeasure.premium']}</td>
+ <td><h:outputText value="#{measure.premium}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td valign="top">#{bundle['CompetenceMeasure.competenceMeasureTests']}</td>
+
+ <td colspan="3" valign="top">
+ <table class="list" style="border-spacing: 0px;">
+ <!-- <tr>
+ <th>#{bundle['CompetenceMeasureTest.date']}</th>
+ <th>#{bundle['CompetenceMeasureTest.score']}</th>
+ <th>#{bundle['CompetenceMeasureTest.result']}</th>
+ </tr> -->
+ <t:dataList rowIndexVar="index2" var="test"
+ value="#{measure.competenceMeasureTestsArray}">
+ <tr class="#{((index2+index)%2)==0?'odd':'even'}">
+ <td><h:outputText value="#{test.date}">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td>#{test.score}</td>
+ <td><h:outputText value="#{test.result}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText></td>
+ </tr>
+ </t:dataList>
+ </table>
+ </td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['CompetenceMeasure.evolution']}</td>
+ <td><h:outputText value="#{measure.evolution}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText></td>
+ <td>#{bundle['CompetenceMeasure.scoreTotal']}</td>
+ <td>#{measure.scoreTotal}</td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['CompetenceMeasure.pvDate']}</td>
+ <td><h:outputText value="#{measure.pvDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td>#{bundle['CompetenceMeasure.nextDate']}</td>
+ <td><h:outputText value="#{measure.nextDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['CompetenceMeasure.nextSalaryScale']}</td>
+ <td>#{measure.nextSalaryScale}</td>
+ <td>#{bundle['CompetenceMeasure.nextSalaryScaleDate']}</td>
+ <td><h:outputText value="#{measure.nextSalaryScaleDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['CompetenceMeasure.location']}</td>
+ <td>#{measure.location}</td>
+ <td>#{bundle['CompetenceMeasure.duration']}</td>
+ <td>#{measure.duration}</td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['CompetenceMeasure.testNumber']}</td>
+ <td>#{measure.testNumber}</td>
+ <td colspan="2"></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td valign="top">#{bundle['CompetenceMeasure.note']}</td>
+ <td colspan="3">#{measure.note}</td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="5" align="right">
+ <a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.competenceMeasure == null}"
+ reRender=":#{parentClientId}:a4jComp" limitToList="true"
+ action="#{hrActions.addCompetenceMeasure}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editCompetenceMeasure" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <s:subForm id="editCompetenceMeasure"
+ rendered="#{hrSession.edits.competenceMeasure != null}">
+ <fieldset>
+ <table style="border-spacing: 0px;" width="100%">
+ <tr>
+ <td>#{bundle['CompetenceMeasure.name']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasure.name}" id="cmname"/>
+ <h:message for="cmname" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['CompetenceMeasure.reference']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasure.reference}" id="mref"/>
+ <h:message for="mref" showDetails="true" showSummary="false"/></td>
+
+ <td rowspan="10" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteCompetenceMeasure}" immediate="true"
+ reRender=":#{parentClientId}:a4jComp" limitToList="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasure.organismApplyDate']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.competenceMeasure.organismApplyDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="cmoadate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cmoadate" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['CompetenceMeasure.IRMApplyDate']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.competenceMeasure.IRMApplyDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="cmiadate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cmiadate" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasure.validityStart']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.competenceMeasure.validityStart}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="cmvstart">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cmvstart" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['CompetenceMeasure.validityEnd']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.competenceMeasure.validityEnd}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="cmvend">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cmvend" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasure.level']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasure.level}" id="cmlevel"/>
+ <h:message for="cmlevel" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['CompetenceMeasure.premium']}</td>
+ <td><!-- <h:selectOneMenu
+ value="#{hrSession.edits.competenceMeasure.premium}" id="cmpremium">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Competence premium']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.competenceMeasure.premium}" />
+ <ui:param name="id" value="cmpremium" />
+ <ui:param name="key" value="Competence premium" />
+ </ui:include>
+ <h:message for="cmpremium" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td valign="top">#{bundle['CompetenceMeasure.competenceMeasureTests']}</td>
+ <td colspan="3" valign="top">
+ <a4j:region>
+ <a4j:outputPanel id="tests">
+ <table class="list">
+ <thead>
+ <tr>
+ <th>#{bundle['CompetenceMeasureTest.date']}</th>
+ <th>#{bundle['CompetenceMeasureTest.score']}</th>
+ <th>#{bundle['CompetenceMeasureTest.result']}</th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList rowIndexVar="index2" var="test"
+ value="#{hrSession.edits.competenceMeasure.competenceMeasureTestsArray}">
+ <tbody class="highlight">
+ <tr class="#{((index2+index)%2)==0?'odd':'even'}">
+ <td><h:outputText value="#{test.date}">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td>#{test.score}</td>
+ <td><h:outputText value="#{test.result}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText></td>
+ <td><a4j:commandLink
+ action="#{hrActions.editCompetenceMeasureTest}" immediate="true"
+ reRender=":#{parentClientId}:editCompetenceMeasure:tests" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset"
+ value="editCompetenceMeasureTest" />
+ <f:param name="editId" value="#{index2}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="3"></td>
+ <td><a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.competenceMeasureTest == null}"
+ reRender=":#{parentClientId}:editCompetenceMeasure:tests" limitToList="true"
+ action="#{hrActions.addCompetenceMeasureTest}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset"
+ value="editCompetenceMeasureTest" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td colspan="4"><s:subForm id="editCompetenceMeasureTest"
+ rendered="#{hrSession.edits.competenceMeasureTest != null}">
+ <fieldset>
+ <table style="border-spacing: 0px;">
+ <tr>
+ <td>#{bundle['CompetenceMeasureTest.date']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.competenceMeasureTest.date}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="cmtdate">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cmtdate" showDetails="true" showSummary="false"/></td>
+
+ <td rowspan="3" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteCompetenceMeasureTest}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:editCompetenceMeasure:tests" limitToList="true">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasureTest.score']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasureTest.score}" maxlength="50" id="cmtscore"></h:inputText>
+ <h:message for="cmtscore" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasureTest.result']}</td>
+ <td><!-- <h:selectOneMenu
+ value="#{hrSession.edits.competenceMeasureTest.result}" id="cmtresult">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Exam result']}" />
+ </h:selectOneMenu> -->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.competenceMeasureTest.result}" />
+ <ui:param name="id" value="cmtresult" />
+ <ui:param name="key" value="Exam result" />
+ </ui:include>
+ <h:message for="cmtresult" showDetails="true" showSummary="false"/></td>
+ </tr>
+
+ </table>
+ <a4j:commandButton value="Done"
+ action="#{hrActions.clearCompetenceMeasureTestEdit}"
+ reRender=":#{parentClientId}:editCompetenceMeasure:tests" limitToList="true"
+ actionFor="editCompetenceMeasureTest" /></fieldset>
+ </s:subForm></td>
+ </tr>
+ </tbody>
+ </table>
+ </a4j:outputPanel>
+ </a4j:region>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasure.evolution']}</td>
+ <td><!-- <h:selectOneMenu
+ value="#{hrSession.edits.competenceMeasure.evolution}" id="cmevolution">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Competence evolution']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.competenceMeasure.evolution}" />
+ <ui:param name="id" value="cmevolution" />
+ <ui:param name="key" value="Competence evolution" />
+ </ui:include>
+ <h:message for="cmevolution" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['CompetenceMeasure.scoreTotal']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasure.scoreTotal}" id="cmscoretotal"/>
+ <h:message for="cmscoretotal" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasure.pvDate']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.competenceMeasure.pvDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="cmpvdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cmpvdate" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['CompetenceMeasure.nextDate']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.competenceMeasure.nextDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="cmnextdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cmnextdate" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasure.nextSalaryScale']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasure.nextSalaryScale}" id="cmnextsalary"/>
+ <h:message for="cmnextsalary" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['CompetenceMeasure.nextSalaryScaleDate']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.competenceMeasure.nextSalaryScaleDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="cmnextsalarydate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cmnextsalarydate" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasure.location']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasure.location}" id="cmlocation"/>
+ <h:message for="cmlocation" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['CompetenceMeasure.duration']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasure.duration}" id="cmduration"/>
+ <h:message for="cmduration" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['CompetenceMeasure.testNumber']}</td>
+ <td><h:inputText
+ value="#{hrSession.edits.competenceMeasure.testNumber}" id="cmtestnumber"/>
+ <h:message for="cmtestnumber" showDetails="true" showSummary="false"/></td>
+ <td colspan="2"></td>
+ </tr>
+ <tr>
+ <td valign="top">#{bundle['CompetenceMeasure.note']}</td>
+ <td colspan="3"><h:inputTextarea
+ value="#{hrSession.edits.competenceMeasure.note}" cols="50"
+ rows="5" id="cmnote"/>
+ <h:message for="cmnote" showDetails="true" showSummary="false"/></td>
+ </tr>
+ </table>
+ <a4j:commandButton value="Done" action="#{hrActions.doneCompetenceMeasure}"
+ reRender=":#{parentClientId}:a4jComp" limitToList="true"
+ actionFor="editCompetenceMeasure" /></fieldset>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/contracts.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/contracts.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/contracts.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,310 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+
+ <a4j:region id="contractRegion">
+
+ <a4j:outputPanel id="a4jContract" layout="block">
+ <table class="list" cellpadding="5" width="100%">
+ <thead>
+ <tr>
+ <th><h:outputText value="#{bundle['Contract.reference']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.function']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.startDate']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.endDate']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.workPermitStart']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.workPermitEnd']}" /></th>
+ <th></th>
+ </tr>
+ <tr>
+ <th><h:outputText value="#{bundle['Contract.project']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.projectBudget']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.remainingProjectBudget']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.financedBy']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.comptabilitySection']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.budgetSource']}" /></th>
+ <th></th>
+ </tr>
+ <tr>
+ <th colspan="3" align="center"><h:outputText value="#{bundle['Contract.reason']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.type']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.contractCategory']}" /></th>
+ <th><h:outputText value="#{bundle['Contract.workExperienceGiven']}" /></th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList id="contracts" var="contract" rowIndexVar="index" value="#{contracts}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>
+ <h:outputText id="type" value="#{contract.reference}"/>
+ </td>
+ <td><h:outputText id="function" value="#{contract.function}"/></td>
+ <td>
+ <h:outputText value="#{contract.startDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </h:outputText>
+ </td>
+ <td>
+ <h:outputText value="#{contract.endDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </h:outputText>
+ </td>
+ <td>
+ <h:outputText value="#{contract.workPermitStart}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </h:outputText>
+ </td>
+ <td>
+ <h:outputText value="#{contract.workPermitEnd}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </h:outputText>
+ </td>
+ <td rowspan="3" valign="top">
+ <a4j:commandLink action="#{hrActions.editContract}"
+ immediate="true"
+ reRender=":#{parentClientId}:a4jContract" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset"/>
+ <f:param name="containerToReset" value="editContract" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>
+ <h:outputText id="project" value="#{contract.project.proj_name}"/>
+ </td>
+ <td>
+ <h:outputText id="budget" value="#{contract.projectBudget}"/>
+ </td>
+ <td>
+ <h:outputText id="remainingBudget" value="#{contract.remainingProjectBudget}"/>
+ </td>
+ <td>
+ <h:outputText id="financedBy" value="#{contract.financedBy}"/>
+ </td>
+ <td>
+ <h:outputText id="comptabilitySection" value="#{contract.comptabilitySection}"><f:converter converterId="SelectConverter" /></h:outputText>
+ </td>
+ <td>
+ <h:outputText id="budgetSource" value="#{contract.budgetSource}"><f:converter converterId="SelectConverter" /></h:outputText>
+ </td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td colspan="3">
+ <h:outputText id="reason" value="#{contract.reason}"><f:converter converterId="SelectConverter" /></h:outputText>
+ </td>
+ <td>
+ <h:outputText id="type" value="#{contract.type}"><f:converter converterId="SelectConverter" /></h:outputText>
+ </td>
+ <td>
+ <h:outputText id="category" value="#{contract.contractCategory}"><f:converter converterId="SelectConverter" /></h:outputText>
+ </td>
+ <td colspan="2">
+ <h:outputText id="workExperienceGiven" value="#{contract.workExperienceGiven}"/>
+ </td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="7">
+ <a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.contract == null}"
+ action="#{hrActions.addContract}"
+ reRender=":#{parentClientId}:a4jContract" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editContract" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <s:subForm id="editContract" rendered="#{hrSession.edits.contract != null}">
+ <fieldset>
+ <table border="0" width="100%">
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Contract.reference']}"/>
+ <h:inputText value="#{hrSession.edits.contract.reference}" id="creference"/>
+ <h:message for="creference" showDetail="true" showSummary="false"/>
+
+
+ <h:outputText value="#{bundle['Contract.type']}" />
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.contract.type}" />
+ <ui:param name="id" value="ctype" />
+ <ui:param name="key" value="Contract type" />
+ </ui:include>
+ <h:message for="ctype" showDetail="true" showSummary="false"/>
+ </td>
+ <td>
+ <h:outputText value="#{bundle['Contract.function']}" />
+ <h:inputText value="#{hrSession.edits.contract.function}" id="cfunction"/>
+ <h:message for="cfunction" showDetail="true" showSummary="false"/>
+ </td>
+
+ <td rowspan="7" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteContract}" immediate="true"
+ reRender=":#{parentClientId}:a4jContract" limitToList="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ #{bundle['Contract.reason']}
+ <!-- <h:selectOneMenu value="#{hrSession.edits.contract.reason}" id="creason">
+ <f:selectItems value="#{hrRequest.selectEntries['Contract reason']}"/>
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.contract.reason}" />
+ <ui:param name="id" value="creason" />
+ <ui:param name="key" value="Contract reason" />
+ </ui:include>
+ <h:message for="creason" showDetail="true" showSummary="false"/>
+ </td>
+ <td>
+ #{bundle['Contract.contractCategory']}
+ <!-- <h:selectOneMenu value="#{hrSession.edits.contract.contractCategory}" id="ccategory">
+ <f:selectItems value="#{hrRequest.selectEntries['Contract category']}"/>
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.contract.contractCategory}" />
+ <ui:param name="id" value="ccategory" />
+ <ui:param name="key" value="Contract category" />
+ </ui:include>
+ <h:message for="ccategory" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Contract.startDate']}" />
+ <t:inputCalendar
+ value="#{hrSession.edits.contract.startDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="cstartdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar>
+ <h:message for="cstartdate" showDetail="true" showSummary="false"/>
+ </td>
+ <td>
+ <h:outputText value="#{bundle['Contract.endDate']}" />
+ <t:inputCalendar
+ value="#{hrSession.edits.contract.endDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="cenddate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar>
+ <h:message for="cenddate" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Contract.workPermitStart']}" />
+ <t:inputCalendar
+ value="#{hrSession.edits.contract.workPermitStart}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="cworkstart">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar>
+ <h:message for="cworkstart" showDetail="true" showSummary="false"/>
+ </td>
+ <td>
+ <h:outputText value="#{bundle['Contract.workPermitEnd']}" />
+ <t:inputCalendar
+ value="#{hrSession.edits.contract.workPermitEnd}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="cworkend">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar>
+ <h:message for="cworkend" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Contract.project']}" />
+ <h:selectOneMenu id="cproject" value="#{hrSession.edits.contract.project}">
+ <f:selectItem itemValue="[nothing]" itemLabel=""/>
+ <f:selectItems value="#{hrRequest.projectItems}"/>
+ </h:selectOneMenu>
+ <a4j:commandLink action="dumb"
+ immediate="true" reRender="cproject" limitToList="true" >
+ <h:graphicImage
+ url="/images/icon_reload.gif"
+ style="border:none;vertical-align:center;margin-right:1pt"
+ />
+ </a4j:commandLink>
+ <h:message for="cproject" showDetail="true" showSummary="false"/>
+ </td>
+ <td>
+ <h:outputText value="#{bundle['Contract.workExperienceGiven']}" />
+ <h:inputText value="#{hrSession.edits.contract.workExperienceGiven}" id="cworkexp"/>
+ <h:message for="cworkexp" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Contract.projectBudget']}" />
+ <h:inputText value="#{hrSession.edits.contract.projectBudget}" id="cprojbudget"/>
+ <h:message for="cprojbudget" showDetail="true" showSummary="false"/>
+ </td>
+ <td>
+ <h:outputText value="#{bundle['Contract.remainingProjectBudget']}" />
+ <h:inputText value="#{hrSession.edits.contract.remainingProjectBudget}" id="cremainbudget"/>
+ <h:message for="cremainbudget" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Contract.financedBy']}" />
+ <h:inputText value="#{hrSession.edits.contract.financedBy}" id="cfinby"/>
+ <h:message for="cfinby" showDetail="true" showSummary="false"/>
+ </td>
+ <td>
+ #{bundle['Contract.budgetSource']}
+ <!-- <h:selectOneMenu value="#{hrSession.edits.contract.budgetSource}" id="cbsource">
+ <f:selectItems value="#{hrRequest.selectEntries['Budget source']}"/>
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.contract.budgetSource}" />
+ <ui:param name="id" value="cbsource" />
+ <ui:param name="key" value="Budget source" />
+ </ui:include>
+ <h:message for="cbsource" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Contract.comptabilitySection']}" />
+ <!-- <h:selectOneMenu value="#{hrSession.edits.contract.comptabilitySection}" id="ccsection">
+ <f:selectItems value="#{hrRequest.selectEntries['Comptability section']}"/>
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.contract.comptabilitySection}" />
+ <ui:param name="id" value="ccsection" />
+ <ui:param name="key" value="Comptability section" />
+ </ui:include>
+ <h:message for="ccsection" showDetail="true" showSummary="false"/>
+ </td>
+ <td>
+ </td>
+ </tr>
+ </table>
+ <a4j:commandButton value="Done" action="#{hrActions.doneContract}"
+ reRender=":#{parentClientId}:a4jContract" limitToList="true"
+ actionFor="editContract" />
+ </fieldset>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/cumuls.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/cumuls.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/cumuls.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,145 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <a4j:region id="cumulsRegion">
+
+ <a4j:outputPanel id="a4jCumul" layout="block">
+ <table class="list" width="100%">
+ <thead></thead>
+ <t:dataList var="cumul" rowIndexVar="index" value="#{cumuls}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td align="right"><h:outputText value="#{bundle['Cumul.subject']}"/></td>
+ <td><h:outputText value="#{cumul.subject}"/></td>
+ <td rowspan="8" valign="top">
+ <a4j:commandLink action="#{hrActions.editCumul}"
+ immediate="true" reRender=":#{parentClientId}:a4jCumul" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset"/>
+ <f:param name="containerToReset" value="editCumul" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td align="right"><h:outputText value="#{bundle['Cumul.startDate']}"/></td>
+ <td><h:outputText value="#{cumul.startDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td align="right"><h:outputText value="#{bundle['Cumul.endDate']}"/></td>
+ <td><h:outputText value="#{cumul.endDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td align="right"><h:outputText value="#{bundle['Cumul.university']}"/></td>
+ <td align="right"><h:outputText value="#{cumul.university}"/></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td align="right"><h:outputText value="#{bundle['Cumul.teachingTitle']}"/></td>
+ <td align="right"><h:outputText value="#{cumul.teachingTitle}"/></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td valign="top" align="right"><h:outputText value="#{bundle['Cumul.location']}"/></td>
+ <td><h:outputText value="#{cumul.location}"/></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td valign="top" align="right"><h:outputText value="#{bundle['Cumul.conditions']}"/></td>
+ <td><h:outputText value="#{cumul.conditions}"/></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td colspan="2"><h:outputText value="#{cumul.note}"/></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="3" align="right">
+ <a4j:commandLink immediate="true" rendered="#{hrSession.edits.cumul == null}"
+ reRender=":#{parentClientId}:a4jCumul" limitToList="true" action="#{hrActions.addCumul}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editCumul" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <s:subForm id="editCumul" rendered="#{hrSession.edits.cumul != null}">
+ <table>
+ <tr>
+ <td><h:outputText value="#{bundle['Cumul.subject']}"/></td>
+ <td colspan="3"><h:inputText value="#{hrSession.edits.cumul.subject}" size="100"/></td>
+
+ <td rowspan="6" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteCumul}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:a4jCumul" limitToList="true">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Cumul.startDate']}"/></td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.cumul.startDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="cstartdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cstartdate" showDetail="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['Cumul.endDate']}"/></td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.cumul.endDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="cenddate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="cenddate" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>
+ <h:outputText value="#{bundle['Cumul.university']}" />
+ </td>
+ <td colspan="3">
+ <h:inputText value="#{hrSession.edits.cumul.university}" id="university" size="100"/>
+ <h:message for="university"/>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Cumul.teachingTitle']}"/></td>
+ <td colspan="3"><h:inputText value="#{hrSession.edits.cumul.teachingTitle}" id="cteachtitle" size="100"/>
+ <h:message for="cteachtitle" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top"><h:outputText value="#{bundle['Cumul.location']}"/></td>
+ <td colspan="3"><h:inputTextarea value="#{hrSession.edits.cumul.location}" cols="80" rows="4" id="clocation"/>
+ <h:message for="clocation" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top"><h:outputText value="#{bundle['Cumul.conditions']}"/></td>
+ <td colspan="3"><h:inputTextarea value="#{hrSession.edits.cumul.conditions}" cols="80" rows="7" id="cconditions"/>
+ <h:message for="cconditions" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top"><h:outputText value="#{bundle['Cumul.note']}"/></td>
+ <td colspan="3"><h:inputTextarea value="#{hrSession.edits.cumul.note}" cols="80" rows="7" id="cnote"/>
+ <h:message for="cnote" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ </table>
+ <a4j:commandButton value="Done" action="#{hrActions.doneCumul}"
+ reRender=":#{parentClientId}:a4jCumul" limitToList="true"
+ actionFor="editCumul" />
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/decorations.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/decorations.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/decorations.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,105 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <a4j:region id="decorationRegion">
+
+ <a4j:outputPanel id="a4jDecorations" layout="block">
+ <table class="list" width="100%" cellpadding="5">
+ <thead>
+ <tr>
+ <th>#{bundle['Decoration.date']}</th>
+ <th>#{bundle['Decoration.kind']}</th>
+ <th>#{bundle['Decoration.decorationClass']}</th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList var="deco" rowIndexVar="index" value="#{decorations}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{deco.date}"><f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" /></h:outputText></td>
+ <td><h:outputText value="#{deco.kind}"><f:converter converterId="SelectConverter" /></h:outputText></td>
+ <td><h:outputText value="#{deco.decorationClass}"><f:converter converterId="SelectConverter" /></h:outputText></td>
+ <td><a4j:commandLink action="#{hrActions.editDecoration}" immediate="true"
+ reRender=":#{parentClientId}:a4jDecorations" limitToList="true">
+ <f:param name="editId" value="#{index}" />
+ <f:param name="containerToReset" value="editDecoration" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none" />
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="4" align="right"><a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.decoration == null}"
+ reRender=":#{parentClientId}:a4jDecorations" limitToList="true"
+ action="#{hrActions.addDecoration}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editDecoration" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </table>
+ <s:subForm id="editDecoration"
+ rendered="#{hrSession.edits.decoration != null}">
+ <fieldset>
+ <table style="border:none;">
+ <tr>
+ <td>#{bundle['Decoration.date']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.decoration.date}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar></td>
+
+ <td rowspan="4" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteDecoration}" immediate="true"
+ reRender=":#{parentClientId}:a4jDecorations" limitToList="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['Decoration.kind']}</td>
+ <td>
+
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.decoration.kind}" />
+ <ui:param name="id" value="decoration_kind" />
+ <ui:param name="key" value="Decoration kind" />
+ </ui:include>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['Decoration.decorationClass']}</td>
+ <td>
+
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.decoration.decorationClass}" />
+ <ui:param name="id" value="decoration_class" />
+ <ui:param name="key" value="Decoration class" />
+ </ui:include>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <a4j:commandButton value="Done" action="#{hrActions.doneDecoration}"
+ reRender=":#{parentClientId}:a4jDecorations" limitToList="true"
+ actionFor="editDecoration"
+ onclick="new Effect.Highlight('#{parentClientId}:a4jDecorations', {duration:2,startcolor:'#ffffff',endcolor:'#808080',restorecolor:'#808080'});" />
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/developmentCircles.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/developmentCircles.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/developmentCircles.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,144 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <a4j:region id="circleRegion">
+
+ <a4j:outputPanel id="a4jCircle" layout="block">
+ <table class="list" width="100%">
+ <thead></thead>
+ <t:dataList var="circle" rowIndexVar="index" value="#{developmentCircles}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['DevelopmentCircle.functionChiefName']}</td>
+ <td colspan="3">#{circle.functionChiefName}</td>
+ <td rowspan="7" valign="top"><a4j:commandLink
+ action="#{hrActions.editDevelopmentCircle}" immediate="true"
+ reRender=":#{parentClientId}:a4jCircle" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editDevelopmentCircle" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['DevelopmentCircle.duration']}</td>
+ <td colspan="3">#{circle.duration}</td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['DevelopmentCircle.planningMeetingDate']}</td>
+ <td><h:outputText value="#{circle.planningMeetingDate}"><f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" /></h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['DevelopmentCircle.functionMeetingDate']}</td>
+ <td><h:outputText value="#{circle.functionMeetingDate}"><f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" /></h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['DevelopmentCircle.workingMeetingDate']}</td>
+ <td><h:outputText value="#{circle.workingMeetingDate}"><f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" /></h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['DevelopmentCircle.evaluationMeetingDate']}</td>
+ <td><h:outputText value="#{circle.evaluationMeetingDate}"><f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" /></h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{bundle['DevelopmentCircle.result']}</td>
+ <td>#{circle.result}</td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="5" align="right">
+ <a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.developmentCircle == null}"
+ reRender=":#{parentClientId}:a4jCircle" limitToList="true"
+ action="#{hrActions.addDevelopmentCircle}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editDevelopmentCircle" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <s:subForm id="editDevelopmentCircle"
+ rendered="#{hrSession.edits.developmentCircle != null}">
+ <fieldset>
+ <table>
+ <tr>
+ <td>#{bundle['DevelopmentCircle.functionChiefName']}</td>
+ <td colspan="3">
+ <h:selectOneMenu id="chief" value="#{hrSession.edits.developmentCircle.functionChiefName}">
+ <f:selectItem itemLabel="" itemValue="[nothing]"/>
+ <f:selectItems value="#{hrRequest.employees}"/>
+ </h:selectOneMenu>
+ <h:message for="chief"/>
+ </td>
+
+ <td rowspan="7" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteDevelopmentCircle}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:a4jCircle" limitToList="true">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['DevelopmentCircle.duration']}</td>
+ <td colspan="3"><h:inputText value="#{hrSession.edits.developmentCircle.duration}" size="80"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['DevelopmentCircle.planningMeetingDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.developmentCircle.planningMeetingDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="pmdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="pmdate" showDetail="true" showSummary="false"/></td>
+ <td rowspan="4" valign="top">#{bundle['DevelopmentCircle.result']}</td>
+ <td rowspan="4" valign="top"><h:inputTextarea value="#{hrSession.edits.developmentCircle.result}" cols="50" rows="7" id="dcresult"/>
+ <h:message for="dcresult" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['DevelopmentCircle.functionMeetingDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.developmentCircle.functionMeetingDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="fmdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="fmdate" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['DevelopmentCircle.workingMeetingDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.developmentCircle.workingMeetingDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="wmdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="wmdate" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['DevelopmentCircle.evaluationMeetingDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.developmentCircle.evaluationMeetingDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="emdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="emdate" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <a4j:commandButton value="Done" action="#{hrActions.doneDevelopmentCircle}"
+ actionFor="editDevelopmentCircle"
+ reRender=":#{parentClientId}:a4jCircle" limitToList="true" /></td>
+ </tr>
+ </table>
+ </fieldset>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/diplomas.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/diplomas.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/diplomas.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,110 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <a4j:region id="diplomasRegion">
+
+ <a4j:outputPanel id="a4jDiplomas" layout="block">
+ <fieldset><legend><h:outputText
+ value="#{bundle['Employee.diplomas']}" /></legend>
+ <table class="list" width="100%">
+ <thead>
+ <tr>
+ <th><h:outputText value="#{bundle['Diploma.title']}" /></th>
+ <th><h:outputText value="#{bundle['Diploma.startDate']}" /></th>
+ <th><h:outputText value="#{bundle['Diploma.endDate']}" /></th>
+ <th><h:outputText value="#{bundle['Diploma.institution']}" /></th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList value="#{hrSession.employee.diplomasArray}"
+ var="diploma" id="diplomas" rowIndexVar="index">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{diploma.title}" /></td>
+ <td><h:outputText value="#{diploma.startDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </h:outputText></td>
+ <td><h:outputText value="#{diploma.endDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </h:outputText></td>
+ <td>#{diploma.institution}</td>
+ <td><a4j:commandLink action="#{hrActions.editDiploma}"
+ immediate="true" reRender=":#{parentClientId}:a4jDiplomas" limitToList="true">
+ <f:param name="editId" value="#{index}" />
+ <f:param name="containerToReset" value="editDiploma" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td align="right">
+ <a4j:commandLink immediate="true" rendered="#{hrSession.edits.diploma == null}"
+ action="#{hrActions.addDiploma}" reRender=":#{parentClientId}:a4jDiplomas" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editDiploma" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr>
+ <td><s:subForm id="editDiploma" rendered="#{hrSession.edits.diploma != null}">
+
+ <table border="0" width="100%">
+ <tr>
+ <td><h:outputText value="#{bundle['Diploma.title']}" /></td>
+ <td colspan="3"><h:inputText size="70" value="#{hrSession.edits.diploma.title}" id="dtitle"/>
+ <h:message for="dtitle" showDetail="true" showSummary="false"/></td>
+
+ <td rowspan="3" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteDiploma}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:a4jDiplomas" limitToList="true">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Diploma.startDate']}" /></td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.diploma.startDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="dstartdate">
+
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="dstartdate" showDetail="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['Diploma.endDate']}" /></td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.diploma.endDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="denddate">
+
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="denddate" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Diploma.institution']}" /></td>
+ <td colspan="3"><h:inputText size="70" value="#{hrSession.edits.diploma.institution}" /></td>
+ </tr>
+ </table>
+ <a4j:commandButton value="Done" action="#{hrActions.doneDiploma}"
+ reRender=":#{parentClientId}:a4jDiplomas" limitToList="true"
+ actionFor="editDiploma" />
+ </s:subForm> <h:messages showDetail="true"/></td>
+ </tr>
+ </tbody>
+ </table>
+ </fieldset>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/formations.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/formations.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/formations.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,119 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <style type="text/css">
+ tr.separator td,tr.separator th {
+ border-bottom:1px solid black;
+ }
+ </style>
+ <a4j:region id="formationRegion">
+
+ <a4j:outputPanel id="a4jformation" layout="block">
+ <table class="list" width="100%">
+ <thead>
+ <tr>
+ <th><h:outputText value="#{bundle['Formation.name']}" /></th>
+ <th><h:outputText value="#{bundle['Formation.reason']}" /></th>
+ <th><h:outputText value="#{bundle['Formation.startDate']}" /></th>
+ <th><h:outputText value="#{bundle['Formation.totalDays']}" /></th>
+ <th><h:outputText value="#{bundle['Formation.location']}" /></th>
+ <th></th>
+ </tr>
+ <tr>
+ <th colspan="5"><h:outputText value="#{bundle['Formation.note']}" /></th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList id="formations" var="formation" rowIndexVar="index" value="#{formations}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{formation.name}" /></td>
+ <td><h:outputText value="#{formation.reason}" /></td>
+ <td><h:outputText value="#{formation.startDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td><h:outputText value="#{formation.totalDays}"/></td>
+ <td><h:outputText value="#{formation.location}" /></td>
+ <td rowspan="2" valign="top">
+ <a4j:commandLink action="#{hrActions.editFormation}"
+ immediate="true" reRender=":#{parentClientId}:a4jformation" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset"/>
+ <f:param name="containerToReset" value="editFormation" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'} separator">
+ <td colspan="5"><h:outputText value="#{formation.note}" /></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="6" align="right">
+ <a4j:commandLink immediate="true" rendered="#{hrSession.edits.formation == null}"
+ reRender=":#{parentClientId}:a4jformation" limitToList="true"
+ action="#{hrActions.addFormation}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editFormation" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <s:subForm id="editFormation" rendered="#{hrSession.edits.formation != null}">
+ <fieldset>
+ <table border="0" width="100%">
+ <tr>
+ <td><h:outputText value="#{bundle['Formation.name']}" /></td>
+ <td><h:inputText value="#{hrSession.edits.formation.name}" id="fname"/><h:message for="fname" showDetail="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['Formation.reason']}" /></td>
+ <td><h:inputText value="#{hrSession.edits.formation.reason}" id="freason"/><h:message for="freason" showDetail="true" showSummary="false"/></td>
+
+ <td rowspan="4" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteFormation}" immediate="true"
+ reRender=":#{parentClientId}:a4jformation" limitToList="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Formation.startDate']}" /></td>
+ <td><t:inputCalendar value="#{hrSession.edits.formation.startDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="fstartdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="fstartdate" showDetail="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['Formation.totalDays']}" /></td>
+ <td><h:inputText value="#{hrSession.edits.formation.totalDays}" id="ftotaldays"/>
+ <h:message for="ftotaldays" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td valign="top"><h:outputText value="#{bundle['Formation.location']}" /></td>
+ <td colspan="3"><h:inputTextarea value="#{hrSession.edits.formation.location}" cols="50" rows="3" id="flocation"/>
+ <h:message for="flocation" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td valign="top"><h:outputText value="#{bundle['Formation.note']}" /></td>
+ <td colspan="3"><h:inputTextarea value="#{hrSession.edits.formation.note}" cols="50" rows="3" id="fnote"/>
+ <h:message for="fnote" showDetail="true" showSummary="false"/></td>
+ </tr>
+ </table>
+ <a4j:commandButton value="Done" action="#{hrActions.doneFormation}"
+ reRender=":#{parentClientId}:a4jformation" limitToList="true"
+ actionFor="editFormation" />
+ </fieldset>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/illnesses.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/illnesses.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/illnesses.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,131 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <style type="text/css">
+ tr.separator td,tr.separator th {
+ border-bottom:1px solid black;
+ }
+ </style>
+ <a4j:region>
+ <a4j:outputPanel id="a4jIllness" layout="block">
+ <table class="list" width="100%">
+ <thead>
+ <tr>
+ <th>#{bundle['Illness.kind']}</th>
+ <th>#{bundle['Illness.startDate']}</th>
+ <th>#{bundle['Illness.endDate']}</th>
+ <th>#{bundle['Illness.workingDays']}</th>
+ <th>#{bundle['Illness.calendarDays']}</th>
+ <th>#{bundle['Illness.document']}</th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList id="illnesses" var="illness" rowIndexVar="index" value="#{illnesses}">
+ <tbody class="hightlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{illness.kind}"><f:converter converterId="SelectConverter" /></h:outputText></td>
+ <td><h:outputText value="#{illness.startDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td><h:outputText value="#{illness.endDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td>#{illness.workingDays}</td>
+ <td>#{illness.calendarDays}</td>
+ <td>[document here later...]</td>
+ <td rowspan="2" valign="top">
+ <a4j:commandLink action="#{hrActions.editIllness}"
+ immediate="true" reRender=":#{parentClientId}:a4jIllness" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset"/>
+ <f:param name="containerToReset" value="editIllness" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td colspan="6">#{illness.note}</td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="7" align="right">
+ <a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.illness == null}"
+ action="#{hrActions.addIllness}"
+ reRender=":#{parentClientId}:a4jIllness" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editIllness" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <s:subForm id="editIllness" rendered="#{hrSession.edits.illness != null}">
+ <fieldset>
+ <table border="0" width="100%">
+ <tr>
+ <td>#{bundle['Illness.kind']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.edits.illness.kind}" id="ikind">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Illness type']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.illness.kind}" />
+ <ui:param name="id" value="ikind" />
+ <ui:param name="key" value="Illness type" />
+ </ui:include>
+ <h:message for="ikind" showDetail="true" showSummary="false"/></td>
+ <td colspan="2"></td>
+
+ <td rowspan="4" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteIllness}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:a4jIllness" limitToList="true">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['Illness.startDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.illness.startDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="istartdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="istartdate" showDetail="true" showSummary="false"/></td>
+ <td>#{bundle['Illness.endDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.illness.endDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="ienddate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="ienddate" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Illness.workingDays']}</td>
+ <td><h:inputText value="#{hrSession.edits.illness.workingDays}" id="iwdays"/>
+ <h:message for="iwdays" showDetail="true" showSummary="false"/></td>
+ <td>#{bundle['Illness.calendarDays']}</td>
+ <td><h:inputText value="#{hrSession.edits.illness.calendarDays}" id="icdays"/>
+ <h:message for="icdays" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Illness.note']}</td>
+ <td colspan="3"><h:inputTextarea value="#{hrSession.edits.illness.note}" rows="7" cols="50"/> </td>
+ </tr>
+ </table>
+ <a4j:commandButton value="Done" action="#{hrActions.doneIllness}"
+ actionFor="editIllness"
+ reRender=":#{parentClientId}:a4jIllness" limitToList="true" />
+ </fieldset>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/leaves.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/leaves.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/leaves.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,146 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <style type="text/css">
+ tr.separator td,tr.separator th {
+ border-bottom:1px solid black;
+ }
+ </style>
+ <a4j:region id="leaveRegion">
+
+ <a4j:outputPanel id="a4jLeave" layout="block">
+ <table class="list" cellpadding="5" width="100%">
+ <thead>
+ <tr>
+ <th>#{bundle['Leave.start']}</th>
+ <th>#{bundle['Leave.end']}</th>
+ <th>#{bundle['Leave.type']}</th>
+ <th>#{bundle['Leave.adminStatus']}</th>
+ <th>#{bundle['Leave.workingPercent']}</th>
+ <th>#{bundle['Leave.reason']}</th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList var="leave" rowIndexVar="index" value="#{leaves}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{leave.start}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td><h:outputText value="#{leave.end}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td><h:outputText value="#{leave.type}"><f:converter converterId="SelectConverter" /></h:outputText></td>
+ <td><h:outputText value="#{leave.adminStatus}"><f:converter converterId="SelectConverter" /></h:outputText></td>
+ <td>#{leave.workingPercent}</td>
+ <td><h:outputText value="#{leave.reason}"><f:converter converterId="SelectConverter" /></h:outputText></td>
+ <td valign="top"><a4j:commandLink
+ action="#{hrActions.editLeave}" immediate="true"
+ reRender=":#{parentClientId}:a4jLeave" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editLeave" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr><td colspan="7" align="right">
+ <a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.leave == null}"
+ reRender=":#{parentClientId}:a4jLeave" limitToList="true"
+ action="#{hrActions.addLeave}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editLeave" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </table>
+ <s:subForm id="editLeave"
+ rendered="#{hrSession.edits.leave != null}">
+ <table style="border:none;">
+ <tr>
+ <td>#{bundle['Leave.start']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.leave.start}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="lstart">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="lstart" showDetail="true" showSummary="false"/></td>
+ <td>#{bundle['Leave.end']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.leave.end}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="lend">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="lend" showDetail="true" showSummary="false"/></td>
+
+ <td rowspan="5" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteLeave}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:a4jLeave" limitToList="true">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['Leave.type']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.edits.leave.type}" id="ltype">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Leave type']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.leave.type}" />
+ <ui:param name="id" value="ltype" />
+ <ui:param name="key" value="Leave type" />
+ </ui:include>
+ <h:message for="ltype" showDetail="true" showSummary="false"/></td>
+ <td>#{bundle['Leave.adminStatus']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.edits.leave.adminStatus}" id="lastatus">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Administrative state']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.leave.adminStatus}" />
+ <ui:param name="id" value="lastatus" />
+ <ui:param name="key" value="Administrative state" />
+ </ui:include>
+ <h:message for="lastatus" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Leave.workingPercent']}</td>
+ <td colspan="3"><h:inputText value="#{hrSession.edits.leave.workingPercent}" id="lwpercent"/>
+ <h:message for="lwpercent" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Leave.reason']}</td>
+ <td colspan="3">
+ <!-- <h:selectOneMenu
+ value="#{hrSession.edits.leave.reason}" cols="50" rows="7" id="lreason">
+ <f:selectItems value="#{hrRequest.selectEntries['Leave reason']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.leave.reason}" />
+ <ui:param name="id" value="lreason" />
+ <ui:param name="key" value="Leave reason" />
+ </ui:include>
+ <h:message for="lreason" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="4" align="right">
+ <a4j:commandButton value="Done" action="#{hrActions.doneLeave}"
+ reRender=":#{parentClientId}:a4jLeave" limitToList="true"
+ actionFor="editLeave" />
+ </td>
+ </tr>
+ </table>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/nok.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/nok.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/nok.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,78 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk">
+<ui:composition>
+ <table border="0" width="100%">
+ <tr>
+ <td><h:outputText value="#{bundle['NextOfKin.partnerName']}"/></td>
+ <td><h:inputText value="#{nok.partnerName}" /></td>
+ <td><h:outputText value="#{bundle['NextOfKin.relationship']}"/></td>
+ <td><!-- <h:selectOneMenu value="#{nok.relationship}" id="nrelation">
+ <f:selectItems value="#{hrRequest.selectEntries['Relationship']}"/>
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{nok.relationship}" />
+ <ui:param name="id" value="nrelation" />
+ <ui:param name="key" value="Relationship" />
+ </ui:include>
+ <h:message for="nrelation" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['NextOfKin.marriageDate']}"/></td>
+ <td><t:inputCalendar
+ value="#{nok.marriageDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="nmdate">
+
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="nmdate" showDetail="true" showSummary="false"/></td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['NextOfKin.haardToelage']}"/></td>
+ <td><h:selectBooleanCheckbox value="#{nok.haardToelage}" id="nhtage"></h:selectBooleanCheckbox>
+ <h:message for="nhtage" showDetail="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['NextOfKin.haardToelageDate']}"/></td>
+ <td><t:inputCalendar
+ value="#{nok.haardToelageDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="nhtdate">
+
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="nhtdate" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['NextOfKin.standplaatsToelage']}"/></td>
+ <td><h:selectBooleanCheckbox value="#{nok.standplaatsToelage}" id="nstoelage"></h:selectBooleanCheckbox>
+ <h:message for="nstoelage" showDetail="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['NextOfKin.standplaatsToelageDate']}"/></td>
+ <td><t:inputCalendar
+ value="#{nok.standplaatsToelageDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="nstoeDate">
+
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="nstoeDate" showDetail="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <fieldset>
+ <legend><h:outputText value="#{bundle['NextOfKin.address']}"/></legend>
+ <ui:include src="address.xhtml">
+ <ui:param name="address" value="#{nok.address}" />
+ </ui:include>
+ </fieldset>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top"><h:outputText value="#{bundle['NextOfKin.note']}"/></td>
+ <td colspan="3">
+ <h:inputTextarea value="#{nok.note}" cols="40" rows="8" id="nnote"/>
+ <h:message for="nnote" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ </table>
+</ui:composition>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdata.dtd
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdata.dtd (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdata.dtd 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,135 @@
+<!ELEMENT data (service_code, refdate, record*)>
+<!ELEMENT service_code (#PCDATA)>
+<!ELEMENT refdate (#PCDATA)>
+ <!ELEMENT record ( abo_delijn?,
+ abo_sncb_nmbs?,
+ abo_stib_mivb?,
+ abo_tec?,
+ abs_reason_code?,
+ activity_perc?,
+ addr_box?,
+ addr_box2?,
+ addr_number?,
+ addr_number2?,
+ addr_street?,
+ addr_street2?,
+ admin_pos_code?,
+ alloc_comp?,
+ anci_pec?,
+ birthdate?,
+ contractcat_code?,
+ contractdurday?,
+ contractduryear?,
+ contract_id?,
+ cont_dur_code?,
+ cont_reason_code?,
+ country_code?,
+ country_code2?,
+ date_start_serve?,
+ disabled?,
+ disease_remain?,
+ disease_total?,
+ email?,
+ expertechel_code?,
+ family_code?,
+ fax?,
+ financesrc_code?,
+ firstname?,
+ floor?,
+ frame_code?,
+ function_code?,
+ grade_code?,
+ gsm?,
+ handicap_code?,
+ identification?,
+ integration_grant?,
+ language?,
+ lastname?,
+ local_service_code?,
+ manager_grant?,
+ nationality_code?,
+ nrnumber?,
+ nrn_etab?,
+ office?,
+ phone?,
+ postal_code?,
+ postal_code2?,
+ prepension?,
+ prime_ling_code?,
+ project_grant?,
+ refund_agdet_code?,
+ salary_scale_code?,
+ selection_code?,
+ sex?,
+ status_code?,
+ status_repl?,
+ superior_grant?,
+ taskperm_code?,
+ workplace_postal_code?
+)>
+<!ELEMENT abo_delijn (#PCDATA)>
+ <!ELEMENT abo_sncb_nmbs (#PCDATA)>
+ <!ELEMENT abo_stib_mivb (#PCDATA)>
+ <!ELEMENT abo_tec (#PCDATA)>
+ <!ELEMENT abs_reason_code (#PCDATA)>
+ <!ELEMENT activity_perc (#PCDATA)>
+ <!ELEMENT addr_box (#PCDATA)>
+ <!ELEMENT addr_box2 (#PCDATA)>
+ <!ELEMENT addr_number (#PCDATA)>
+ <!ELEMENT addr_number2 (#PCDATA)>
+ <!ELEMENT addr_street (#PCDATA)>
+ <!ELEMENT addr_street2 (#PCDATA)>
+ <!ELEMENT admin_pos_code (#PCDATA)>
+ <!ELEMENT alloc_comp (#PCDATA)>
+ <!ELEMENT anci_pec (#PCDATA)>
+ <!ELEMENT birthdate (#PCDATA)>
+ <!ELEMENT contractcat_code (#PCDATA)>
+ <!ELEMENT contractdurday (#PCDATA)>
+ <!ELEMENT contractduryear (#PCDATA)>
+ <!ELEMENT contract_id (#PCDATA)>
+ <!ELEMENT cont_dur_code (#PCDATA)>
+ <!ELEMENT cont_reason_code (#PCDATA)>
+ <!ELEMENT country_code (#PCDATA)>
+ <!ELEMENT country_code2 (#PCDATA)>
+ <!ELEMENT date_start_serve (#PCDATA)>
+ <!ELEMENT disabled (#PCDATA)>
+ <!ELEMENT disease_remain (#PCDATA)>
+ <!ELEMENT disease_total (#PCDATA)>
+ <!ELEMENT email (#PCDATA)>
+ <!ELEMENT expertechel_code (#PCDATA)>
+ <!ELEMENT family_code (#PCDATA)>
+ <!ELEMENT fax (#PCDATA)>
+ <!ELEMENT financesrc_code (#PCDATA)>
+ <!ELEMENT firstname (#PCDATA)>
+ <!ELEMENT floor (#PCDATA)>
+ <!ELEMENT frame_code (#PCDATA)>
+ <!ELEMENT function_code (#PCDATA)>
+ <!ELEMENT grade_code (#PCDATA)>
+ <!ELEMENT gsm (#PCDATA)>
+ <!ELEMENT handicap_code (#PCDATA)>
+ <!ELEMENT identification (#PCDATA)>
+ <!ELEMENT integration_grant (#PCDATA)>
+ <!ELEMENT language (#PCDATA)>
+ <!ELEMENT lastname (#PCDATA)>
+ <!ELEMENT local_service_code (#PCDATA)>
+ <!ELEMENT manager_grant (#PCDATA)>
+ <!ELEMENT nationality_code (#PCDATA)>
+ <!ELEMENT nrnumber (#PCDATA)>
+ <!ELEMENT nrn_etab (#PCDATA)>
+ <!ELEMENT office (#PCDATA)>
+ <!ELEMENT phone (#PCDATA)>
+ <!ELEMENT postal_code (#PCDATA)>
+ <!ELEMENT postal_code2 (#PCDATA)>
+ <!ELEMENT prepension (#PCDATA)>
+ <!ELEMENT prime_ling_code (#PCDATA)>
+ <!ELEMENT project_grant (#PCDATA)>
+ <!ELEMENT refund_agdet_code (#PCDATA)>
+ <!ELEMENT salary_scale_code (#PCDATA)>
+ <!ELEMENT selection_code (#PCDATA)>
+ <!ELEMENT sex (#PCDATA)>
+ <!ELEMENT status_code (#PCDATA)>
+ <!ELEMENT status_repl (#PCDATA)>
+ <!ELEMENT superior_grant (#PCDATA)>
+ <!ELEMENT taskperm_code (#PCDATA)>
+ <!ELEMENT workplace_postal_code (#PCDATA)>
+
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdataCheckSingle.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdataCheckSingle.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdataCheckSingle.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,38 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+ xmlns:s="http://myfaces.apache.org/sandbox">
+<ui:composition>
+
+ <f:loadBundle basename="resources.hr" var="bundle" />
+ <rich:column>
+ <rich:panel id="panel">
+ <f:facet name="header">#{employee.fullname}</f:facet>
+
+ <h:panelGroup rendered="#{empty employee.nationality.nationalRegisterCode}">
+ <h:outputFormat value="#{bundle['PData.error.required.nationality']}" class="warning" />
+ <br/>
+ </h:panelGroup>
+ <h:panelGroup rendered="#{empty employee.nationalRegisterNumber}">
+ <h:outputFormat value="#{bundle['PData.error.required.nrn']}" class="warning" />
+ <br/>
+ </h:panelGroup>
+ <h:panelGroup rendered="#{(employee.PData.status.pdata eq '30' or employee.PData.status.pdata eq '31' or employee.PData.status.pdata eq '32') and empty employee.current.contract.reason.pdata}">
+ <h:outputFormat value="#{bundle['PData.error.required.contractReason']}" class="warning" />
+ <br/>
+ </h:panelGroup>
+ <h:panelGroup rendered="#{empty employee.current.careerRank.grade.pdata}" id="gradeGroup1">
+ <h:outputFormat value="#{bundle['PData.error.required.grade']}" class="warning" />
+ <br/>
+ </h:panelGroup>
+ <a4j:commandLink action="none" reRender=":pdata,:pdataEdit" oncomplete="javascript:Richfaces.showModalPanel('pdataEdit')">
+ <f:param name="employeeId" value="#{employee.id}"/>
+ editer
+ </a4j:commandLink>
+ </rich:panel>
+ </rich:column>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdata_single.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdata_single.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pdata_single.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,78 @@
+<!DOCTYPE data SYSTEM "pdata.dtd">
+<data xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk">
+<ui:composition>
+ <h:panelGroup rendered="#{(not empty employee.administrativeState) or (not empty employee.administrativeState.pdata) or (employee.administrativeState.pdata ne '?')}">
+ <record>
+
+ <abo_sncb_nmbs>#{employee.transportation.usingTrain? '1' : '0'}</abo_sncb_nmbs>
+ <abo_stib_mivb>#{employee.transportation.usingStib? '1' : '0'}</abo_stib_mivb>
+ <abo_tec>#{employee.transportation.usingTec? '1' : '0'}</abo_tec>
+ <abs_reason_code>#{(empty employee.current.leave.reason)? '0' : employee.current.leave.reason.pdata}<!-- default 0, current leave's reason code --></abs_reason_code>
+ <activity_perc>#{employee.workingPercent}</activity_perc>
+ <addr_box></addr_box>
+ <addr_box2></addr_box2>
+ <addr_number>#{employee.home.number}</addr_number>
+ <addr_number2>#{employee.home.number}</addr_number2>
+ <addr_street>#{employee.home.street}</addr_street>
+ <addr_street2>#{employee.home.street}</addr_street2>
+ <admin_pos_code>#{employee.administrativeState.pdata}</admin_pos_code>
+ <alloc_comp>#{empty employee.current.competenceMeasure.premium? '0': '1'}</alloc_comp>
+ <anci_pec>#{employee.current.wageSeniority}</anci_pec>
+ <birthdate><h:outputText value="#{employee.birthDate}"><f:convertDateTime timeZone="Europe/Paris" pattern="yyyyMMdd"/></h:outputText></birthdate>
+ <h:panelGroup rendered="#{not empty employee.current.contract}">
+ <contractcat_code>#{employee.current.contract.contractCategory.pdata}</contractcat_code>
+ <contractdurday>#{employee.current.contract.durationDays gt 0 ? employee.current.contract.durationDays : '0'}</contractdurday>
+ <contractduryear>#{employee.current.contract.durationYears gt 0 ? employee.current.contract.durationYears : '0'}</contractduryear>
+ <contract_id>#{employee.current.contract.reference}</contract_id>
+ <cont_dur_code>#{employee.current.contract.contractualType.pdata}</cont_dur_code>
+ <cont_reason_code>#{employee.current.contract.reason.pdata}</cont_reason_code>
+ </h:panelGroup>
+
+ <country_code>#{employee.home.country.nationalRegisterCode}</country_code>
+ <country_code2>#{employee.home.country.nationalRegisterCode}</country_code2>
+ <date_start_serve><h:outputText value="#{employee.inDate}"><f:convertDateTime timeZone="Europe/Paris" pattern="yyyy-MM-dd"/></h:outputText></date_start_serve>
+ <disabled>#{employee.PData.handicap.pdata!=0? '1' : '0'}</disabled>
+ <disease_remain>#{employee.sickDayInBank}</disease_remain>
+ <disease_total>#{employee.sickDayForAge}</disease_total>
+ <email>#{employee.email}</email>
+ <expertechel_code>#{employee.expertSalaryScale.pdata}</expertechel_code>
+ <family_code>#{employee.current.careerRank.functionFamily.pdata}</family_code>
+ <fax>#{employee.officeAddress.fax}</fax>
+ <financesrc_code>#{employee.current.contract.budgetSource.pdata}</financesrc_code>
+ <firstname>#{employee.firstname}</firstname>
+ <frame_code>#{not empty employee.frame ? employee.frame.pdata : '-'}</frame_code>
+ <grade_code>#{employee.current.careerRank.grade.pdata}</grade_code>
+ <gsm>#{employee.officeAddress.gsm}</gsm>
+ <handicap_code>#{employee.PData.handicap.pdata}</handicap_code>
+ <identification>#{employee.nationalRegisterNumber}<!-- HR at kmi use national register number as file id --></identification>
+ <integration_grant>#{employee.PData.integrationGrant? 1 : 0}</integration_grant>
+ <language>#{employee.language.pdata}</language>
+ <lastname>#{employee.lastname}</lastname>
+ <manager_grant>#{employee.PData.managerGrant? 1 : 0}</manager_grant>
+ <nationality_code>#{employee.nationality.nationalRegisterCode}</nationality_code>
+ <nrnumber>#{employee.nationalRegisterNumber}</nrnumber>
+ <nrn_etab>#{employee.locationUnit.pdata}</nrn_etab>
+ <office>#{employee.officeLocation}</office>
+ <phone>#{employee.officeAddress.phone}</phone>
+ <postal_code>#{employee.home.zip}</postal_code>
+ <postal_code2>#{employee.home.zip}</postal_code2>
+ <prepension><!-- TODO detect employee status = prepension --></prepension>
+ <prime_ling_code>#{employee.bilingualPremium.pdata}</prime_ling_code>
+ <project_grant>#{employee.PData.projectGrant? 1 : 0}</project_grant>
+ <refund_agdet_code>#{employee.PData.agdet.pdata}</refund_agdet_code>
+ <salary_scale_code>#{employee.current.salaryRank.scale}</salary_scale_code>
+ <selection_code>#{empty employee.PData.selorCode.pdata? 0 : employee.PData.selorCode.pdata}</selection_code>
+ <sex>#{employee.gender.pdata}</sex>
+ <status_code>#{employee.PData.status.pdata}</status_code>
+ <status_repl>#{employee.replacement.pdata}</status_repl>
+ <superior_grant>#{employee.PData.superiorGrant? 1 : 0}</superior_grant>
+ <taskperm_code>#{employee.missionDuration.pdata}</taskperm_code>
+ <workplace_postal_code>#{employee.officeAddress.zip}</workplace_postal_code>
+
+ </record>
+ </h:panelGroup>
+</ui:composition>
+</data>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pictureUpload.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pictureUpload.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/pictureUpload.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,16 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<ui:composition>
+
+ <h:graphicImage url="picture.xhtml" rendered="#{not empty wrapper.employee.picture}"/>
+ <h:graphicImage url="/images/avatar.png" rendered="#{empty wrapper.employee.picture}"/>
+ <rich:simpleTogglePanel switchType="client" opened="false" label="#{bundle['Employee.picture.upload.label']}">
+ #{bundle['Employee.picture.upload.details']}<br/>
+ <t:inputFileUpload value="#{wrapper.pictureUploaded}" id="upload"/><br/>
+ <t:commandButton value="#{bundle['Employee.picture.upload.button']}" action="#{wrapper.uploadPicture}"/>
+ </rich:simpleTogglePanel>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/promotionExams.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/promotionExams.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/promotionExams.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,162 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+
+ <style type="text/css">
+ tr.separator td,tr.separator th {
+ border-bottom:1px solid black;
+ }
+ </style>
+ <a4j:region id="promotionRegion">
+
+ <a4j:outputPanel id="a4jProm" layout="block">
+ <table class="list" width="100%">
+ <t:dataList id="promotionExams" var="exam" rowIndexVar="index"
+ value="#{promotionExams}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.name']}</td>
+ <td>#{exam.name}</td>
+ <td>#{bundle['PromotionExam.reference']}</td>
+ <td>#{exam.reference}</td>
+
+ <td rowspan="5" valign="top"><a4j:commandLink
+ action="#{hrActions.editPromotionExam}" immediate="true"
+ reRender=":#{parentClientId}:a4jProm" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editPromotionExam" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.number']}</td>
+ <td>#{exam.number}</td>
+ <td>#{bundle['PromotionExam.level']}</td>
+ <td>#{exam.level}</td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.inscriptionDate']}</td>
+ <td><h:outputText value="#{exam.inscriptionDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td>#{bundle['PromotionExam.examDate']}</td>
+ <td><h:outputText value="#{exam.examDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.result']}</td>
+ <td><h:outputText value="#{exam.result}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText></td>
+ <td>#{bundle['PromotionExam.pvDate']}</td>
+ <td><h:outputText value="#{exam.pvDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.note']}</td>
+ <td colspan="3">#{exam.note}</td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="5" align="right">
+ <a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.promotionExam == null}"
+ reRender=":#{parentClientId}:a4jProm" limitToList="true"
+ action="#{hrActions.addPromotionExam}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editPromotionExam" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+
+ <s:subForm id="editPromotionExam"
+ rendered="#{hrSession.edits.promotionExam != null}">
+ <fieldset>
+ <table style="border-spacing: 0px;" width="100%">
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.name']}</td>
+ <td><h:inputText value="#{hrSession.edits.promotionExam.name}" id="pename"/>
+ <h:message for="pename" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['PromotionExam.reference']}</td>
+ <td><h:inputText value="#{hrSession.edits.promotionExam.reference}" id="peref"/>
+ <h:message for="peref" showDetails="true" showSummary="false"/></td>
+
+ <td rowspan="5" valign="top">
+ <a4j:commandLink action="#{hrActions.deletePromotionExam}" immediate="true"
+ reRender=":#{parentClientId}:a4jProm" limitToList="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.number']}</td>
+ <td><h:inputText value="#{hrSession.edits.promotionExam.number}" id="penumber"/>
+ <h:message for="penumber" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['PromotionExam.level']}</td>
+ <td><h:inputText value="#{hrSession.edits.promotionExam.level}" id="pelevel"/>
+ <h:message for="pelevel" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.inscriptionDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.promotionExam.inscriptionDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="peinsdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="peinsdate" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['PromotionExam.examDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.promotionExam.examDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="peexdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="peexdate" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.result']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.edits.promotionExam.result}" id="peresult">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Exam result']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.promotionExam.result}" />
+ <ui:param name="id" value="peresult" />
+ <ui:param name="key" value="Exam result" />
+ </ui:include>
+ <h:message for="peresult" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['PromotionExam.pvDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.promotionExam.pvDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy" id="pepvdate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="pepvdate" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr class="#{(index%2)==0?'even':'odd'}" width="100%">
+ <td>#{bundle['PromotionExam.note']}</td>
+ <td colspan="3"><h:inputTextarea value="#{hrSession.edits.promotionExam.note}" cols="50" rows="5" id="penote"/>
+ <h:message for="penote" showDetails="true" showSummary="false"/></td>
+ </tr>
+ </table>
+ </fieldset>
+ <a4j:commandButton value="Done" action="#{hrActions.donePromotionExam}"
+ reRender=":#{parentClientId}:a4jProm" limitToList="true"
+ actionFor="editPromotionExam" />
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/rank.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/rank.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/rank.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,36 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk">
+<ui:composition>
+ <table>
+ <tr>
+ <td>Van:</td>
+ <td><t:inputDate type="date" popupCalendar="true"
+ value="#{simpleBean.date}" /></td>
+ <td>Tot:</td>
+ <td><t:inputDate type="date" popupCalendar="true"
+ value="#{simpleBean.date}" /></td>
+ </tr>
+ <tr>
+ <td>Status:</td>
+ <td><h:inputText value=""/></td>
+ <td>Rank:</td>
+ <td><h:inputText value=""/></td>
+ </tr>
+ <tr>
+ <td>Level:</td>
+ <td><h:inputText value=""/></td>
+ <td>Salary Scale:</td>
+ <td><h:inputText value=""/></td>
+ </tr>
+ <tr>
+ <td>Next Rank/Scale:</td>
+ <td><h:inputText value=""/></td>
+ <td>Date Next Rank/Scale:</td>
+ <td><t:inputDate type="date" popupCalendar="true"
+ value="#{simpleBean.date}" /></td>
+ </tr>
+ </table>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/salaryRanks.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/salaryRanks.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/salaryRanks.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,96 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <a4j:region id="salaryRegion">
+
+ <a4j:outputPanel id="a4jSalary" layout="block">
+ <table class="list" width="100%" cellpadding="5">
+ <thead>
+ <tr>
+ <th>#{bundle['SalaryRank.scale']}</th>
+ <th>#{bundle['SalaryRank.start']}</th>
+ <th>#{bundle['SalaryRank.end']}</th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList var="rank" rowIndexVar="index" value="#{ranks}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td><h:outputText value="#{rank.scale}"/></td>
+ <td><h:outputText value="#{rank.start}"><f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" /></h:outputText></td>
+ <td><h:outputText value="#{rank.end}"><f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" /></h:outputText></td>
+ <td><a4j:commandLink action="#{hrActions.editSalaryRank}" immediate="true"
+ reRender=":#{parentClientId}:a4jSalary" limitToList="true">
+ <f:param name="editId" value="#{index}" />
+ <f:param name="containerToReset" value="editSalaryRank" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none" />
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="4" align="right"><a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.salaryRank == null}"
+ reRender=":#{parentClientId}:a4jSalary" limitToList="true"
+ action="#{hrActions.addSalaryRank}">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editSalaryRank" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </table>
+ <s:subForm id="editSalaryRank"
+ rendered="#{hrSession.edits.salaryRank != null}">
+ <fieldset>
+ <table style="border:none;">
+ <tr>
+ <td>#{bundle['SalaryRank.start']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.salaryRank.start}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar></td>
+
+ <td rowspan="4" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteSalaryRank}" immediate="true"
+ reRender=":#{parentClientId}:a4jSalary" limitToList="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['SalaryRank.end']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.edits.salaryRank.end}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </t:inputCalendar></td>
+ </tr>
+ <tr>
+ <td>#{bundle['SalaryRank.scale']}</td>
+ <td><h:inputText value="#{hrSession.edits.salaryRank.scale}"/></td>
+ </tr>
+ <tr>
+ <td colspan="2">
+ <a4j:commandButton value="Done" action="#{hrActions.doneSalaryRank}"
+ reRender=":#{parentClientId}:a4jSalary" limitToList="true"
+ actionFor="editSalaryRank" />
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectEntry.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectEntry.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectEntry.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,41 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <!--
+ this.previousSibling.style.setProperty('background-color','#202020','');
+ this.previousSibling.style.setProperty('border','1px solid red','');
+ Effect.Fade(this.previousSibling, {endcolor:'#202020'});-->
+ <style>
+ .selectEntryAction {
+ visibility:hidden;
+ }
+ .selectEntry:hover .selectEntryAction, .sehover .selectEntryAction {
+ visibility:visible;
+ }
+ </style>
+ <div class="selectEntry" onmouseover="this.className+=' sehover'" onmouseout="this.className=this.className.replace(new RegExp(' sehover\\b'), '')">
+ <h:selectOneMenu value="#{value}" id="#{id}">
+ <f:selectItems value="#{hrRequest.selectEntries[key]}"/>
+ </h:selectOneMenu>
+ <h:outputLink styleClass="selectEntryAction" target="_blank" value="#{facesContext.externalContext.requestContextPath}/faces/hr/edit/lists/selectEntriesEditor.xhtml">
+ <f:param name="editedList" value="#{key}"/>
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none;vertical-align:center;margin-right:1pt"/>
+ </h:outputLink>
+ <a4j:commandLink
+ styleClass="selectEntryAction"
+ action="refresh"
+ immediate="true"
+ reRender="#{id}"
+ limitToList="true"
+ onclick="new Effect.Highlight(this.previousSibling.previousSibling, {duration:2,startcolor:'#ffffff',endcolor:'#808080',restorecolor:'#808080'});"
+ >
+ <h:graphicImage
+ url="/images/icon_reload.gif"
+ style="border:none;vertical-align:center;margin-right:1pt"
+ />
+ </a4j:commandLink>
+ </div>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectFunctionClass.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectFunctionClass.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectFunctionClass.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,37 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <style>
+ .selectEntryAction {
+ visibility:hidden;
+ }
+ .selectEntry:hover .selectEntryAction, .sehover .selectEntryAction {
+ visibility:visible;
+ }
+ </style>
+ <div class="selectEntry" onmouseover="this.className+=' sehover'" onmouseout="this.className=this.className.replace(new RegExp(' sehover\\b'), '')">
+ <h:selectOneMenu value="#{value}" id="#{id}">
+ <f:selectItem itemValue="[nothing]" itemLabel=""/>
+ <f:selectItems value="#{hrRequest.functionClasses}"/>
+ </h:selectOneMenu>
+ <h:outputLink styleClass="selectEntryAction" target="_blank" value="#{facesContext.externalContext.requestContextPath}/faces/hr/edit/lists/functionClassesEditor.xhtml">
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none;vertical-align:center;margin-right:1pt"/>
+ </h:outputLink>
+ <a4j:commandLink
+ styleClass="selectEntryAction"
+ action="refresh"
+ immediate="true"
+ reRender="#{id}"
+ limitToList="true"
+ onclick="new Effect.Highlight(this.previousSibling.previousSibling, {duration:2,startcolor:'#ffffff',endcolor:'#808080',restorecolor:'#808080'});"
+ >
+ <h:graphicImage
+ url="/images/icon_reload.gif"
+ style="border:none;vertical-align:center;margin-right:1pt"
+ />
+ </a4j:commandLink>
+ </div>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectGrade.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectGrade.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectGrade.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,37 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <style>
+ .selectEntryAction {
+ visibility:hidden;
+ }
+ .selectEntry:hover .selectEntryAction, .sehover .selectEntryAction {
+ visibility:visible;
+ }
+ </style>
+ <div class="selectEntry" onmouseover="this.className+=' sehover'" onmouseout="this.className=this.className.replace(new RegExp(' sehover\\b'), '')">
+ <h:selectOneMenu value="#{value}" id="#{id}">
+ <f:selectItem itemValue="[nothing]" itemLabel=""/>
+ <f:selectItems value="#{hrRequest.grades}"/>
+ </h:selectOneMenu>
+ <h:outputLink styleClass="selectEntryAction" target="_blank" value="#{facesContext.externalContext.requestContextPath}/faces/hr/edit/lists/gradesEditor.xhtml">
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none;vertical-align:center;margin-right:1pt"/>
+ </h:outputLink>
+ <a4j:commandLink
+ styleClass="selectEntryAction"
+ action="refresh"
+ immediate="true"
+ reRender="#{id}"
+ limitToList="true"
+ onclick="new Effect.Highlight(this.previousSibling.previousSibling, {duration:2,startcolor:'#ffffff',endcolor:'#808080',restorecolor:'#808080'});"
+ >
+ <h:graphicImage
+ url="/images/icon_reload.gif"
+ style="border:none;vertical-align:center;margin-right:1pt"
+ />
+ </a4j:commandLink>
+ </div>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectMedicalCenter.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectMedicalCenter.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectMedicalCenter.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,41 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <!--
+ this.previousSibling.style.setProperty('background-color','#202020','');
+ this.previousSibling.style.setProperty('border','1px solid red','');
+ Effect.Fade(this.previousSibling, {endcolor:'#202020'});-->
+ <style>
+ .selectEntryAction {
+ visibility:hidden;
+ }
+ .selectEntry:hover .selectEntryAction, .sehover .selectEntryAction {
+ visibility:visible;
+ }
+ </style>
+ <div class="selectEntry" onmouseover="this.className+=' sehover'" onmouseout="this.className=this.className.replace(new RegExp(' sehover\\b'), '')">
+ <h:selectOneMenu value="#{value}" id="#{id}">
+ <f:selectItem itemLabel="" itemValue="[nothing]" />
+ <f:selectItems value="#{hrRequest.medicalCenters}"/>
+ </h:selectOneMenu>
+ <h:outputLink styleClass="selectEntryAction" target="_blank" value="#{facesContext.externalContext.requestContextPath}/faces/hr/edit/lists/medicalCentersEditor.xhtml">
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none;vertical-align:center;margin-right:1pt"/>
+ </h:outputLink>
+ <a4j:commandLink
+ styleClass="selectEntryAction"
+ action="refresh"
+ immediate="true"
+ reRender="#{id}"
+ limitToList="true"
+ onclick="new Effect.Highlight(this.previousSibling.previousSibling, {duration:2,startcolor:'#ffffff',endcolor:'#808080',restorecolor:'#808080'});"
+ >
+ <h:graphicImage
+ url="/images/icon_reload.gif"
+ style="border:none;vertical-align:center;margin-right:1pt"
+ />
+ </a4j:commandLink>
+ </div>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectSecretariat.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectSecretariat.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/selectSecretariat.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,41 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <!--
+ this.previousSibling.style.setProperty('background-color','#202020','');
+ this.previousSibling.style.setProperty('border','1px solid red','');
+ Effect.Fade(this.previousSibling, {endcolor:'#202020'});-->
+ <style>
+ .selectEntryAction {
+ visibility:hidden;
+ }
+ .selectEntry:hover .selectEntryAction, .sehover .selectEntryAction {
+ visibility:visible;
+ }
+ </style>
+ <div class="selectEntry" onmouseover="this.className+=' sehover'" onmouseout="this.className=this.className.replace(new RegExp(' sehover\\b'), '')">
+ <h:selectOneMenu value="#{value}" id="#{id}">
+ <f:selectItem itemLabel="" itemValue="[nothing]" />
+ <f:selectItems value="#{hrRequest.secretariats}"/>
+ </h:selectOneMenu>
+ <h:outputLink styleClass="selectEntryAction" target="_blank" value="#{facesContext.externalContext.requestContextPath}/faces/hr/edit/lists/secretariatsEditor.xhtml">
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none;vertical-align:center;margin-right:1pt"/>
+ </h:outputLink>
+ <a4j:commandLink
+ styleClass="selectEntryAction"
+ action="refresh"
+ immediate="true"
+ reRender="#{id}"
+ limitToList="true"
+ onclick="new Effect.Highlight(this.previousSibling.previousSibling, {duration:2,startcolor:'#ffffff',endcolor:'#808080',restorecolor:'#808080'});"
+ >
+ <h:graphicImage
+ url="/images/icon_reload.gif"
+ style="border:none;vertical-align:center;margin-right:1pt"
+ />
+ </a4j:commandLink>
+ </div>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/transportation.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/transportation.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/transportation.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,108 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox">
+<ui:composition>
+
+ <table border="0" width="100%">
+ <tr>
+ <td><h:outputText value="#{bundle['Transportation.type']}" /></td>
+ <td><!-- <h:selectOneMenu id="type" value="#{transport.type}">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Transportation Type']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{transport.type}" />
+ <ui:param name="id" value="type" />
+ <ui:param name="key" value="Transportation Type" />
+ </ui:include>
+ </td>
+ <td>#{bundle['Transportation.bicycleAllocation']}</td>
+ <td><h:selectBooleanCheckbox value="#{transport.bicycleAllocation}" /></td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Transportation.autoNumber']}" /></td>
+ <td><h:inputText value="#{transport.autoNumber}" id="tanumber"/>
+ <h:message for="tanumber" showDetails="true" showSummary="false"/></td>
+ <td><h:outputText value="#{bundle['Transportation.autoModel']}" /></td>
+ <td><h:inputText value="#{transport.autoModel}" id="tamodel"/>
+ <h:message for="tamodel" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td><h:outputText
+ value="#{bundle['Transportation.driverLicenceType']}" /></td>
+ <td><!-- <h:selectOneMenu
+ value="#{transport.driverLicenceType}" id="tdlictype">
+ <f:selectItems value="#{hrRequest.selectEntries['Driver Licence']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{transport.driverLicenceType}" />
+ <ui:param name="id" value="tdlictype" />
+ <ui:param name="key" value="Driver Licence" />
+ </ui:include>
+ <h:message for="tdlictype" showDetails="true" showSummary="false"/></td>
+ <td><h:outputText
+ value="#{bundle['Transportation.driverLicenceNumber']}" /></td>
+ <td><h:inputText value="#{transport.driverLicenceNumber}" id="tdlicnumber"/>
+ <h:message for="tdlicnumber" showDetails="true" showSummary="false"/></td>
+ </tr>
+
+ <tr>
+ <td><h:outputText
+ value="#{bundle['Transportation.subscriptionType']}" /></td>
+ <td><!-- <h:selectOneMenu
+ value="#{transport.subscriptionType}" id="tsubtype">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Transportation Subscription']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{transport.subscriptionType}" />
+ <ui:param name="id" value="tsubtype" />
+ <ui:param name="key" value="Transportation Subscription" />
+ </ui:include>
+ <h:message for="tsubtype" showDetails="true" showSummary="false"/>
+ </td>
+ <td><h:outputText
+ value="#{bundle['Transportation.subscriptionDuration']}" /></td>
+ <td><h:inputText value="#{transport.subscriptionDuration}" id="tsubduration"/>
+ <h:message for="tsubduration" showDetails="true" showSummary="false"/></td>
+ </tr>
+ </table>
+ <table width="100%">
+ <tr>
+ <td colspan="9"><h:outputText
+ value="#{bundle['Transportation.transportMode']}" /></td>
+ </tr>
+ <tr>
+ <td><h:outputText value="#{bundle['Transportation.usingFeet']}" /></td>
+ <td><h:outputText
+ value="#{bundle['Transportation.usingBicycle']}" /></td>
+ <td><h:outputText value="#{bundle['Transportation.usingTrain']}" /></td>
+ <td><h:outputText value="#{bundle['Transportation.usingStib']}" /></td>
+ <td><h:outputText
+ value="#{bundle['Transportation.usingDeLijn']}" /></td>
+ <td><h:outputText value="#{bundle['Transportation.usingTec']}" /></td>
+ <td><h:outputText
+ value="#{bundle['Transportation.usingMotorcycle']}" /></td>
+ <td><h:outputText value="#{bundle['Transportation.usingCar']}" /></td>
+ <td><h:outputText
+ value="#{bundle['Transportation.usingCarSharing']}" /></td>
+ </tr>
+ <tr>
+ <td><h:selectBooleanCheckbox value="#{transport.usingFeet}" /></td>
+ <td><h:selectBooleanCheckbox value="#{transport.usingBicycle}" /></td>
+ <td><h:selectBooleanCheckbox value="#{transport.usingTrain}" /></td>
+ <td><h:selectBooleanCheckbox value="#{transport.usingStib}" /></td>
+ <td><h:selectBooleanCheckbox value="#{transport.usingDeLijn}" /></td>
+ <td><h:selectBooleanCheckbox value="#{transport.usingTec}" /></td>
+ <td><h:selectBooleanCheckbox
+ value="#{transport.usingMotorcycle}" /></td>
+ <td><h:selectBooleanCheckbox value="#{transport.usingCar}" /></td>
+ <td><h:selectBooleanCheckbox
+ value="#{transport.usingCarSharing}" /></td>
+ </tr>
+ </table>
+</ui:composition>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/workAccidents.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/workAccidents.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/elements/workAccidents.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,303 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition>
+ <style type="text/css">
+ tr.separator td,tr.separator th {
+ border-bottom:1px solid black;
+ }
+ tr.small td, tr.small th, td.small {
+ font-size:smaller;
+ }
+ </style>
+ <a4j:region id="workAccidentRegion">
+
+ <a4j:outputPanel id="a4jWorkAccident" layout="block">
+ <table class="list" width="100%">
+ <thead>
+ <tr>
+ <th>#{bundle['WorkAccident.number']}</th>
+ <th>#{bundle['WorkAccident.type']}</th>
+ <th>#{bundle['WorkAccident.date']}</th>
+ <th>#{bundle['WorkAccident.illness']}</th>
+ <th colspan="6"></th>
+ </tr>
+ <tr class="separator small">
+ <th colspan="3"></th>
+ <th>#{bundle['Illness.kind']}</th>
+ <th>#{bundle['Illness.startDate']}</th>
+ <th>#{bundle['Illness.endDate']}</th>
+ <th>#{bundle['Illness.workingDays']}</th>
+ <th>#{bundle['Illness.calendarDays']}</th>
+ <th>#{bundle['Illness.document']}</th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList id="accidents" var="accident" rowIndexVar="index" value="#{accidents}">
+ <tbody class="highlight">
+ <tr class="#{(index%2)==0?'even':'odd'}">
+ <td>#{accident.number}</td>
+ <td>
+ <h:outputText value="#{accident.type}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText>
+ <h:outputText value=" (#{bundle['WorkAccident.thirdPartyCaused']})" rendered="#{accident.thirdPartyCaused}"/>
+ </td>
+ <td><h:outputText value="#{accident.date}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td class="small"><h:outputText value="#{accident.illness.kind}"><f:converter converterId="SelectConverter" /></h:outputText></td>
+ <td class="small"><h:outputText value="#{accident.illness.startDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td class="small"><h:outputText value="#{accident.illness.endDate}">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris" />
+ </h:outputText></td>
+ <td class="small">#{accident.illness.workingDays}</td>
+ <td class="small">#{accident.illness.calendarDays}</td>
+ <td class="small">[document here later...]</td>
+ <td valign="top">
+ <a4j:commandLink action="#{hrActions.editWorkAccident}"
+ immediate="true" reRender=":#{parentClientId}:a4jWorkAccident" limitToList="true" >
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset"/>
+ <f:param name="containerToReset" value="editWorkAccident" />
+ <f:param name="editId" value="#{index}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="9" align="right">
+ <a4j:commandLink id="addWorkAccident" immediate="true" rendered="#{hrSession.edits.workAccident == null}"
+ action="#{hrActions.addWorkAccident}" reRender="a4jWorkAccident" limitToList="true" >
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset" value="editWorkAccident" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <s:subForm id="editWorkAccident" rendered="#{hrSession.edits.workAccident != null}">
+ <fieldset>
+ <table border="0" width="100%">
+ <tr>
+ <td>#{bundle['WorkAccident.number']}</td>
+ <td>
+ <h:inputText id="number" value="#{hrSession.edits.workAccident.number}"></h:inputText>
+ <h:message for="number" showDetails="true" showSummary="false"/>
+ </td>
+
+ <td rowspan="9" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteWorkAccident}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:a4jWorkAccident" limitToList="true" >
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.type']}</td>
+ <td>
+ <!-- <h:selectOneMenu value="#{hrSession.edits.workAccident.type}" id="watype">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Accident type']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.workAccident.type}" />
+ <ui:param name="id" value="watype" />
+ <ui:param name="key" value="Accident type" />
+ </ui:include>
+ <h:message for="watype" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.lesions']}</td>
+ <td>
+ <a4j:outputPanel id="a4jlesions" layout="block">
+ <table class="list">
+ <thead>
+ <tr>
+ <th>#{bundle['WorkAccidentLesion.type']}</th>
+ <th>#{bundle['WorkAccidentLesion.location']}</th>
+ <th></th>
+ </tr>
+ </thead>
+ <t:dataList rowIndexVar="index2" var="lesion"
+ value="#{hrSession.edits.workAccident.lesionsArray}">
+ <tbody class="highlight">
+ <tr class="#{((index2+index)%2)==0?'odd':'even'}">
+ <td>
+ <h:outputText value="#{lesion.type}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText>
+ </td>
+ <td>
+ <h:outputText value="#{lesion.location}">
+ <f:converter converterId="SelectConverter" />
+ </h:outputText>
+ </td>
+ <td><a4j:commandLink
+ action="#{hrActions.editWorkAccidentLesion}" immediate="true"
+ reRender=":#{parentClientId}:editWorkAccident:a4jlesions" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset"
+ value="editWorkAccidentLesion" />
+ <f:param name="editId" value="#{index2}" />
+ <h:graphicImage url="/images/icon_edit.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ </t:dataList>
+ <tbody>
+ <tr>
+ <td colspan="2"></td>
+ <td><a4j:commandLink immediate="true"
+ rendered="#{hrSession.edits.workAccidentLesion == null}"
+ action="#{hrActions.addWorkAccidentLesion}"
+ reRender="a4jlesions" limitToList="true">
+ <f:actionListener type="be.rmi.intranet.listener.ContainerReset" />
+ <f:param name="containerToReset"
+ value="editWorkAccidentLesion" />
+ <h:graphicImage url="/images/icon_create.gif" style="border:none"/>
+ </a4j:commandLink></td>
+ </tr>
+ </tbody>
+ <s:subForm id="editWorkAccidentLesion"
+ rendered="#{hrSession.edits.workAccidentLesion != null}">
+ <tbody class="edit">
+ <tr>
+ <td>#{bundle['WorkAccidentLesion.type']}</td>
+ <td>
+ <!-- <h:selectOneMenu value="#{hrSession.edits.workAccidentLesion.type}" id="lesiontype">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Lesion type']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.workAccidentLesion.type}" />
+ <ui:param name="id" value="lesiontype" />
+ <ui:param name="key" value="Lesion type" />
+ </ui:include>
+ <h:message for="lesiontype" showDetail="true" showSummary="false"/>
+ </td>
+ <td rowspan="2" valign="top">
+ <a4j:commandLink action="#{hrActions.deleteWorkAccidentLesion}" immediate="true"
+ onclick="if (!confirm('#{bundle['Interface.confirmDelete']}')) return false"
+ reRender=":#{parentClientId}:editWorkAccident:a4jlesions" limitToList="true">
+ <h:graphicImage url="/images/icon_delete.gif" style="border:none"/>
+ </a4j:commandLink>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccidentLesion.location']}</td>
+ <td>
+ <!-- <h:selectOneMenu value="#{hrSession.edits.workAccidentLesion.location}" id="lesionloc">
+ <f:selectItems
+ value="#{hrRequest.selectEntries['Lesion localisation']}" />
+ </h:selectOneMenu>-->
+ <ui:include src="selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.edits.workAccidentLesion.location}" />
+ <ui:param name="id" value="lesionloc" />
+ <ui:param name="key" value="Lesion localisation" />
+ </ui:include>
+ <h:message for="lesionloc" showDetail="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <a4j:commandButton value="Done"
+ action="#{hrActions.clearWorkAccidentLesionEdit}"
+ actionFor="editWorkAccidentLesion"
+ reRender=":#{parentClientId}:editWorkAccident:a4jlesions" limitToList="true"/>
+ </td>
+ </tr>
+ </tbody>
+ </s:subForm>
+ </table>
+
+ </a4j:outputPanel>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.date']}</td>
+ <td><t:inputCalendar value="#{hrSession.edits.workAccident.date}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="wadate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="wadate" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.illness']}</td>
+ <td><h:selectOneMenu value="#{hrSession.edits.workAccident.illness}" id="waillness">
+ <f:selectItem itemLabel="" itemValue="[nothing]"/>
+ <f:selectItems
+ value="#{hrRequest.illnesses}" />
+ </h:selectOneMenu>
+ <a4j:commandLink action="dumb"
+ immediate="true" reRender="waillness" limitToList="true" >
+ [refresh]
+ </a4j:commandLink>
+ <h:message for="waillness" showDetails="true" showSummary="false"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.thirdPartyCaused']}</td>
+ <td>
+ <h:selectBooleanCheckbox value="#{hrSession.edits.workAccident.thirdPartyCaused}" id="thirdParty"></h:selectBooleanCheckbox>
+ <h:message for="thirdParty" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.thirdPartyLastname']}</td>
+ <td>
+ <h:inputText value="#{hrSession.edits.workAccident.thirdPartyLastname}" id="thirdPartyLastname"/>
+ <h:message for="thirdPartyLastname" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.thirdPartyFirstname']}</td>
+ <td>
+ <h:inputText value="#{hrSession.edits.workAccident.thirdPartyFirstname}" id="thirdPartyFirstname"/>
+ <h:message for="thirdPartyFirstname" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.thirdPartyAddress']}</td>
+ <td>
+ <ui:include src="address.xhtml">
+ <ui:param name="address" value="#{hrSession.edits.workAccident.thirdPartyAddress}" />
+ </ui:include>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.thirdPartyPolicy']}</td>
+ <td>
+ <h:inputText value="#{hrSession.edits.workAccident.thirdPartyPolicy}" id="thirdPartyPolicy"/>
+ <h:message for="thirdPartyPolicy" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['WorkAccident.thirdPartyInsurance']}</td>
+ <td>
+ <h:inputText value="#{hrSession.edits.workAccident.thirdPartyInsurance}" id="thirdPartyInsurance"/>
+ <h:message for="thirdPartyInsurance" showDetails="true" showSummary="false"/>
+ </td>
+ </tr>
+
+
+ </table>
+ <a4j:commandButton value="Done" action="#{hrActions.doneWorkAccident}"
+ actionFor="editWorkAccident" reRender=":#{parentClientId}:a4jWorkAccident" limitToList="true"/>
+ </fieldset>
+ </s:subForm>
+ </a4j:outputPanel>
+ </a4j:region>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/employee.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/employee.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/employee.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,858 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<ui:composition template="hr-layout.xhtml">
+ <ui:param name="title" value="Edit Employee" />
+ <ui:define name="leftBar">
+ <ui:include src="../hr-actions.xhtml" />
+ </ui:define>
+ <ui:define name="content">
+ <f:loadBundle basename="resources.hr" var="bundle" />
+ <h1>Add/Edit Employee datas</h1>
+ <br />
+ <!-- <a href="javascript:showListEditor('http://localhost:8080/intranet/faces/hr/edit/lists/gradesEditor.xhtml',function(){alert('Hello');})">[?]</a><br/> -->
+ <h:form acceptcharset="UTF-8" id="employeeForm"
+ rendered="#{hrSession.employee != null}"
+ enctype="multipart/form-data">
+ <!-- <ui:include src="lists/listEditor.xhtml">
+ <ui:param name="wrapper" value="#{hrSession.employeeWrapper}" />
+ <ui:param name="parentClientId" value="employeeForm"/>
+ </ui:include> -->
+ <a4j:poll action="ajaxRefresh" id="refresh" reRender="refresh"
+ limitToList="true" interval="60000">
+ </a4j:poll>
+ <s:subForm id="mainSubForm">
+ <table>
+ <tr>
+ <td>#{bundle['Employee.firstname']}</td>
+ <td><h:inputText id="firstname"
+ value="#{hrSession.employee.firstname}" size="50" /><h:message
+ for="firstname" showDetails="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.lastname']}</td>
+ <td><h:inputText id="lastname"
+ value="#{hrSession.employee.lastname}" size="50" /><h:message
+ for="lastname" showDetails="true" showSummary="false" /></td>
+ </tr>
+ </table>
+ <t:panelTabbedPane width="100%" serverSideTabSwitch="false"
+ id="tabbedPane">
+ <t:panelTab label="#{bundle['main']}" processValidators="true"
+ id="main">
+ <table border="0" width="100%">
+ <tr>
+ <td>#{bundle['Employee.language']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.employee.language}" id="language">
+ <f:selectItems value="#{hrRequest.selectEntries['Language']}"/>
+ </h:selectOneMenu> --> <ui:include src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.employee.language}" />
+ <ui:param name="id" value="language" />
+ <ui:param name="key" value="Language" />
+ </ui:include> <h:message for="language" showDetail="true" showSummary="false" />
+ </td>
+ <td>#{bundle['Employee.gender']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.employee.gender}" id="gender">
+ <f:selectItems value="#{hrRequest.selectEntries['Gender']}"/>
+ </h:selectOneMenu> --> <ui:include src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.employee.gender}" />
+ <ui:param name="id" value="gender" />
+ <ui:param name="key" value="Gender" />
+ </ui:include> <h:message for="gender" showDetail="true" showSummary="false" />
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.formulation']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.employee.formulation}" id="formulation">
+ <f:selectItems value="#{hrRequest.selectEntries['Formulation']}" />
+ </h:selectOneMenu> --> <ui:include src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.formulation}" />
+ <ui:param name="id" value="formulation" />
+ <ui:param name="key" value="Formulation" />
+ </ui:include> <h:message for="formulation" showDetail="true"
+ showSummary="false" /></td>
+ <td>#{bundle['Employee.title']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.employee.title}" id="title">
+ <f:selectItems value="#{hrRequest.selectEntries['Title']}" />
+ </h:selectOneMenu> --> <ui:include src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.employee.title}" />
+ <ui:param name="id" value="title" />
+ <ui:param name="key" value="Title" />
+ </ui:include> <h:message for="title" showDetail="true" showSummary="false" />
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.section']}</td>
+ <td colspan="3"><h:selectOneMenu
+ value="#{hrSession.employee.section}" id="section">
+ <f:selectItems value="#{hrRequest.sections}" />
+ </h:selectOneMenu> <h:message for="section" showDetail="true" showSummary="false" />
+ </td>
+ </tr>
+ </table>
+ <rich:panel><f:facet name="header">#{bundle['Employee.officeAddress']}</f:facet>
+ <table border="0" width="100%">
+ <tr>
+ <td rowspan="4" style="text-align:center">#{bundle['Employee.picture']}<br />
+ <s:subForm id="pictureForm">
+ <ui:include src="elements/pictureUpload.xhtml">
+ <ui:param name="wrapper" value="#{hrSession.employeeWrapper}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:main:pictureForm" />
+ </ui:include>
+ </s:subForm></td>
+ <td valign="top" colspan="3"><ui:include
+ src="elements/address.xhtml">
+ <ui:param name="address"
+ value="#{hrSession.employee.officeAddress}" />
+ </ui:include></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.email']}</td>
+ <td><h:inputText value="#{hrSession.employee.email}"
+ id="email" required="true" /> <h:message for="email"
+ showDetail="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.login']}</td>
+ <td><h:inputText id="login"
+ value="#{hrSession.employee.login}" style="text-align:right" />@oma.be
+ <h:message for="login" showDetail="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.locationUnit']}</td>
+ <td><!-- <h:selectOneMenu value="#{hrSession.employee.locationUnit}" id="locationUnit">
+ <f:selectItems value="#{hrRequest.selectEntries['Location unit']}"/>
+ </h:selectOneMenu> --> <ui:include src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.locationUnit}" />
+ <ui:param name="id" value="locationUnit" />
+ <ui:param name="key" value="Location unit" />
+ </ui:include> <h:message for="locationUnit" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ </table>
+ </rich:panel>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['private']}" processValidators="true"
+ id="private">
+ <table width="100%" border="0">
+ <tr>
+ <td>#{bundle['Employee.birthDate']}</td>
+ <td><t:inputCalendar id="birthdate"
+ value="#{hrSession.employee.birthDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar>
+ <h:message for="birthdate"
+ showDetail="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.age']}</td>
+ <td><h:outputText value="#{hrSession.employee.age}"
+ id="age" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.birthPlace']}</td>
+ <td><h:inputText id="birthplace"
+ value="#{hrSession.employee.birthPlace}" /> <h:message
+ for="birthplace" showDetails="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.nationality']}</td>
+ <td><h:selectOneMenu
+ value="#{hrSession.employee.nationality}" id="nationality">
+ <f:selectItems value="#{hrRequest.countries}" />
+ </h:selectOneMenu> <h:message for="nationality" showDetails="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.nationalRegisterNumber']}</td>
+ <td><h:inputText
+ value="#{hrSession.employee.nationalRegisterNumber}" id="nrn" />
+ <h:message for="nrn" showDetail="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.idCardNumber']}</td>
+ <td><h:inputText value="#{hrSession.employee.idCardNumber}"
+ id="idCard" /> <h:message for="idCard" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <rich:panel><f:facet name="header">#{bundle['Employee.home']}</f:facet>
+ <ui:include src="elements/address.xhtml">
+ <ui:param name="address" value="#{hrSession.employee.home}" />
+ </ui:include> #{bundle['Employee.lastHomeMove']} <t:inputCalendar
+ value="#{hrSession.employee.lastHomeMove}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="lastHomeMove">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar> <h:message for="lastHomeMove" showDetails="true"
+ showSummary="false" /></rich:panel>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.bankAccountNumber']}</td>
+ <td colspan="3"><h:inputText
+ value="#{hrSession.employee.bankAccountNumber}"
+ id="bankAccount" /> <h:message for="bankAccount"
+ showDetail="true" showSummary="false" /></td>
+ </tr>
+ </table>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['administrative']}"
+ processValidators="true" id="administrative">
+ <rich:panel><f:facet name="header">Status</f:facet>
+ <table border="0">
+ <tr>
+ <td colspan="2"><!-- <h:selectOneMenu value="#{hrSession.employee.status1}" id="status1">
+ <f:selectItems value="#{hrRequest.selectEntries['Emp status 1']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.employee.status1}" />
+ <ui:param name="id" value="status1" />
+ <ui:param name="key" value="Emp status 1" />
+ </ui:include> <h:message for="status1" showDetail="true" showSummary="false" />
+ </td>
+ <td colspan="2"><!-- <h:selectOneMenu value="#{hrSession.employee.status2}" id="status2">
+ <f:selectItems value="#{hrRequest.selectEntries['Emp status 2']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.employee.status2}" />
+ <ui:param name="id" value="status2" />
+ <ui:param name="key" value="Emp status 2" />
+ </ui:include> <h:message for="status2" showDetail="true" showSummary="false" />
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['PData.status']}</td>
+ <td colspan="3"><!-- <h:selectOneMenu id="pdataStatus" value="#{hrSession.employee.PData.status}">
+ <f:selectItem itemValue="[nothing]" itemLabel=""/>
+ <f:selectItems value="#{hrRequest.selectEntries['Status']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.PData.status}" />
+ <ui:param name="id" value="pdataStatus" />
+ <ui:param name="key" value="Status" />
+ </ui:include> <h:message for="pdataStatus" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.administrativeState']}</td>
+ <td><!-- <h:selectOneMenu id="administrativeState" value="#{hrSession.employee.administrativeState}">
+ <f:selectItems value="#{hrRequest.selectEntries['Administrative state']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.administrativeState}" />
+ <ui:param name="id" value="administrativeState" />
+ <ui:param name="key" value="Administrative state" />
+ </ui:include> <h:message for="administrativeState" showDetail="true"
+ showSummary="false" /></td>
+ <td colspan="2"><h:selectBooleanCheckbox
+ value="#{hrSession.employee.scientific}" id="scientific" />
+ #{bundle['Employee.scientific']} <h:message for="scientific"
+ showDetail="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.projects']}:</td>
+ <td colspan="3">#{bundle['hint.pickList']} <s:selectManyPicklist
+ id="projects" value="#{hrSession.employee.projectsArray}">
+ <f:selectItems value="#{hrRequest.projectItems}" />
+ </s:selectManyPicklist> <h:messages for="projects" /></td>
+ </tr>
+
+ </table>
+ </rich:panel>
+ <rich:panel><f:facet name="header">#{bundle['Employee.functionGroups']}</f:facet>
+ <h:dataTable value="#{functionGroup.functionGroups}" var="fg">
+ <h:column>
+ <h:outputText value="#{fg}">
+ <f:converter converterId="NamedIdConverter" />
+ </h:outputText>
+ </h:column>
+ <h:column>
+ <h:selectOneMenu
+ value="#{hrSession.employee.functionGroups[fg]}">
+ <f:converter converterId="abstractId" />
+ <f:selectItem itemLabel="" itemValue="[nothing]"/>
+ <f:selectItems value="#{functionGroup.functionItems}" />
+ </h:selectOneMenu>
+ </h:column>
+ </h:dataTable></rich:panel>
+ <rich:panel><f:facet name="header">Rank</f:facet>
+ <table border="0">
+ <tr>
+ <td>#{bundle['Employee.workingPercent']}</td>
+ <td><h:inputText
+ value="#{hrSession.employee.workingPercent}"
+ id="workingPercent">
+ <f:validateLongRange minimum="0" maximum="100" />
+ </h:inputText> <h:message for="workingPercent" showDetail="true"
+ showSummary="false" /></td>
+ <td>#{bundle['Employee.salaryScale']}</td>
+ <td><h:inputText value="#{hrSession.employee.salaryScale}"
+ id="salaryScale" /> <h:message for="salaryScale"
+ showDetail="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.expertSalaryScale']}</td>
+ <td colspan="3"><!-- <h:selectOneMenu id="expertSalaryScale" value="#{hrSession.employee.expertSalaryScale}">
+ <f:selectItems value="#{hrRequest.selectEntries['Expert salary scale']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.expertSalaryScale}" />
+ <ui:param name="id" value="expertSalaryScale" />
+ <ui:param name="key" value="Expert salary scale" />
+ </ui:include> <h:message for="expertSalaryScale" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ </table>
+ </rich:panel>
+ <table border="0">
+ <tr>
+ <td>#{bundle['Employee.bilingualPremium']}</td>
+ <td colspan="3"><!-- <h:selectOneMenu id="bilingualPremium" value="#{hrSession.employee.bilingualPremium}">
+ <f:selectItems value="#{hrRequest.selectEntries['Bilingual premium']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.bilingualPremium}" />
+ <ui:param name="id" value="bilingualPremium" />
+ <ui:param name="key" value="Bilingual premium" />
+ </ui:include> <h:message for="bilingualPremium" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.bilingualScale']}</td>
+ <td><h:inputText size="10" id="bilingualScale"
+ value="#{hrSession.employee.bilingualScale}" /><h:message
+ for="bilingualScale" showDetails="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.missionDuration']}</td>
+ <td><!-- <h:selectOneMenu id="missionDuration" value="#{hrSession.employee.missionDuration}">
+ <f:selectItems value="#{hrRequest.selectEntries['Mission duration']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.missionDuration}" />
+ <ui:param name="id" value="missionDuration" />
+ <ui:param name="key" value="Mission duration" />
+ </ui:include> <h:message for="missionDuration" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.officeLocation']}</td>
+ <td><h:inputText id="officeLocation"
+ value="#{hrSession.employee.officeLocation}" /><h:message
+ for="officeLocation" showDetails="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.officeKeyNumber']}</td>
+ <td><h:inputText id="officeKey"
+ value="#{hrSession.employee.officeKeyNumber}" /><h:message
+ for="officeKey" showDetails="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.trap']}</td>
+ <td><!-- <h:selectOneMenu id="trap" value="#{hrSession.employee.trap}">
+ <f:selectItems value="#{hrRequest.selectEntries['Trap']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.employee.trap}" />
+ <ui:param name="id" value="trap" />
+ <ui:param name="key" value="Trap" />
+ </ui:include> <h:message for="trap" showDetail="true" showSummary="false" />
+ </td>
+ <td></td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.badgeNumber']}</td>
+ <td><h:inputText id="badgeNumber"
+ value="#{hrSession.employee.badgeNumber}" /><h:message
+ for="badgeNumber" showDetails="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.timeclockCode']}</td>
+ <td><h:inputText id="badgeNumber"
+ value="#{hrSession.employee.timeclockCode}" /><h:message
+ for="badgeNumber" showDetails="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.adminNumber']}</td>
+ <td><h:inputText id="adminNumber"
+ value="#{hrSession.employee.adminNumber}" /><h:message
+ for="adminNumber" showDetails="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.frame']}</td>
+ <td><!-- <h:selectOneMenu id="adminNumber" value="#{hrSession.employee.frame}">
+ <f:selectItems value="#{hrRequest.selectEntries['Frame']}"/>
+ </h:selectOneMenu> --> <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.employee.frame}" />
+ <ui:param name="id" value="frame" />
+ <ui:param name="key" value="Frame" />
+ </ui:include> <h:message for="frame" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.IBGBadgeNumber']}</td>
+ <td><h:inputText id="ibg"
+ value="#{hrSession.employee.IBGBadgeNumber}" /><h:message
+ for="ibg" showDetails="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.dimonia']}</td>
+ <td><h:inputText id="dimonia"
+ value="#{hrSession.employee.dimonia}" /><h:message for="ibg"
+ showDetails="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.phoneActivityCode']}</td>
+ <td><h:inputText id="phoneActivity"
+ value="#{hrSession.employee.phoneActivityCode}" /><h:message
+ for="phoneActivity" showDetails="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.replacement']}</td>
+ <td><ui:include src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrSession.employee.replacement}" />
+ <ui:param name="id" value="replacement" />
+ <ui:param name="key" value="Replacement status" />
+ </ui:include> <h:message for="replacement" showDetail="true" showSummary="false" /></td>
+ </tr>
+ <!--
+ <tr>
+ <td>#{bundle['Employee.lifeClass']}</td>
+ <td>
+ <h:selectOneMenu value="#{hrSession.employee.lifeClass}" id="lifeClass">
+ <f:selectItems value="#{hrRequest.lifeClasses}"/>
+ <f:converter converterId="NullableLong" />
+ </h:selectOneMenu>
+ <h:message for="lifeClass" showDetails="true" showSummary="false"/></td>
+ <td>#{bundle['Employee.lifeClassDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.employee.lifeClassDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="lifeclassDate">
+ <f:convertDateTime pattern="dd MMMM yyyy" timeZone="Europe/Paris"/>
+ </t:inputCalendar><h:message for="lifeclassDate" showDetails="true" showSummary="false"/></td>
+ </tr>-->
+ <tr>
+ <td>#{bundle['Employee.lifeClassDate18']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.employee.lifeClassDate18}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy"
+ id="lifeclassDate18">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="lifeclassDate18" showDetails="true"
+ showSummary="false" /></td>
+ <td>#{bundle['Employee.lifeClassDate23']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.employee.lifeClassDate23}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy"
+ id="lifeclassDate23">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="lifeclassDate23" showDetails="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.lifeClassDate20']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.employee.lifeClassDate20}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy"
+ id="lifeclassDate20">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="lifeclassDate20" showDetails="true"
+ showSummary="false" /></td>
+ <td>#{bundle['Employee.lifeClassDate24']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.employee.lifeClassDate24}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy"
+ id="lifeclassDate24">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="lifeclassDate24" showDetails="true"
+ showSummary="false" /></td>
+ </tr>
+
+ <tr>
+ <td>#{bundle['Employee.lifeClassDate21']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.employee.lifeClassDate21}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy"
+ id="lifeclassDate21">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar><h:message for="lifeclassDate21" showDetails="true"
+ showSummary="false" /></td>
+ <td colspan="2"></td>
+ </tr>
+ <tr>
+ <td colspan="4"><ui:include src="elements/diplomas.xhtml">
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:administrative" />
+ </ui:include></td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <rich:panel><f:facet name="header">#{bundle['Employee.PData']}</f:facet>
+ <table width="100%">
+ <tr>
+ <td>#{bundle['PData.selorCode']}</td>
+ <td colspan="3">
+ <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.PData.selorCode}" />
+ <ui:param name="id" value="selorCode" />
+ <ui:param name="key" value="Selor code" />
+ </ui:include> <h:message for="selorCode" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['PData.handicap']}</td>
+ <td colspan="3">
+ <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.PData.handicap}" />
+ <ui:param name="id" value="handicap" />
+ <ui:param name="key" value="Handicap" />
+ </ui:include> <h:message for="handicap" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['PData.agdet']}</td>
+ <td colspan="3">
+ <ui:include
+ src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.PData.agdet}" />
+ <ui:param name="id" value="agdet" />
+ <ui:param name="key" value="Agdet" />
+ </ui:include> <h:message for="agdet" showDetail="true" showSummary="false" />
+ </td>
+ </tr>
+ <tr>
+ <td><h:selectBooleanCheckbox value="#{hrSession.employee.PData.managerGrant}" id="managerGrant"/>#{bundle['PData.managerGrant']}?</td>
+ <td><h:selectBooleanCheckbox value="#{hrSession.employee.PData.superiorGrant}" id="superiorGrant"/>#{bundle['PData.superiorGrant']}?</td>
+ <td><h:selectBooleanCheckbox value="#{hrSession.employee.PData.integrationGrant}" id="integrationGrant"/>#{bundle['PData.integrationGrant']}?</td>
+ <td><h:selectBooleanCheckbox value="#{hrSession.employee.PData.projectGrant}" id="projectGrant"/>#{bundle['PData.projectGrant']}?</td>
+ </tr>
+ </table>
+ </rich:panel>
+ </td>
+ </tr>
+ <tr>
+ <td valign="top">#{bundle['Employee.note']}</td>
+ <td colspan="3"><h:inputTextarea id="note"
+ value="#{hrSession.employee.note}" rows="7" cols="80" /><h:message
+ for="note" showDetails="true" showSummary="false" /></td>
+ </tr>
+ </table>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['family']}" processValidators="true"
+ id="family">
+ #{bundle['Employee.maritalStatus']}
+ <!-- <h:selectOneMenu id="maritalStatus" value="#{hrSession.employee.maritalStatus}">
+ <f:selectItems value="#{hrRequest.selectEntries['Marital status']}"/>
+ </h:selectOneMenu> -->
+ <ui:include src="elements/selectEntry.xhtml">
+ <ui:param name="value"
+ value="#{hrSession.employee.maritalStatus}" />
+ <ui:param name="id" value="maritalStatus" />
+ <ui:param name="key" value="Marital status" />
+ </ui:include>
+ <h:message for="maritalStatus" showDetail="true"
+ showSummary="false" />
+ <br />
+ <rich:panel><f:facet name="header">#{bundle['Employee.nextOfKin']}</f:facet>
+ <ui:include src="elements/nok.xhtml">
+ <ui:param name="nok" value="#{hrSession.employee.nextOfKin}" />
+ </ui:include></rich:panel>
+ <!-- derived Hoeveel kinderen? <h:inputText value="" size="2" disabled="true"/><br/> -->
+ <ui:include src="elements/childs.xhtml">
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:family" />
+ </ui:include>
+ <!-- <t:inputHtml addKupuLogo="false" value="" allowEditSource="false" allowExternalLinks="false"></t:inputHtml> -->
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.transportation']}"
+ processValidators="true" id="transportation">
+ <h:selectBooleanCheckbox id="driveAuthorization"
+ value="#{hrSession.employee.driveAuthorization}" />
+ #{bundle['Employee.driveAuthorization']}
+ <h:message for="driveAuthorization" showDetail="true"
+ showSummary="false" />
+ <ui:include src="elements/transportation.xhtml">
+ <ui:param name="transport"
+ value="#{hrSession.employee.transportation}" />
+ </ui:include>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['leaves']}" processValidators="true"
+ id="leaves">
+ <t:panelTabbedPane id="panel" serverSideTabSwitch="false"
+ style="width:100%">
+ <t:panelTab label="#{bundle['Employee.leaves']}"
+ processValidators="true" id="leaves">
+ <ui:include src="elements/leaves.xhtml">
+ <ui:param name="leaves"
+ value="#{hrSession.employee.leavesArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:leaves:leaves" />
+ </ui:include>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.illnesses']}"
+ processValidators="true" id="illnesses">
+ <table>
+ <tr>
+ <td>#{bundle['Employee.medicalNumber']}</td>
+ <td><h:inputText
+ value="#{hrSession.employee.medicalNumber}" /></td>
+ <td>#{bundle['Employee.medicalCenter']}</td>
+ <td>
+ <ui:include src="elements/selectMedicalCenter.xhtml">
+ <ui:param name="id" value="medicalCenter"/>
+ <ui:param name="value" value="#{hrSession.employee.medicalCenter}"/>
+ </ui:include>
+ <h:message for="medicalCenter" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.sickDayInBank']}</td>
+ <td><h:inputText
+ value="#{hrSession.employee.sickDayInBank}"
+ id="sickDayInBank" /> <h:message for="sickDayInBank"
+ showDetail="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.sickDayForAge']}</td>
+ <td><h:inputText id="sickDayForAge"
+ value="#{hrSession.employee.sickDayForAge}" /> <h:message
+ for="sickDayForAge" showDetail="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.sickDayYearSpent']}</td>
+ <td><h:inputText id="sickDayYearSpent"
+ value="#{hrSession.employee.sickDayYearSpent}" /> <h:message
+ for="sickDayYearSpent" showDetail="true" showSummary="false" />
+ </td>
+ <td>#{bundle['Employee.sickDayYearLeft']}</td>
+ <td><h:inputText id="sickDayYearLeft"
+ value="#{hrSession.employee.sickDayYearLeft}" /> <h:message
+ for="sickDayYearLeft" showDetail="true" showSummary="false" />
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.illnessContact1']}</td>
+ <td>
+ <ui:include src="elements/selectSecretariat.xhtml">
+ <ui:param name="id" value="illness1"/>
+ <ui:param name="value" value="#{hrSession.employee.illnessContact1}"/>
+ </ui:include><h:message for="illness1" showDetail="true"
+ showSummary="false" /></td>
+ <td>#{bundle['Employee.illnessContact2']}</td>
+ <td>
+ <ui:include src="elements/selectSecretariat.xhtml">
+ <ui:param name="id" value="illness2"/>
+ <ui:param name="value" value="#{hrSession.employee.illnessContact2}"/>
+ </ui:include>
+ <h:message for="illness2" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ </table>
+ <rich:panel><f:facet name="header">#{bundle['Employee.illnesses']}</f:facet>
+ <ui:include src="elements/illnesses.xhtml">
+ <ui:param name="illnesses"
+ value="#{hrSession.employee.illnessesArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:leaves:illnesses" />
+ </ui:include></rich:panel>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.workAccidents']}"
+ processValidators="true" id="workAccidents">
+ <ui:include src="elements/workAccidents.xhtml">
+ <ui:param name="accidents"
+ value="#{hrSession.employee.workAccidentsArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:leaves:workAccidents" />
+ </ui:include>
+ </t:panelTab>
+ </t:panelTabbedPane>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.contracts']}"
+ processValidators="true" id="contracts">
+ <ui:include src="elements/contracts.xhtml">
+ <ui:param name="contracts"
+ value="#{hrSession.employee.contractsArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:contracts" />
+ </ui:include>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.cumuls']}"
+ processValidators="true" id="cumuls">
+ <ui:include src="elements/cumuls.xhtml">
+ <ui:param name="cumuls" value="#{hrSession.employee.cumulsArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:cumuls" />
+ </ui:include>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['career']}" processValidators="true"
+ id="career">
+ <table width="100%">
+ <tr>
+ <td>#{bundle['Employee.firstJobDate']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.employee.firstJobDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="firstJobDate">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar> <h:message for="firstJobDate" showDetail="true"
+ showSummary="false" /></td>
+ <td>#{bundle['Employee.workedOnPatrimonium']}</td>
+ <td><h:selectBooleanCheckbox id="patrimonium"
+ value="#{hrSession.employee.workedOnPatrimonium}" /> <h:message
+ for="patrimonium" showDetail="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.inDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.employee.inDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy"
+ id="inDate">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar> <h:message for="inDate" showDetail="true" showSummary="false" />
+ </td>
+ <td>#{bundle['Employee.outDate']}</td>
+ <td><t:inputCalendar value="#{hrSession.employee.outDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy"
+ id="outDate">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar> <h:message for="outDate" showDetail="true" showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.salaryInDate']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.employee.salaryInDate}" popupTodayString=""
+ renderAsPopup="true" renderPopupButtonAsImage="true"
+ popupDateFormat="dd MMMM yyyy" id="salaryInDate">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar> <h:message for="salaryInDate" showDetail="true"
+ showSummary="false" /></td>
+ <td>#{bundle['Employee.nominationDate']}</td>
+ <td><t:inputCalendar
+ value="#{hrSession.employee.nominationDate}"
+ popupTodayString="" renderAsPopup="true"
+ renderPopupButtonAsImage="true" popupDateFormat="dd MMMM yyyy"
+ id="nominationDate">
+ <f:convertDateTime pattern="dd MMMM yyyy"
+ timeZone="Europe/Paris" />
+ </t:inputCalendar> <h:message for="nominationDate" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['Employee.rankBeforeReform']}</td>
+ <td><h:inputText
+ value="#{hrSession.employee.rankBeforeReform}" id="oldRank" />
+ <h:message for="oldRank" showDetail="true" showSummary="false" /></td>
+ <td>#{bundle['Employee.newRank']}</td>
+ <td><h:inputText value="#{hrSession.employee.newRank}"
+ id="newRank" /> <h:message for="newRank" showDetail="true"
+ showSummary="false" /></td>
+ </tr>
+ </table>
+ <t:panelTabbedPane id="ranks" serverSideTabSwitch="false"
+ style="width:100%">
+
+ <t:panelTab label="#{bundle['Employee.careerRanks']}"
+ processValidators="true" id="rank">
+ <ui:include src="elements/careerRanks.xhtml">
+ <ui:param name="ranks"
+ value="#{hrSession.employee.careerRanksArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:career:rank" />
+ </ui:include>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.salaryRanks']}"
+ processValidators="true" id="salary">
+ <ui:include src="elements/salaryRanks.xhtml">
+ <ui:param name="ranks"
+ value="#{hrSession.employee.salaryRanksArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:career:salary" />
+ </ui:include>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.developmentCircles']}"
+ processValidators="true" id="circles">
+ <ui:include src="elements/developmentCircles.xhtml">
+ <ui:param name="developmentCircles"
+ value="#{hrSession.employee.developmentCirclesArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:career:circles" />
+ </ui:include>
+ </t:panelTab>
+
+ <t:panelTab label="#{bundle['Employee.decorations']}"
+ processValidators="true" id="decoration">
+ <ui:include src="elements/decorations.xhtml">
+ <ui:param name="decorations"
+ value="#{hrSession.employee.decorationsArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:career:decoration" />
+ </ui:include>
+ </t:panelTab>
+ </t:panelTabbedPane>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['knowledge']}" id="know">
+ <t:panelTabbedPane width="100%" serverSideTabSwitch="false">
+ <t:panelTab label="#{bundle['Employee.competenceMeasures']}"
+ processValidators="true" id="compMeasure">
+ <ui:include src="elements/competenceMeasures.xhtml">
+ <ui:param name="competenceMeasures"
+ value="#{hrSession.employee.competenceMeasuresArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:know:compMeasure" />
+ </ui:include>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.promotionExams']}"
+ processValidators="true" id="prom">
+ <ui:include src="elements/promotionExams.xhtml">
+ <ui:param name="promotionExams"
+ value="#{hrSession.employee.promotionExamsArray}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:know:prom" />
+ </ui:include>
+ </t:panelTab>
+ <t:panelTab label="#{bundle['Employee.formations']}"
+ processValidators="true" id="formation">
+ <ui:include src="elements/formations.xhtml">
+ <ui:param name="formations"
+ value="#{hrSession.employee.formations}" />
+ <ui:param name="parentClientId"
+ value="employeeForm:mainSubForm:know:formation" />
+ </ui:include>
+ </t:panelTab>
+ </t:panelTabbedPane>
+ </t:panelTab>
+ </t:panelTabbedPane>
+ <rich:toolBar itemSeparator="disc">
+ <h:commandLink action="#{hrActions.saveEmployee}" value="#{bundle['actions.save']}"/>
+ <h:commandLink action="#{hrActions.storeEmployee}" value="#{bundle['actions.saveAndContinue']}"/>
+ <h:commandLink action="validate" value="#{bundle['actions.validate']}"/>
+ <h:commandLink action="#{hrActions.resetEmployee}" immediate="true" value="#{bundle['actions.cancel']}"/>
+ </rich:toolBar>
+ </s:subForm>
+ <h:messages showSummary="false" showDetail="true" />
+ </h:form>
+ <a4j:log level="WARN" popup="false" width="400" height="200" />
+ </ui:define>
+</ui:composition>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/error.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/error.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/error.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,18 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ template="layout/template.xhtml">
+
+<ui:define name="body">
+
+ <h1>Error</h1>
+ <p>Something bad happened :-(</p>
+
+ <h:messages styleClass="message"/>
+
+</ui:define>
+</ui:composition>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/home.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/home.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/home.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,34 @@
+<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:rich="http://richfaces.org/rich"
+ template="layout/template.xhtml">
+
+<ui:define name="body">
+
+ <h:messages globalOnly="true" styleClass="message"/>
+
+ <rich:panel>
+ <f:facet name="header">Welcome!</f:facet>
+ <p>This empty shell application includes:</p>
+ <ul>
+ <li>Ant build script</li>
+ <li>Deployment to JBoss AS (EAR or WAR)</li>
+ <li>Development and production profiles</li>
+ <li>Integration testing using TestNG and Embedded JBoss</li>
+ <li>JavaBean or EJB 3.0 Seam components</li>
+ <li>JPA entity classes</li>
+ <li>A configurable DataSource and JPA EntityManager</li>
+ <li>Templated Facelets views</li>
+ <li>RichFaces panels and tables</li>
+ <li>Default CSS stylesheet</li>
+ <li>Internationalization support</li>
+ </ul>
+ </rich:panel>
+
+</ui:define>
+</ui:composition>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/hr-actions.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/hr-actions.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/hr-actions.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,13 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html">
+<ui:composition>
+<f:loadBundle basename="resources.hr" var="menuI18N" />
+<h:form>
+<h:selectOneMenu immediate="true" value="#{hrSession.employee}">
+<f:selectItems value="#{hrRequest.employees}"/>
+</h:selectOneMenu>
+<h:commandButton action="editEmployee" value="selectEmployee"/>
+</h:form>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/hr-layout.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/hr-layout.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/hr-layout.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,26 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<link rel="stylesheet" type="text/css" href="#{facesContext.externalContext.requestContextPath}/css/workflow.css"/>
+<link rel="stylesheet" type="text/css" href="#{facesContext.externalContext.requestContextPath}/css/RMI_intranet.css"/>
+<script src="#{facesContext.externalContext.requestContextPath}/js/scriptaculous/prototype.js" type="text/javascript"/>
+<script src="#{facesContext.externalContext.requestContextPath}/js/scriptaculous/scriptcaulous.js" type="text/javascript"/>
+<script src="#{facesContext.externalContext.requestContextPath}/js/scriptaculous/effects.js" type="text/javascript"/>
+<title>#{title}</title>
+</head>
+<body style="width:100%;margin:0pt;">
+ <f:view locale="#{strutsSession.locale}">
+ <div style="width:100%; height:50px;text-align:center;background-repeat:no-repeat;background-image:url(#{facesContext.externalContext.requestContextPath}/images/logo-irm-kmi-intranet.jpg);"><!-- Header goes here--></div>
+ <!-- <div style="width:90%;margin:0pt;padding:0pt;margin-left:auto;margin-right:auto"> -->
+ <div style="width:100%;background-color:white;overflow:auto"><ui:insert name="content"/></div>
+ <!-- </div> -->
+ </f:view>
+</body>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/cal-next.png
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/cal-next.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/cal-prev.png
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/cal-prev.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/dtpick.gif
===================================================================
(Binary files differ)
Property changes on: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/img/dtpick.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/index.html
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/index.html (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/index.html 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,5 @@
+<html>
+<head>
+ <meta http-equiv="Refresh" content="0; URL=home.seam">
+</head>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/display.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/display.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/display.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,16 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+
+ <div class="prop">
+ <span class="name">
+ <ui:insert name="label"/>
+ </span>
+ <span class="value">
+ <ui:insert/>
+ </span>
+ </div>
+
+</ui:composition>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/edit.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/edit.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/edit.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,24 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+
+ <div class="prop">
+
+ <s:label styleClass="name #{invalid?'errors':''}">
+ <ui:insert name="label"/>
+ <s:span styleClass="required" rendered="#{required}">*</s:span>
+ </s:label>
+
+ <span class="value #{invalid?'errors':''}">
+ <s:validateAll>
+ <ui:insert/>
+ </s:validateAll>
+ </span>
+
+ <s:message styleClass="error errors"/>
+
+ </div>
+
+</ui:composition>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/loginout.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/loginout.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/loginout.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,12 @@
+<div class="loginout"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+ <h:outputText value="Welcome, #{identity.username}" rendered="#{identity.loggedIn}"/>
+  | 
+ <s:link view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}"/>
+ <s:link view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}"/>
+ |
+</div>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/menu.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/menu.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/menu.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,18 @@
+<rich:toolBar
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib"
+ xmlns:rich="http://richfaces.org/rich">
+ <rich:toolBarGroup>
+ <h:outputText value="#{projectName}:"/>
+ <s:link view="/home.xhtml" value="Home"/>
+ </rich:toolBarGroup>
+ <!-- @newMenuItem@ -->
+ <rich:toolBarGroup location="right">
+ <h:outputText value="Welcome, #{identity.username}!" rendered="#{identity.loggedIn}"/>
+ <s:link view="/login.xhtml" value="Login" rendered="#{not identity.loggedIn}"/>
+ <s:link view="/home.xhtml" action="#{identity.logout}" value="Logout" rendered="#{identity.loggedIn}"/>
+ </rich:toolBarGroup>
+</rich:toolBar>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/template.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/template.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/layout/template.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,30 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:s="http://jboss.com/products/seam/taglib">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+ <title>seamTest</title>
+ <link href="stylesheet/theme.css" rel="stylesheet" type="text/css" />
+</head>
+
+<body>
+
+ <ui:include src="menu.xhtml">
+ <ui:param name="projectName" value="seamTest"/>
+ </ui:include>
+
+ <div class="body">
+ <ui:insert name="body"/>
+ </div>
+
+ <div class="footer">
+ Powered by <a href="http://jboss.com/products/seam">Seam</a>.
+ Generated by seam-gen.
+ </div>
+
+</body>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/done.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/done.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/done.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,13 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<head>
+<title>Editor</title>
+</head>
+<body style="text-align:center">
+Done
+</body>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/functionClassesEditor.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/functionClassesEditor.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/functionClassesEditor.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,174 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<head>
+<title>Editor</title>
+</head>
+<body style="font-size:smaller;">
+<f:view locale="#{strutsSession.locale}">
+ <f:loadBundle basename="resources.hr" var="bundle" />
+ <h:form id="addFunctionClass" acceptcharset="UTF-8" >
+ <table style="text-align:left;margin-left:10pt;margin-right:auto">
+ <tr>
+ <td colspan="2">#{bundle['functionClassesEditor.add.title']}</td>
+ </tr>
+ <tr>
+ <td>#{bundle['functionClassesEditor.code']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{functionClassesEditor.newFunctionClass.code}"
+ size="8" required="true"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['functionClassesEditor.nameFr']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{functionClassesEditor.newFunctionClass.nameFr}"
+ size="60" required="true" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['functionClassesEditor.nameNl']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{functionClassesEditor.newFunctionClass.nameNl}"
+ size="60" required="true"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['functionClassesEditor.class']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{functionClassesEditor.newFunctionClass.functionClass}"
+ size="8" required="true" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['functionClassesEditor.careerPath']}</td>
+ <td>
+ <ui:include src="../elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{functionClassesEditor.newFunctionClass.careerPath}" />
+ <ui:param name="id" value="careerPath" />
+ <ui:param name="key" value="Career path" />
+ </ui:include><h:message for="careerPath"/>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['functionClassesEditor.organisation']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{functionClassesEditor.newFunctionClass.organisation}"
+ required="true" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['functionClassesEditor.active']}</td>
+ <td><h:selectBooleanCheckbox
+ value="#{functionClassesEditor.newFunctionClass.active}" required="true"/></td>
+ </tr>
+ <tr>
+ <td colspan="2"><h:commandButton
+ action="#{functionClassesEditor.addFunctionClass}" value="#{bundle['functionClassesEditor.add.button']}" /></td>
+ </tr>
+ </table>
+ </h:form>
+ <hr/>
+ <h:messages showDetail="true" showSummary="false"/>
+ <h:form id="filter" acceptcharset="UTF-8" >
+ #{bundle['functionClassesEditor.filter.title']}
+ <table>
+ <tr>
+ <td>#{bundle['functionClassesEditor.filter.lines']}</td>
+ <td><rich:inputNumberSlider minValue="10" maxValue="200"
+ value="#{functionClassesEditor.rows}" required="true" step="5" enableManualInput="false"/></td>
+ <td colspan="2">
+ <h:selectOneMenu id="active" value="#{functionClassesEditor.filter.active}">
+ <f:selectItem itemLabel="#{bundle['functionClassesEditor.filter.active.all']}" itemValue="#{0}"/>
+ <f:selectItem itemLabel="#{bundle['functionClassesEditor.filter.active.true']}" itemValue="#{1}"/>
+ <f:selectItem itemLabel="#{bundle['functionClassesEditor.filter.active.false']}" itemValue="#{-1}"/>
+ </h:selectOneMenu>
+ </td>
+ <td>#{bundle['functionClassesEditor.filter.careerPath']}</td>
+ <td><ui:include src="../elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{functionClassesEditor.filter.careerPath}" />
+ <ui:param name="id" value="careerPath" />
+ <ui:param name="key" value="Career path" />
+ </ui:include>
+ </td>
+ </tr>
+ <tr>
+ <td>#{bundle['functionClassesEditor.filter.code']}</td><td><h:inputText id="code" value="#{functionClassesEditor.filter.code}" size="8"/></td>
+ <td>#{bundle['functionClassesEditor.filter.name']}</td><td><h:inputText id="name" value="#{functionClassesEditor.filter.name}" size="20"/></td>
+ <td colspan="2"><h:commandButton action="update" value="#{bundle['functionClassesEditor.filter.button']}"></h:commandButton></td>
+ </tr>
+ </table>
+ </h:form>
+ <hr/>
+ <h:form id="updateFunctionClasses" acceptcharset="UTF-8" >
+ <rich:dataTable value="#{functionClassesEditor.functionClasses}"
+ rows="#{functionClassesEditor.rows}" var="functionClass" id="functionClassList">
+ <f:facet name="header">
+ <rich:columnGroup>
+ <rich:column rowspan="2">#{bundle['functionClassesEditor.active']}</rich:column>
+ <rich:column>#{bundle['functionClassesEditor.code']}</rich:column>
+ <rich:column>#{bundle['functionClassesEditor.class']}</rich:column>
+ <rich:column>#{bundle['functionClassesEditor.organisation']}</rich:column>
+ <rich:column>#{bundle['functionClassesEditor.nameFr']}</rich:column>
+ <rich:column rowspan="2">Delete</rich:column>
+ <rich:column colspan="3" breakBefore="true">#{bundle['functionClassesEditor.careerPath']}</rich:column>
+ <rich:column>#{bundle['functionClassesEditor.nameNl']}</rich:column>
+ </rich:columnGroup>
+ </f:facet>
+ <rich:column rowspan="2">
+ <h:selectBooleanCheckbox value="#{functionClass.active}" />
+ </rich:column>
+ <rich:column>
+ <h:inputText value="#{functionClass.code}" size="8" />
+ </rich:column>
+ <rich:column>
+ <h:inputText value="#{functionClass.functionClass}" size="8" />
+ </rich:column>
+ <rich:column>
+ <h:inputText value="#{functionClass.organisation}"/>
+ </rich:column>
+ <rich:column>
+ <h:inputText value="#{functionClass.nameFr}" size="80" />
+ </rich:column>
+ <rich:column rowspan="2">
+ <rich:spacer />
+ </rich:column>
+ <rich:column colspan="3" breakBefore="true">
+ <ui:include src="../elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{functionClass.careerPath}" />
+ <ui:param name="id" value="careerPath" />
+ <ui:param name="key" value="Career path" />
+ </ui:include>
+ </rich:column>
+ <rich:column>
+ <h:inputText value="#{functionClass.nameNl}" size="80" />
+ </rich:column>
+ </rich:dataTable>
+
+ <div style="font-size:smaller;text-align:center"><t:dataScroller
+ id="scroll_1" style="margin-left:auto;margin-right:auto"
+ for="functionClassList" fastStep="10" pageCountVar="pageCount"
+ pageIndexVar="pageIndex" styleClass="scroller" paginator="true"
+ paginatorMaxPages="18" paginatorTableClass="paginator"
+ paginatorActiveColumnStyle="font-weight:bold;" immediate="true">
+ <f:facet name="first">
+ <t:graphicImage url="/images/arrows/arrow-first.gif" border="1" />
+ </f:facet>
+ <f:facet name="last">
+ <t:graphicImage url="/images/arrows/arrow-last.gif" border="1" />
+ </f:facet>
+ <f:facet name="previous">
+ <t:graphicImage url="/images/arrows/arrow-previous.gif" border="1" />
+ </f:facet>
+ <f:facet name="next">
+ <t:graphicImage url="/images/arrows/arrow-next.gif" border="1" />
+ </f:facet>
+ <f:facet name="fastforward">
+ <t:graphicImage url="/images/arrows/arrow-ff.gif" border="1" />
+ </f:facet>
+ <f:facet name="fastrewind">
+ <t:graphicImage url="/images/arrows/arrow-fr.gif" border="1" />
+ </f:facet>
+ <h:outputFormat value="#{bundle['functionClassesEditor.pageNumber']}">
+ <f:param value=" #{pageIndex}" />
+ <f:param value=" #{pageCount}" />
+ </h:outputFormat>
+ </t:dataScroller></div>
+ <h:commandButton action="#{functionClassesEditor.saveFunctionClasses}" value="#{bundle['functionClassesEditor.save.button']}"/>
+ </h:form>
+</f:view>
+</body>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/gradesEditor.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/gradesEditor.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/gradesEditor.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,138 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<head>
+<title>Editor</title>
+</head>
+<body style="font-size:smaller;">
+<f:view locale="#{strutsSession.locale}">
+ <f:loadBundle basename="resources.hr" var="bundle" />
+ <h:form id="addGrade" acceptcharset="UTF-8" >
+ <table style="text-align:left;margin-left:10pt;margin-right:auto">
+ <tr>
+ <td colspan="2">#{bundle['gradesEditor.add.title']}</td>
+ </tr>
+ <tr>
+ <td>#{bundle['gradesEditor.pdata']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{gradesEditor.newGrade.pdata}"
+ size="8" required="true"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['gradesEditor.level']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{gradesEditor.newGrade.level}"
+ size="2" required="true" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['gradesEditor.active']}</td>
+ <td><h:selectBooleanCheckbox
+ value="#{gradesEditor.newGrade.active}" required="true"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['gradesEditor.nameFr']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{gradesEditor.newGrade.nameFr}"
+ size="60" required="true" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['gradesEditor.nameNl']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{gradesEditor.newGrade.nameNl}"
+ size="60" required="true"/></td>
+ </tr>
+ <tr>
+ <td colspan="2"><h:commandButton
+ action="#{gradesEditor.addGrade}" value="#{bundle['gradesEditor.add.button']}" /></td>
+ </tr>
+ </table>
+ </h:form>
+ <hr/>
+ <h:messages showDetail="true" showSummary="false"/>
+ <h:form id="filter" acceptcharset="UTF-8" >
+ #{bundle['gradesEditor.filter.title']}
+ <table>
+ <tr>
+ <td>#{bundle['gradesEditor.filter.lines']}</td>
+ <td><rich:inputNumberSlider minValue="10" maxValue="200"
+ value="#{gradesEditor.rows}" required="true" step="5" enableManualInput="false"/></td>
+ <td>
+ <h:selectOneMenu id="active" value="#{gradesEditor.filter.active}">
+ <f:selectItem itemLabel="#{bundle['gradesEditor.filter.active.all']}" itemValue="#{0}"/>
+ <f:selectItem itemLabel="#{bundle['gradesEditor.filter.active.true']}" itemValue="#{1}"/>
+ <f:selectItem itemLabel="#{bundle['gradesEditor.filter.active.false']}" itemValue="#{-1}"/>
+ </h:selectOneMenu>
+ </td>
+ <td>#{bundle['gradesEditor.filter.pdata']}<h:inputText id="pdata" value="#{gradesEditor.filter.pdata}" size="8"/></td>
+ <td>#{bundle['gradesEditor.filter.name']}<h:inputText id="name" value="#{gradesEditor.filter.name}" size="20"/></td>
+ <td><h:commandButton action="update" value="#{bundle['gradesEditor.filter.button']}"></h:commandButton></td>
+ </tr>
+ </table>
+ </h:form>
+ <hr/>
+ <h:form id="updateGrades" acceptcharset="UTF-8" >
+ <rich:dataTable value="#{gradesEditor.grades}"
+ rows="#{gradesEditor.rows}" var="grade" id="gradeList">
+ <f:facet name="header">
+ <rich:columnGroup>
+ <rich:column rowspan="2">#{bundle['gradesEditor.pdata']}</rich:column>
+ <rich:column rowspan="2">#{bundle['gradesEditor.level']}</rich:column>
+ <rich:column rowspan="2">#{bundle['gradesEditor.active']}</rich:column>
+ <rich:column>#{bundle['gradesEditor.nameFr']}</rich:column>
+ <rich:column rowspan="2">Delete</rich:column>
+ <rich:column breakBefore="true">#{bundle['gradesEditor.nameNl']}</rich:column>
+ </rich:columnGroup>
+ </f:facet>
+ <rich:column rowspan="2">
+ <h:inputText value="#{grade.pdata}" size="8" />
+ </rich:column>
+ <rich:column rowspan="2">
+ <h:inputText value="#{grade.level}" size="2" />
+ </rich:column>
+ <rich:column rowspan="2">
+ <h:selectBooleanCheckbox value="#{grade.active}" />
+ </rich:column>
+ <rich:column>
+ <h:inputText value="#{grade.nameFr}" size="80" />
+ </rich:column>
+ <rich:column rowspan="2">
+ <rich:spacer />
+ </rich:column>
+ <rich:column breakBefore="true">
+ <h:inputText value="#{grade.nameNl}" size="80" />
+ </rich:column>
+ </rich:dataTable>
+
+ <div style="font-size:smaller;text-align:center"><t:dataScroller
+ id="scroll_1" style="margin-left:auto;margin-right:auto"
+ for="gradeList" fastStep="10" pageCountVar="pageCount"
+ pageIndexVar="pageIndex" styleClass="scroller" paginator="true"
+ paginatorMaxPages="18" paginatorTableClass="paginator"
+ paginatorActiveColumnStyle="font-weight:bold;" immediate="true">
+ <f:facet name="first">
+ <t:graphicImage url="/images/arrows/arrow-first.gif" border="1" />
+ </f:facet>
+ <f:facet name="last">
+ <t:graphicImage url="/images/arrows/arrow-last.gif" border="1" />
+ </f:facet>
+ <f:facet name="previous">
+ <t:graphicImage url="/images/arrows/arrow-previous.gif" border="1" />
+ </f:facet>
+ <f:facet name="next">
+ <t:graphicImage url="/images/arrows/arrow-next.gif" border="1" />
+ </f:facet>
+ <f:facet name="fastforward">
+ <t:graphicImage url="/images/arrows/arrow-ff.gif" border="1" />
+ </f:facet>
+ <f:facet name="fastrewind">
+ <t:graphicImage url="/images/arrows/arrow-fr.gif" border="1" />
+ </f:facet>
+ <h:outputFormat value="#{bundle['gradesEditor.pageNumber']}">
+ <f:param value=" #{pageIndex}" />
+ <f:param value=" #{pageCount}" />
+ </h:outputFormat>
+ </t:dataScroller></div>
+ <h:commandButton action="#{gradesEditor.saveGrades}" value="#{bundle['gradesEditor.save.button']}"/>
+ </h:form>
+</f:view>
+</body>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/listEditor.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/listEditor.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/listEditor.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,29 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<ui:composition>
+ <rich:modalPanel top="0" id="editPanel" width="850" height="650">
+ <div style="text-align:center">
+ <iframe width="800" height="600" id="#{parentClientId}:iframe">*edit here*</iframe>
+ <br/>
+ <a href="javascript:hideListEditor()">[done]</a>
+ </div>
+ </rich:modalPanel>
+ <script language="javascript">
+ var __current_refresh;
+ function showListEditor(url,refresh){
+ __current_refresh=refresh;
+ document.getElementById('#{parentClientId}:iframe').src=url;
+ Richfaces.showModalPanel('editPanel');
+ }
+ function hideListEditor(){
+ Richfaces.hideModalPanel('editPanel');
+ document.getElementById('#{parentClientId}:iframe').src=undefined;
+ __current_refresh();
+ }
+ </script>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/medicalCentersEditor.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/medicalCentersEditor.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/medicalCentersEditor.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,65 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<head>
+<title>Editor</title>
+</head>
+<body style="font-size:smaller;">
+<f:view locale="#{strutsSession.locale}">
+ <f:loadBundle basename="resources.hr" var="bundle" />
+ <h:form id="addMedicalCenter" acceptcharset="UTF-8" >
+ <table style="text-align:left;margin-left:10pt;margin-right:auto">
+ <tr>
+ <td colspan="2">#{bundle['medicalCentersEditor.add.title']}</td>
+ </tr>
+ <tr>
+ <td>#{bundle['medicalCentersEditor.name']}</td>
+ <td><h:inputText
+ style="font-size:smaller"
+ value="#{medicalCentersEditor.newMedicalCenter.name}"
+ required="true"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['medicalCentersEditor.address']}</td>
+ <td>
+ <ui:include src="../elements/address.xhtml">
+ <ui:param name="address" value="#{medicalCentersEditor.newMedicalCenter.address}" />
+ </ui:include>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2"><h:commandButton
+ action="#{medicalCentersEditor.addMedicalCenter}" value="#{bundle['medicalCentersEditor.add.button']}" /></td>
+ </tr>
+ </table>
+ </h:form>
+ <hr/>
+ <h:messages showDetail="true" showSummary="false"/>
+ <h:form id="updateCenters" acceptcharset="UTF-8" >
+ <rich:dataTable value="#{medicalCentersEditor.medicalCenters}"
+ var="medicalCenter" id="centerList">
+ <f:facet name="header">
+ <rich:columnGroup>
+ <rich:column>#{bundle['medicalCentersEditor.name']}</rich:column>
+ <rich:column>#{bundle['medicalCentersEditor.address']}</rich:column>
+ </rich:columnGroup>
+ </f:facet>
+ <rich:column>
+ <h:inputText value="#{medicalCenter.name}" required="true"/>
+ </rich:column>
+ <rich:column>
+ <h:panelGroup>
+ <ui:include src="../elements/address.xhtml">
+ <ui:param name="address" value="#{medicalCenter.address}" />
+ </ui:include>
+ </h:panelGroup>
+ </rich:column>
+ </rich:dataTable>
+ <h:commandButton action="#{medicalCentersEditor.saveMedicalCenters}" value="#{bundle['medicalCentersEditor.save.button']}"/>
+ </h:form>
+</f:view>
+</body>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/secretariatsEditor.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/secretariatsEditor.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/secretariatsEditor.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,90 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<head>
+<title>Secretariat Editor</title>
+</head>
+<body style="font-size:smaller;">
+<f:view locale="#{strutsSession.locale}">
+ <f:loadBundle basename="resources.hr" var="bundle" />
+ <h:form id="addSecretariat" acceptcharset="UTF-8" >
+ <table style="text-align:left;margin-left:10pt;margin-right:auto">
+ <tr>
+ <td colspan="2">#{bundle['secretariatsEditor.add.title']}</td>
+ </tr>
+ <tr>
+ <td><h:outputLabel value="#{bundle['secretariatsEditor.nameFr']}" for="nameFr"/></td>
+ <td><h:inputText
+ style="font-size:smaller" id="nameFr"
+ value="#{secretariatsEditor.newSecretariat.nameFr}"
+ required="true"/></td>
+ </tr>
+ <tr>
+ <td><h:outputLabel value="#{bundle['secretariatsEditor.nameNl']}" for="nameNl"/></td>
+ <td><h:inputText
+ style="font-size:smaller" id="nameFr"
+ value="#{secretariatsEditor.newSecretariat.nameNl}"
+ required="true"/></td>
+ </tr>
+ <tr>
+ <td><h:outputLabel value="#{bundle['secretariatsEditor.contact1']}" for="contact1"/></td>
+ <td>
+ <h:selectOneMenu value="#{secretariatsEditor.newSecretariat.contact1}" id="contact1">
+ <f:converter converterId="abstractId" />
+ <f:selectItems value="#{hrRequest.employees}"/>
+ </h:selectOneMenu>
+ </td>
+ </tr>
+ <tr>
+ <td><h:outputLabel value="#{bundle['secretariatsEditor.contact2']}" for="contact2"/></td>
+ <td>
+ <h:selectOneMenu value="#{secretariatsEditor.newSecretariat.contact1}" id="contact2">
+ <f:converter converterId="abstractId" />
+ <f:selectItems value="#{hrRequest.employees}"/>
+ </h:selectOneMenu>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="2"><h:commandButton
+ action="#{secretariatsEditor.addSecretariat}" value="#{bundle['medicalCentersEditor.add.button']}" /></td>
+ </tr>
+ </table>
+ </h:form>
+ <hr/>
+ <h:messages showDetail="true" showSummary="false" />
+ <h:form id="updateSecretariats" acceptcharset="UTF-8" >
+ <rich:dataTable value="#{secretariatsEditor.secretariats}"
+ var="sec" id="centerList">
+ <f:facet name="header">
+ <rich:columnGroup>
+ <rich:column>#{bundle['secretariatsEditor.nameFr']}</rich:column>
+ <rich:column>#{bundle['secretariatsEditor.contact1']}</rich:column>
+ <rich:column breakBefore="true">#{bundle['secretariatsEditor.nameNl']}</rich:column>
+ <rich:column>#{bundle['secretariatsEditor.contact2']}</rich:column>
+ </rich:columnGroup>
+ </f:facet>
+ <rich:column>
+ <h:panelGroup>
+ <h:inputText value="#{sec.nameFr}" required="true" id="nameFr"/><br/>
+ <h:inputText value="#{sec.nameFr}" required="true" id="nameNl"/>
+ </h:panelGroup>
+ </rich:column>
+ <rich:column>
+ <h:panelGroup>
+ <h:selectOneMenu value="#{sec.contact1}" id="contact1">
+ <f:selectItems value="#{hrRequest.employees}"/>
+ </h:selectOneMenu><br/>
+ <h:selectOneMenu value="#{sec.contact2}" id="contact2">
+ <f:selectItems value="#{hrRequest.employees}"/>
+ </h:selectOneMenu>
+ </h:panelGroup>
+ </rich:column>
+ </rich:dataTable>
+ <h:commandButton action="#{secretariatsEditor.saveSecretariats}" value="#{bundle['secretariatsEditor.save.button']}"/>
+ </h:form>
+</f:view>
+</body>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/selectEntriesEditor.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/selectEntriesEditor.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/lists/selectEntriesEditor.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,137 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<head>
+<title>Editor</title>
+</head>
+<body style="font-size:smaller;">
+<f:view locale="#{strutsSession.locale}">
+ <f:loadBundle basename="resources.hr" var="bundle" />
+ #{bundle['selectEditor.key.title']}
+ <h:form id="selectKey">
+ <h:selectOneMenu id="key" value="#{selectEntriesEditor.key}" onchange="submit()">
+ <f:selectItem itemLabel="" itemValue=""/>
+ <f:selectItems value="#{selectEntriesEditor.keyItems}"/>
+ </h:selectOneMenu>
+ </h:form>
+ <hr/>
+ <h:form id="addEntry" rendered="#{not empty selectEntriesEditor.key}" acceptcharset="UTF-8" >
+ <table style="text-align:left;margin-left:10pt;margin-right:auto">
+ <tr>
+ <td colspan="2">#{bundle['selectEditor.add.title']}</td>
+ </tr>
+ <tr>
+ <td>#{bundle['selectEditor.pdata']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{selectEntriesEditor.newSelectEntry.pdata}"
+ size="8" required="true"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['selectEditor.active']}</td>
+ <td><h:selectBooleanCheckbox
+ value="#{selectEntriesEditor.newSelectEntry.active}" required="true"/></td>
+ </tr>
+ <tr>
+ <td>#{bundle['selectEditor.nameFr']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{selectEntriesEditor.newSelectEntry.nameFr}"
+ size="60" required="true" /></td>
+ </tr>
+ <tr>
+ <td>#{bundle['selectEditor.nameNl']}</td>
+ <td><h:inputText style="font-size:smaller" value="#{selectEntriesEditor.newSelectEntry.nameNl}"
+ size="60" required="true"/></td>
+ </tr>
+ <tr>
+ <td colspan="2"><h:commandButton
+ action="#{selectEntriesEditor.addSelectEntry}" value="#{bundle['selectEditor.add.button']}" /></td>
+ </tr>
+ </table>
+ </h:form>
+ <hr/>
+ <h:messages showDetail="true" showSummary="false"/>
+ <h:form id="filter" rendered="#{not empty selectEntriesEditor.key}" acceptcharset="UTF-8" >
+ #{bundle['selectEditor.filter.title']}
+ <table>
+ <tr>
+ <td>#{bundle['selectEditor.filter.lines']}</td>
+ <td><rich:inputNumberSlider minValue="10" maxValue="200"
+ value="#{selectEntriesEditor.rows}" required="true" step="5" enableManualInput="false"/></td>
+ <td>
+ <h:selectOneMenu id="active" value="#{selectEntriesEditor.filter.active}">
+ <f:selectItem itemLabel="#{bundle['selectEditor.filter.active.all']}" itemValue="#{0}"/>
+ <f:selectItem itemLabel="#{bundle['selectEditor.filter.active.true']}" itemValue="#{1}"/>
+ <f:selectItem itemLabel="#{bundle['selectEditor.filter.active.false']}" itemValue="#{-1}"/>
+ </h:selectOneMenu>
+ </td>
+ <td>#{bundle['selectEditor.filter.pdata']}<h:inputText id="pdata" value="#{selectEntriesEditor.filter.pdata}" size="8"/></td>
+ <td>#{bundle['selectEditor.filter.name']}<h:inputText id="name" value="#{selectEntriesEditor.filter.name}" size="20"/></td>
+ <td><h:commandButton action="update" value="#{bundle['selectEditor.filter.button']}"></h:commandButton></td>
+ </tr>
+ </table>
+ </h:form>
+ <hr/>
+ <h:form id="updateSelectEntries" rendered="#{not empty selectEntriesEditor.key}" acceptcharset="UTF-8" >
+ <rich:dataTable value="#{selectEntriesEditor.selectEntries}"
+ rows="#{selectEntriesEditor.rows}" var="SelectEntry" id="SelectEntryList">
+ <f:facet name="header">
+ <rich:columnGroup>
+ <rich:column rowspan="2">#{bundle['selectEditor.pdata']}</rich:column>
+ <rich:column rowspan="2">#{bundle['selectEditor.active']}</rich:column>
+ <rich:column>#{bundle['selectEditor.nameFr']}</rich:column>
+ <rich:column rowspan="2">Delete</rich:column>
+ <rich:column breakBefore="true">#{bundle['selectEditor.nameNl']}</rich:column>
+ </rich:columnGroup>
+ </f:facet>
+ <rich:column rowspan="2">
+ <h:inputText value="#{SelectEntry.pdata}" size="8" />
+ </rich:column>
+ <rich:column rowspan="2">
+ <h:selectBooleanCheckbox value="#{SelectEntry.active}" readonly="true"/>
+ </rich:column>
+ <rich:column>
+ <h:inputText value="#{SelectEntry.nameFr}" size="80" />
+ </rich:column>
+ <rich:column rowspan="2">
+ <rich:spacer />
+ </rich:column>
+ <rich:column breakBefore="true">
+ <h:inputText value="#{SelectEntry.nameNl}" size="80" />
+ </rich:column>
+ </rich:dataTable>
+
+ <div style="font-size:smaller;text-align:center"><t:dataScroller
+ id="scroll_1" style="margin-left:auto;margin-right:auto"
+ for="SelectEntryList" fastStep="10" pageCountVar="pageCount"
+ pageIndexVar="pageIndex" styleClass="scroller" paginator="true"
+ paginatorMaxPages="18" paginatorTableClass="paginator"
+ paginatorActiveColumnStyle="font-weight:bold;" immediate="true">
+ <f:facet name="first">
+ <t:graphicImage url="/images/arrows/arrow-first.gif" border="1" />
+ </f:facet>
+ <f:facet name="last">
+ <t:graphicImage url="/images/arrows/arrow-last.gif" border="1" />
+ </f:facet>
+ <f:facet name="previous">
+ <t:graphicImage url="/images/arrows/arrow-previous.gif" border="1" />
+ </f:facet>
+ <f:facet name="next">
+ <t:graphicImage url="/images/arrows/arrow-next.gif" border="1" />
+ </f:facet>
+ <f:facet name="fastforward">
+ <t:graphicImage url="/images/arrows/arrow-ff.gif" border="1" />
+ </f:facet>
+ <f:facet name="fastrewind">
+ <t:graphicImage url="/images/arrows/arrow-fr.gif" border="1" />
+ </f:facet>
+ <h:outputFormat value="#{bundle['selectEditor.pageNumber']}">
+ <f:param value=" #{pageIndex}" />
+ <f:param value=" #{pageCount}" />
+ </h:outputFormat>
+ </t:dataScroller></div>
+ <h:commandButton action="#{selectEntriesEditor.saveSelectEntries}" value="#{bundle['selectEditor.save.button']}"/>
+ </h:form>
+</f:view>
+</body>
+</html>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/login.page.xml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/login.page.xml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/login.page.xml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<page xmlns="http://jboss.com/products/seam/pages"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd">
+
+ <navigation from-action="#{identity.login}">
+ <rule if="#{identity.loggedIn}">
+ <redirect view-id="/home.xhtml"/>
+ </rule>
+ </navigation>
+
+</page>
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/login.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/login.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/login.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,13 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+<ui:composition>
+<f:loadBundle basename="be.rmi.intranet.Common" var="loginI18N" />
+<h:panelGroup rendered="#{facesContext.externalContext.remoteUser == null}">
+#{loginI18N['loggin.link']}
+</h:panelGroup>
+<h:panelGroup rendered="#{facesContext.externalContext.remoteUser != null}">
+#{loginI18N['loggin.youare']} #{facesContext.externalContext.remoteUser}
+</h:panelGroup>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/menu.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/menu.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/menu.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,7 @@
+<html xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:f="http://java.sun.com/jsf/core">
+<ui:composition>
+<f:loadBundle basename="be.rmi.intranet.Workflow" var="menuI18N" />
+*Menu here*
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata.dtd
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata.dtd (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata.dtd 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,135 @@
+<!ELEMENT data (service_code, refdate, record*)>
+<!ELEMENT service_code (#PCDATA)>
+<!ELEMENT refdate (#PCDATA)>
+ <!ELEMENT record ( abo_delijn?,
+ abo_sncb_nmbs?,
+ abo_stib_mivb?,
+ abo_tec?,
+ abs_reason_code?,
+ activity_perc?,
+ addr_box?,
+ addr_box2?,
+ addr_number?,
+ addr_number2?,
+ addr_street?,
+ addr_street2?,
+ admin_pos_code?,
+ alloc_comp?,
+ anci_pec?,
+ birthdate?,
+ contractcat_code?,
+ contractdurday?,
+ contractduryear?,
+ contract_id?,
+ cont_dur_code?,
+ cont_reason_code?,
+ country_code?,
+ country_code2?,
+ date_start_serve?,
+ disabled?,
+ disease_remain?,
+ disease_total?,
+ email?,
+ expertechel_code?,
+ family_code?,
+ fax?,
+ financesrc_code?,
+ firstname?,
+ floor?,
+ frame_code?,
+ function_code?,
+ grade_code?,
+ gsm?,
+ handicap_code?,
+ identification?,
+ integration_grant?,
+ language?,
+ lastname?,
+ local_service_code?,
+ manager_grant?,
+ nationality_code?,
+ nrnumber?,
+ nrn_etab?,
+ office?,
+ phone?,
+ postal_code?,
+ postal_code2?,
+ prepension?,
+ prime_ling_code?,
+ project_grant?,
+ refund_agdet_code?,
+ salary_scale_code?,
+ selection_code?,
+ sex?,
+ status_code?,
+ status_repl?,
+ superior_grant?,
+ taskperm_code?,
+ workplace_postal_code?
+)>
+<!ELEMENT abo_delijn (#PCDATA)>
+ <!ELEMENT abo_sncb_nmbs (#PCDATA)>
+ <!ELEMENT abo_stib_mivb (#PCDATA)>
+ <!ELEMENT abo_tec (#PCDATA)>
+ <!ELEMENT abs_reason_code (#PCDATA)>
+ <!ELEMENT activity_perc (#PCDATA)>
+ <!ELEMENT addr_box (#PCDATA)>
+ <!ELEMENT addr_box2 (#PCDATA)>
+ <!ELEMENT addr_number (#PCDATA)>
+ <!ELEMENT addr_number2 (#PCDATA)>
+ <!ELEMENT addr_street (#PCDATA)>
+ <!ELEMENT addr_street2 (#PCDATA)>
+ <!ELEMENT admin_pos_code (#PCDATA)>
+ <!ELEMENT alloc_comp (#PCDATA)>
+ <!ELEMENT anci_pec (#PCDATA)>
+ <!ELEMENT birthdate (#PCDATA)>
+ <!ELEMENT contractcat_code (#PCDATA)>
+ <!ELEMENT contractdurday (#PCDATA)>
+ <!ELEMENT contractduryear (#PCDATA)>
+ <!ELEMENT contract_id (#PCDATA)>
+ <!ELEMENT cont_dur_code (#PCDATA)>
+ <!ELEMENT cont_reason_code (#PCDATA)>
+ <!ELEMENT country_code (#PCDATA)>
+ <!ELEMENT country_code2 (#PCDATA)>
+ <!ELEMENT date_start_serve (#PCDATA)>
+ <!ELEMENT disabled (#PCDATA)>
+ <!ELEMENT disease_remain (#PCDATA)>
+ <!ELEMENT disease_total (#PCDATA)>
+ <!ELEMENT email (#PCDATA)>
+ <!ELEMENT expertechel_code (#PCDATA)>
+ <!ELEMENT family_code (#PCDATA)>
+ <!ELEMENT fax (#PCDATA)>
+ <!ELEMENT financesrc_code (#PCDATA)>
+ <!ELEMENT firstname (#PCDATA)>
+ <!ELEMENT floor (#PCDATA)>
+ <!ELEMENT frame_code (#PCDATA)>
+ <!ELEMENT function_code (#PCDATA)>
+ <!ELEMENT grade_code (#PCDATA)>
+ <!ELEMENT gsm (#PCDATA)>
+ <!ELEMENT handicap_code (#PCDATA)>
+ <!ELEMENT identification (#PCDATA)>
+ <!ELEMENT integration_grant (#PCDATA)>
+ <!ELEMENT language (#PCDATA)>
+ <!ELEMENT lastname (#PCDATA)>
+ <!ELEMENT local_service_code (#PCDATA)>
+ <!ELEMENT manager_grant (#PCDATA)>
+ <!ELEMENT nationality_code (#PCDATA)>
+ <!ELEMENT nrnumber (#PCDATA)>
+ <!ELEMENT nrn_etab (#PCDATA)>
+ <!ELEMENT office (#PCDATA)>
+ <!ELEMENT phone (#PCDATA)>
+ <!ELEMENT postal_code (#PCDATA)>
+ <!ELEMENT postal_code2 (#PCDATA)>
+ <!ELEMENT prepension (#PCDATA)>
+ <!ELEMENT prime_ling_code (#PCDATA)>
+ <!ELEMENT project_grant (#PCDATA)>
+ <!ELEMENT refund_agdet_code (#PCDATA)>
+ <!ELEMENT salary_scale_code (#PCDATA)>
+ <!ELEMENT selection_code (#PCDATA)>
+ <!ELEMENT sex (#PCDATA)>
+ <!ELEMENT status_code (#PCDATA)>
+ <!ELEMENT status_repl (#PCDATA)>
+ <!ELEMENT superior_grant (#PCDATA)>
+ <!ELEMENT taskperm_code (#PCDATA)>
+ <!ELEMENT workplace_postal_code (#PCDATA)>
+
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,15 @@
+<!DOCTYPE data SYSTEM "pdata.dtd">
+<data
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:intranet="http://www.meteo.be/Intranet-Jsf"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core">
+ <intranet:header name="Content-Type" value="application/xml"/>
+ <intranet:header name="Content-Disposition" value="attachment; filename= pdata.xml"/>
+ <!-- Royal meteorological institute service code-->
+ <service_code>11045</service_code>
+ <refdate><h:outputText value="#{now}"><f:convertDateTime timeZone="Europe/Paris" pattern="yyyyMMdd"/></h:outputText></refdate>
+ <ui:repeat value="#{hrRequest.employeesMap['10']}" var="employee">
+ <ui:include src="elements/pdata_single.xhtml"/>
+ </ui:repeat>
+</data>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdataEdit.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdataEdit.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdataEdit.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,61 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<ui:composition>
+ <body>
+
+ <rich:panel id="panel">
+ <f:facet name="header">#{hrRequest.employeeById[param.employeeId].fullname}</f:facet>
+ <h:panelGroup rendered="#{empty hrRequest.employeeById[param.employeeId].nationality.nationalRegisterCode}">
+ <h:outputFormat value="#{bundle['PData.error.required.nationality']}" class="warning" />
+ <h:selectOneMenu value="#{hrRequest.employeeById[param.employeeId].nationality}" id="nationality">
+ <f:selectItems value="#{hrRequest.countries}" />
+ </h:selectOneMenu> <h:message for="nationality" showDetails="true"
+ showSummary="false" />
+ <br/>
+ </h:panelGroup>
+ <h:panelGroup rendered="#{empty hrRequest.employeeById[param.employeeId].nationalRegisterNumber}">
+ <h:outputFormat value="#{bundle['PData.error.required.nrn']}" class="warning" />
+ <h:inputText value="#{hrRequest.employeeById[param.employeeId].idCardNumber}" id="idCard" />
+ <h:message for="idCard" showDetail="true" showSummary="false" />
+ <br/>
+ </h:panelGroup>
+ <h:panelGroup rendered="#{(hrRequest.employeeById[param.employeeId].PData.status.pdata eq '30' or hrRequest.employeeById[param.employeeId].PData.status.pdata eq '31' or hrRequest.employeeById[param.employeeId].PData.status.pdata eq '32') and empty hrRequest.employeeById[param.employeeId].current.contract.reason.pdata}">
+ <h:outputFormat value="#{bundle['PData.error.required.contractReason']}" class="warning" />
+ <h:panelGroup rendered="#{ not empty hrRequest.employeeById[param.employeeId].current.contract}">
+ (#{bundle['Contract.reference']} #{hrRequest.employeeById[param.employeeId].current.contract.reference})
+ <ui:include src="elements/selectEntry.xhtml">
+ <ui:param name="value" value="#{hrRequest.employeeById[param.employeeId].current.contract.reason}" />
+ <ui:param name="id" value="creason" />
+ <ui:param name="key" value="Contract reason" />
+ </ui:include>
+ <h:message for="creason" showDetail="true" showSummary="false"/>
+ </h:panelGroup>
+ <h:outputText value="#{bundle['PData.error.required.contractReason.nocontract']}" rendered="#{empty hrRequest.employeeById[param.employeeId].current.contract}" />
+ <br/>
+ </h:panelGroup>
+ <h:panelGroup rendered="#{empty hrRequest.employeeById[param.employeeId].current.careerRank.grade.pdata}" id="gradeGroup1">
+ <h:outputFormat value="#{bundle['PData.error.required.grade']}" class="warning" />
+ <h:panelGroup rendered="#{ not empty hrRequest.employeeById[param.employeeId].current.careerRank}">
+ <ui:include src="elements/selectGrade.xhtml">
+ <ui:param name="value" value="#{hrRequest.employeeById[param.employeeId].current.careerRank.grade}" />
+ <ui:param name="id" value="rankgrade" />
+ </ui:include>
+ <h:message for="rankgrade" showDetails="true" showSummary="false"/>
+ </h:panelGroup>
+ <h:outputText value="#{bundle['PData.error.required.grade.norank']}" rendered="#{empty hrRequest.employeeById[param.employeeId].current.careerRank}" />
+ <br/>
+ </h:panelGroup>
+ <a4j:commandLink limitToList="true" action="#{hrActions.saveEmployeeById}" reRender=":pdata:employeeList,:pdataEdit" oncomplete="javascript:Richfaces.hideModalPanel('pdataEdit')">
+ <f:param name="employeeId" value="#{param.employeeId}"/>
+ Sauver
+ </a4j:commandLink>
+ </rich:panel>
+ </body>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata_check.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata_check.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/pdata_check.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,69 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
+ xmlns:rich="http://richfaces.ajax4jsf.org/rich">
+<ui:composition template="../hr-layout.xhtml">
+ <ui:param name="title" value="Check pdata" />
+ <ui:define name="leftBar">
+ <ui:include src="../hr-actions.xhtml" />
+ </ui:define>
+ <ui:define name="content">
+ <rich:modalPanel id="pdataEdit" width="600" height="450">
+
+ <f:facet name="header">
+ <h:outputText value="Editor"/>
+ </f:facet>
+ <f:facet name="controls">
+ <a href="javascript:Richfaces.hideModalPanel('pdataEdit')">X</a>
+ </f:facet>
+ <a4j:form id="pdataEditForm" rendered="#{not empty param.employeeId}">
+ <a4j:include layout="block" viewId="pdataEdit.xhtml"/>
+ </a4j:form>
+ </rich:modalPanel>
+ <a4j:form id="pdata">
+<!-- <t:dataList value="#{hrRequest.employeesMap['10']}" var="employee" id="employeeList" rows="10" rowIndexVar="index">
+ <ui:include src="elements/pdataCheckSingle.xhtml"/>
+ </t:dataList>-->
+
+ <div style="font-size:smaller;text-align:center">
+
+ <!--
+ <t:dataScroller
+ id="scroll_1" style="margin-left:auto;margin-right:auto"
+ for="employeeList" fastStep="10" pageCountVar="pageCount"
+ pageIndexVar="pageIndex" styleClass="scroller" paginator="true"
+ paginatorMaxPages="18" paginatorTableClass="paginator"
+ paginatorActiveColumnStyle="font-weight:bold;" immediate="true">
+ <f:facet name="first">
+ <t:graphicImage url="/images/arrows/arrow-first.gif" border="1" />
+ </f:facet>
+ <f:facet name="last">
+ <t:graphicImage url="/images/arrows/arrow-last.gif" border="1" />
+ </f:facet>
+ <f:facet name="previous">
+ <t:graphicImage url="/images/arrows/arrow-previous.gif" border="1" />
+ </f:facet>
+ <f:facet name="next">
+ <t:graphicImage url="/images/arrows/arrow-next.gif" border="1" />
+ </f:facet>
+ <f:facet name="fastforward">
+ <t:graphicImage url="/images/arrows/arrow-ff.gif" border="1" />
+ </f:facet>
+ <f:facet name="fastrewind">
+ <t:graphicImage url="/images/arrows/arrow-fr.gif" border="1" />
+ </f:facet>
+ <h:panelGroup>#{pageIndex}/#{pageCount}</h:panelGroup>
+ </t:dataScroller>-->
+ <rich:datascroller for="employeeList" maxPages="20" /></div>
+ <rich:dataTable value="#{hrRequest.employeesMap['10']}" var="employee" id="employeeList" rows="10">
+
+ <ui:include src="elements/pdataCheckSingle.xhtml"/>
+ </rich:dataTable>
+ </a4j:form>
+ </ui:define>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/picture.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/picture.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/picture.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,4 @@
+<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:i="http://www.meteo.be/Intranet-Jsf">
+ <i:binaryOutput value="#{hrSession.employee.picture}"/>
+</ui:composition>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/selectEmployee.xhtml
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/selectEmployee.xhtml (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/selectEmployee.xhtml 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,21 @@
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:t="http://myfaces.apache.org/tomahawk"
+ xmlns:s="http://myfaces.apache.org/sandbox"
+ xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">
+<ui:composition template="../hr-layout.xhtml">
+ <ui:param name="title" value="Edit Employee" />
+ <ui:define name="leftBar"><ui:include src="../hr-actions.xhtml"/></ui:define>
+ <ui:define name="content">
+ <h1>Choose employee</h1>
+ <h:form>
+ <h:selectOneMenu value="#{hrSession.employee}">
+ <f:selectItems value="#{hrRequest.employees}"/>
+ </h:selectOneMenu>
+ <h:commandButton action="selectEmployee" value="selectEmployee"/>
+ </h:form>
+ </ui:define>
+</ui:composition>
+</html>
\ No newline at end of file
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/stylesheet/theme.css
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/stylesheet/theme.css (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/resources/perfomanceTest/WebContent/stylesheet/theme.css 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,289 @@
+a:active, a:link, a:visited {
+ color: #0D5798;
+}
+a:hover {
+ color: #8CAFCD;
+}
+
+input, textarea {
+ border: 1px solid #BBBBBB;
+ font-size: 10px;
+ background: #F0F8FF;
+ color: black;
+}
+
+input[type='submit'], input[type='button'] {
+ background: #4477AA;
+ color: white;
+ margin: 5px;
+ border-color: gray;
+}
+
+.tableControl, .actionButtons {
+ width: 100%;
+}
+
+.tableControl {
+ text-align: right;
+}
+
+.footer {
+ text-align: center;
+ font-size: 10px;
+}
+
+.rich-table {
+ width:100%;
+}
+
+h1 {
+ font-family: Arial,sans-serif;
+ color: #578BB8;
+ font-size: 1.6em;
+ margin-top: 0;
+}
+
+body {
+ margin: 0px;
+ font-family: Arial,sans-serif;
+ color: #616161;
+}
+
+.body {
+ padding: 30px;
+}
+
+.columnHeader:hover
+{
+ color: #FF6600;
+}
+
+.message {
+ border: 1px solid #FFCC00;
+ padding: 5px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ background-color: #F0F8FF;
+ font-size: 12px;
+}
+
+.name {
+ vertical-align: top;
+ font-weight: bold;
+ width: 115px;
+ float: left;
+ padding: 5px;
+ margin-top: 3px;
+ clear: left;
+}
+.value {
+ float: left;
+ padding: 5px;
+}
+.error {
+ margin-left: 20px;
+ margin-top: 5px;
+ float: left;
+ padding: 5px;
+ border: 1px solid red;
+}
+
+.errors {
+ color: red;
+}
+.errors input {
+ border: 1px solid red;
+}
+.errors textarea {
+ border: 1px solid red;
+}
+.required {
+ color: red;
+ padding-left: 2px;
+}
+
+/* date picker style */
+div.seam-date
+{
+ margin-top: 5px;
+ border: 1px solid #AAAAAA;
+ background-color: #FFFFFF;
+ color: #505050;
+ font-family: Tahoma, Arial, Helvetica, sans-serif;
+ font-size: 12px;
+}
+
+table.seam-date td {
+ font-family: Tahoma, Arial, Helvetica, sans-serif;
+ font-weight: 12px;
+}
+
+.seam-date-monthNames
+{
+ width: 70px;
+ border: 1px solid #dddddd;
+ border-right: 3px solid #444444;
+ border-bottom: 3px solid #444444;
+ background-color: #ffffff;
+ font-size: 12px;
+ cursor: pointer;
+ font-family: Tahoma, Arial, Helvetica, sans-serif;
+ font-weight: normal;
+}
+
+a.seam-date-monthNameLink, a.seam-date-monthNameLink:visited
+{
+ text-align: center;
+ display: block;
+ color: #555555;
+}
+
+a.seam-date-monthNameLink:hover
+{
+ background-color: #CCCCCC;
+ color: red;
+}
+
+.seam-date-years
+{
+ height: 10em;
+ overflow: auto;
+ width: 60px;
+ border: 1px solid #dddddd;
+ border-right: 3px solid #444444;
+ border-bottom: 3px solid #444444;
+ background-color: #ffffff;
+ font-size: 12px;
+ cursor: pointer;
+ font-family: Tahoma, Arial, Helvetica, sans-serif;
+ font-weight: normal;
+}
+
+a.seam-date-yearLink, a.seam-date-yearLink:visited
+{
+ text-align: center;
+ display: block;
+ color: #555555;
+}
+
+a.seam-date-yearLink:hover
+{
+ background-color: #CCCCCC;
+ color: red;
+}
+
+tr.seam-date-header
+{
+ padding: 2px 0px 2px 0px;
+}
+
+td.seam-date-header
+{
+ padding: 0px 8px 0px 8px;
+ text-align: center;
+ color: gray;
+ font-family: Tahoma, Arial, Helvetica, sans-serif;
+ font-weight: bold;
+ font-size: 12px;
+}
+
+td.seam-date-header-prevMonth
+{
+ background-image: url("../img/cal-prev.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding: 0px 2px 0px 2px;
+ width: 17px;
+ height: 16px;
+ margin-left: 2px;
+}
+
+td.seam-date-header-nextMonth
+{
+ background-image: url("../img/cal-next.png");
+ background-repeat: no-repeat;
+ background-position: center;
+ padding: 0px 2px 0px 2px;
+ width: 17px;
+ height: 16px;
+ margin-right: 2px;
+}
+
+tr.seam-date-headerDays
+{
+ color: white;
+ font-weight: normal;
+}
+
+tr.seam-date-headerDays > td
+{
+ background-color: #CCCCCC;
+ border: 1px solid #AAAAAA;
+ color: white;
+ text-align: center;
+ width: 26px;
+}
+
+tr.seam-date-footer
+{
+ background-color: white;
+ color: #505050;
+ font-weight: bold;
+}
+
+tr.seam-date-footer > td
+{
+ text-align: center;
+}
+
+td.seam-date-inMonth
+{
+ background-color: white;
+ color: black;
+ font-weight: normal;
+ cursor: pointer;
+ border: 1px solid #ece9d8;
+}
+
+td.seam-date-outMonth
+{
+ background-color: white;
+ color: #999999;
+ font-weight: normal;
+ cursor: pointer;
+ border: 1px solid #ece9d8;
+}
+
+td.seam-date-selected
+{
+ background-color: #CCCCCC;
+ border: 1px solid #AAAAAA;
+ color: black;
+ font-weight: normal;
+}
+
+td.seam-date-dayOff-inMonth
+{
+ background-color: #efefef;
+ color: black;
+ font-weight: normal;
+ cursor: pointer;
+ border: 1px solid #ece9d8;
+}
+
+td.seam-date-dayOff-outMonth
+{
+ background-color: #efefef;
+ color: #999999;
+ font-weight: normal;
+ cursor: pointer;
+ border: 1px solid #ece9d8;
+}
+
+td.seam-date-hover
+{
+ background-color: #CCCCCC;
+ border: 1px solid #AAAAAA;
+ cursor: pointer;
+ color: red;
+}
\ No newline at end of file
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java 2008-02-14 01:13:15 UTC (rev 6306)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/JsfAllTests.java 2008-02-14 08:25:17 UTC (rev 6307)
@@ -24,6 +24,7 @@
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JsfJbide1501Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JsfJbide1548Test;
import org.jboss.tools.jsf.vpe.jsf.test.jbide.JsfJbide1568Test;
+import org.jboss.tools.jsf.vpe.jsf.test.perfomance.PerfomanceTest;
import org.jboss.tools.vpe.ui.test.VpeTestSetup;
import org.jboss.tools.vpe.ui.test.beans.ImportBean;
@@ -49,6 +50,8 @@
suite.addTestSuite(JBIDE1615Test.class);
suite.addTestSuite(JBIDE1479Test.class);
suite.addTestSuite(JBIDE788Test.class);
+
+
// $JUnit-END$
//added by Max Areshkau
//add here projects which should be imported for junit tests
@@ -57,7 +60,15 @@
importBean.setImportProjectName(JsfComponentTest.IMPORT_PROJECT_NAME);
importBean.setImportProjectPath(JsfTestPlugin.getPluginResourcePath());
projectToImport.add(importBean);
- return new VpeTestSetup(suite,projectToImport);
+
+ // Perfomance Tests
+ suite.addTestSuite(PerfomanceTest.class);
+ ImportBean importPerfomanceBean = new ImportBean();
+ importPerfomanceBean.setImportProjectName(PerfomanceTest.IMPORT_PROJECT_NAME);
+ importPerfomanceBean.setImportProjectPath(JsfTestPlugin.getPluginResourcePath());
+ projectToImport.add(importPerfomanceBean);
+
+ return new VpeTestSetup(suite,projectToImport);
}
Added: trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/perfomance/PerfomanceTest.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/perfomance/PerfomanceTest.java (rev 0)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.jsf.test/src/org/jboss/tools/jsf/vpe/jsf/test/perfomance/PerfomanceTest.java 2008-02-14 08:25:17 UTC (rev 6307)
@@ -0,0 +1,262 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.jsf.vpe.jsf.test.perfomance;
+
+import java.util.Random;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.swt.custom.StyledText;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.ui.progress.UIJob;
+import org.jboss.tools.jst.jsp.jspeditor.JSPMultiPageEditor;
+import org.jboss.tools.vpe.ui.test.TestUtil;
+import org.jboss.tools.vpe.ui.test.VpeTest;
+
+/**
+ *
+ * @author dsakovich(a)exadel.com
+ *
+ * Perfomance tests for JBIDE-1619
+ *
+ */
+public class PerfomanceTest extends VpeTest {
+
+ public static final String IMPORT_PROJECT_NAME = "perfomanceTest";
+
+ private static final String TEST_PAGE_NAME = "employee.xhtml";
+ private static final String TEST_PAGE1_NAME = "home.xhtml";
+ private static final String TEST_PAGE2_NAME = "addEmployee.xhtml";
+ private static final String TEST_PAGE3_NAME = "pdataEdit.xhtml";
+
+ private static final String ANY_TAG = "<h:outputText value=\"Any Text\"/>";
+
+ public PerfomanceTest(String name) {
+ super(name);
+ setCheckWarning(false);
+ }
+
+ /**
+ * Test jbide-1105
+ *
+ * @throws Throwable
+ */
+ public void testJBIDE1105() throws Throwable {
+ // wait
+ TestUtil.waitForJobs();
+ setException(null);
+ // get test page path
+ IFile file = (IFile) TestUtil.getWebContentPath(TEST_PAGE_NAME,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + TEST_PAGE_NAME, file);
+
+ IEditorInput input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+
+ TestUtil.waitForJobs();
+ final JSPMultiPageEditor parts = openEditor(input);
+ TestUtil.delay(1000L);
+ assertNotNull(parts);
+
+ Job job = new UIJob("Test JBIDE-1105") {
+ @Override
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ StyledText styledText = parts.getSourceEditor().getTextViewer()
+ .getTextWidget();
+ String delimiter = styledText.getLineDelimiter();
+ for (int i = 0; i < 20; i++) {
+ int offset = styledText.getOffsetAtLine(21);
+ styledText.setCaretOffset(offset - delimiter.length());
+ styledText.insert(delimiter);
+ TestUtil.delay(500L);
+ }
+ return Status.OK_STATUS;
+ }
+
+ };
+ job.setPriority(Job.SHORT);
+ job.schedule(0L);
+ TestUtil.delay(1000L);
+ TestUtil.waitForJobs();
+
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .closeAllEditors(false);
+
+ if (getException() != null) {
+ throw getException();
+ }
+ }
+
+ /**
+ * Testing work with big project
+ *
+ * @throws Throwable
+ */
+ public void testWorkWithBigProject() throws Throwable {
+ // wait
+ TestUtil.waitForJobs();
+ setException(null);
+ // get test page path
+ IFile file = (IFile) TestUtil.getWebContentPath(TEST_PAGE1_NAME,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + TEST_PAGE1_NAME, file);
+
+ IEditorInput input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+
+ JSPMultiPageEditor parts = openEditor(input);
+ assertNotNull(parts);
+
+ TestUtil.delay(5000L);
+ TestUtil.waitForJobs();
+
+ // //////////////////////
+
+ file = (IFile) TestUtil.getWebContentPath(TEST_PAGE_NAME,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + TEST_PAGE_NAME, file);
+
+ input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+
+ parts = openEditor(input);
+ assertNotNull(parts);
+ TestUtil.delay(5000L);
+ TestUtil.waitForJobs();
+ // //////////////////////
+ file = (IFile) TestUtil.getWebContentPath(TEST_PAGE2_NAME,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + TEST_PAGE2_NAME, file);
+
+ input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+
+ parts = openEditor(input);
+ assertNotNull(parts);
+ TestUtil.delay(5000L);
+ TestUtil.waitForJobs();
+ // //////////////////////
+ file = (IFile) TestUtil.getWebContentPath(TEST_PAGE3_NAME,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + TEST_PAGE3_NAME, file);
+
+ input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+
+ parts = openEditor(input);
+ assertNotNull(parts);
+ TestUtil.delay(5000L);
+ TestUtil.waitForJobs();
+
+ // ///////////////////////
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .closeAllEditors(false);
+
+ if (getException() != null) {
+ throw getException();
+ }
+ }
+
+ /**
+ * Testing work with big jsf page
+ *
+ * @throws Throwable
+ */
+ public void testWorkWithBigFiles() throws Throwable {
+ // wait
+ TestUtil.waitForJobs();
+ setException(null);
+ // Test page
+ pageTest(TEST_PAGE_NAME, "test - work VPE with large files");
+
+ if (getException() != null) {
+ throw getException();
+ }
+ }
+
+ /**
+ *
+ * @param pageName
+ * @param testName
+ * @throws CoreException
+ */
+ private void pageTest(String pageName, String testName)
+ throws CoreException {
+
+ IFile file = (IFile) TestUtil.getWebContentPath(pageName,
+ IMPORT_PROJECT_NAME);
+
+ assertNotNull("Could not open specified file " + TEST_PAGE_NAME, file);
+
+ IEditorInput input = new FileEditorInput(file);
+
+ assertNotNull("Editor input is null", input);
+
+ TestUtil.waitForJobs();
+ final JSPMultiPageEditor parts = openEditor(input);
+ TestUtil.delay(2000L);
+ assertNotNull(parts);
+
+ Job job = new UIJob(testName) {
+ @Override
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ StyledText styledText = parts.getSourceEditor().getTextViewer()
+ .getTextWidget();
+ String delimiter = styledText.getLineDelimiter();
+ int offset = styledText.getOffsetAtLine(21);
+ styledText.setCaretOffset(offset);
+ // Add any tag in source
+ for (int i = 0; i < ANY_TAG.length(); i++) {
+ styledText.insert(String.valueOf(ANY_TAG.charAt(i)));
+ offset++;
+ styledText.setCaretOffset(offset);
+ TestUtil.delay(200);
+ }
+ styledText.insert(delimiter);
+ // Add any text(newline) in text
+ Random random = new Random();
+ for (int i = 0; i < 20; i++) {
+ int line = random.nextInt(styledText.getLineCount());
+ offset = styledText.getOffsetAtLine(line);
+ styledText.setCaretOffset(offset - delimiter.length());
+ styledText.insert(delimiter);
+ TestUtil.delay(500L);
+ }
+ return Status.OK_STATUS;
+ }
+
+ };
+ job.setPriority(Job.SHORT);
+ job.schedule(0L);
+ TestUtil.delay(1000L);
+ TestUtil.waitForJobs();
+ PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+ .closeAllEditors(false);
+
+ }
+
+}
Modified: trunk/jsf/tests/org.jboss.tools.jsf.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/TestUtil.java
===================================================================
--- trunk/jsf/tests/org.jboss.tools.jsf.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/TestUtil.java 2008-02-14 01:13:15 UTC (rev 6306)
+++ trunk/jsf/tests/org.jboss.tools.jsf.vpe.ui.test/src/org/jboss/tools/vpe/ui/test/TestUtil.java 2008-02-14 08:25:17 UTC (rev 6307)
@@ -36,157 +36,177 @@
*
*/
public class TestUtil {
-
- private static final String COMPONENTS_PATH = "WebContent/pages"; // $NON-NLS-1$
- @SuppressWarnings("restriction")
- static void importProjectIntoWorkspace(String path,String projectName) {
+ private static final String COMPONENTS_PATH = "WebContent/pages"; // $NON-NLS-1$
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
- projectName);
+ private static final String WEBCONTENT_PATH = "WebContent"; // $NON-NLS-1$
- try {
+ @SuppressWarnings("restriction")
+ static void importProjectIntoWorkspace(String path, String projectName) {
- IOverwriteQuery overwrite = new IOverwriteQuery() {
- public String queryOverwrite(String pathString) {
- return ALL;
- }
- };
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
+ projectName);
- ImportProvider importProvider = new ImportProvider();
+ try {
- // need to remove from imported project "svn" files
- List<String> unimportedFiles = new ArrayList<String>();
- unimportedFiles.add(".svn");
+ IOverwriteQuery overwrite = new IOverwriteQuery() {
+ public String queryOverwrite(String pathString) {
+ return ALL;
+ }
+ };
- importProvider.setUnimportedFiles(unimportedFiles);
+ ImportProvider importProvider = new ImportProvider();
- // create import operation
- ImportOperation importOp = new ImportOperation(project
- .getFullPath(), new File(path), importProvider, overwrite);
+ // need to remove from imported project "svn" files
+ List<String> unimportedFiles = new ArrayList<String>();
+ unimportedFiles.add(".svn");
- // import files just to project folder ( without old structure )
- importOp.setCreateContainerStructure(false);
+ importProvider.setUnimportedFiles(unimportedFiles);
- importOp.setContext(PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getShell());
+ // create import operation
+ ImportOperation importOp = new ImportOperation(project
+ .getFullPath(), new File(path), importProvider, overwrite);
- // run import
- importOp.run(new NullProgressMonitor());
+ // import files just to project folder ( without old structure )
+ importOp.setCreateContainerStructure(false);
- } catch (InvocationTargetException ite) {
- VPETestPlugin.getDefault().logError(ite.getCause());
- } catch (InterruptedException ie) {
- VPETestPlugin.getDefault().logError(ie);
- }
+ importOp.setContext(PlatformUI.getWorkbench()
+ .getActiveWorkbenchWindow().getShell());
+
+ // run import
+ importOp.run(new NullProgressMonitor());
+
+ } catch (InvocationTargetException ite) {
+ VPETestPlugin.getDefault().logError(ite.getCause());
+ } catch (InterruptedException ie) {
+ VPETestPlugin.getDefault().logError(ie);
}
+ }
- /**
- *
- * @return
- * @throws CoreException
- */
- public static IResource getComponentPath(String componentPage,String projectName)
- throws CoreException {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
- projectName);
- if (project != null) {
- return project.getFolder(COMPONENTS_PATH).findMember(componentPage);
+ /**
+ *
+ * @return
+ * @throws CoreException
+ */
+ public static IResource getComponentPath(String componentPage,
+ String projectName) throws CoreException {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
+ projectName);
+ if (project != null) {
+ return project.getFolder(COMPONENTS_PATH).findMember(componentPage);
- }
-
- return null;
}
- /**
- *
- * @throws CoreException
- */
- static void removeProject(String projectName) throws CoreException {
- IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
- projectName);
- if (project != null) {
- project.delete(IResource.ALWAYS_DELETE_PROJECT_CONTENT,
- new NullProgressMonitor());
- }
+ return null;
+ }
+
+ /**
+ *
+ * @return
+ * @throws CoreException
+ */
+ public static IResource getWebContentPath(String componentPage,
+ String projectName) throws CoreException {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
+ projectName);
+ if (project != null) {
+ return project.getFolder(WEBCONTENT_PATH).findMember(componentPage);
}
- /**
- * Process UI input but do not return for the specified time interval.
- *
- * @param waitTimeMillis
- * the number of milliseconds
- */
- public static void delay(long waitTimeMillis) {
- Display display = Display.getCurrent();
- if (display != null) {
- long endTimeMillis = System.currentTimeMillis() + waitTimeMillis;
- while (System.currentTimeMillis() < endTimeMillis) {
- if (!display.readAndDispatch())
- display.sleep();
- }
- display.update();
- }
- // Otherwise, perform a simple sleep.
- else {
- try {
- Thread.sleep(waitTimeMillis);
- } catch (InterruptedException e) {
- // Ignored.
- }
- }
+ return null;
+ }
+
+ /**
+ *
+ * @throws CoreException
+ */
+ static void removeProject(String projectName) throws CoreException {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(
+ projectName);
+ if (project != null) {
+ project.delete(IResource.ALWAYS_DELETE_PROJECT_CONTENT,
+ new NullProgressMonitor());
}
+ }
- /**
- * Wait until all background tasks are complete.
- */
- public static void waitForJobs() {
- while (Job.getJobManager().currentJob() != null)
- delay(100);
+ /**
+ * Process UI input but do not return for the specified time interval.
+ *
+ * @param waitTimeMillis
+ * the number of milliseconds
+ */
+ public static void delay(long waitTimeMillis) {
+ Display display = Display.getCurrent();
+ if (display != null) {
+ long endTimeMillis = System.currentTimeMillis() + waitTimeMillis;
+ while (System.currentTimeMillis() < endTimeMillis) {
+ if (!display.readAndDispatch())
+ display.sleep();
+ }
+ display.update();
}
-
- /**
- * find elements by name
- *
- * @param node -
- * current node
- * @param elements -
- * list of found elements
- * @param name -
- * name element
- */
- static public void findElementsByName(nsIDOMNode node, List<nsIDOMNode> elements,
- String name) {
+ // Otherwise, perform a simple sleep.
+ else {
+ try {
+ Thread.sleep(waitTimeMillis);
+ } catch (InterruptedException e) {
+ // Ignored.
+ }
+ }
+ }
- // get children
- nsIDOMNodeList children = node.getChildNodes();
- for (int i = 0; i < children.getLength(); i++) {
- nsIDOMNode child = children.item(i);
+ /**
+ * Wait until all background tasks are complete.
+ */
+ public static void waitForJobs() {
+ while (Job.getJobManager().currentJob() != null)
+ delay(100);
+ }
- // if current child is required then add his to list
- if (name.equalsIgnoreCase((child.getNodeName()))) {
+ /**
+ * find elements by name
+ *
+ * @param node -
+ * current node
+ * @param elements -
+ * list of found elements
+ * @param name -
+ * name element
+ */
+ static public void findElementsByName(nsIDOMNode node,
+ List<nsIDOMNode> elements, String name) {
- elements.add(child);
+ // get children
+ nsIDOMNodeList children = node.getChildNodes();
+ for (int i = 0; i < children.getLength(); i++) {
+ nsIDOMNode child = children.item(i);
- } else {
+ // if current child is required then add his to list
+ if (name.equalsIgnoreCase((child.getNodeName()))) {
- findElementsByName(child, elements, name);
+ elements.add(child);
- }
- }
+ } else {
+ findElementsByName(child, elements, name);
+
+ }
}
-
- static public List<ImportBean> createImportBeanList(String projectName, String resourcePath) {
- List<ImportBean> projectToImport = new ArrayList<ImportBean>();
- projectToImport.add(createImportBean(projectName,resourcePath));
- return projectToImport;
- }
-
- static public ImportBean createImportBean(String projectName, String resourcePath) {
- ImportBean importBean = new ImportBean();
- importBean.setImportProjectName(projectName);
- importBean.setImportProjectPath(resourcePath);
- return importBean;
- }
+
+ }
+
+ static public List<ImportBean> createImportBeanList(String projectName,
+ String resourcePath) {
+ List<ImportBean> projectToImport = new ArrayList<ImportBean>();
+ projectToImport.add(createImportBean(projectName, resourcePath));
+ return projectToImport;
+ }
+
+ static public ImportBean createImportBean(String projectName,
+ String resourcePath) {
+ ImportBean importBean = new ImportBean();
+ importBean.setImportProjectName(projectName);
+ importBean.setImportProjectPath(resourcePath);
+ return importBean;
+ }
}
16 years, 4 months
JBoss Tools SVN: r6306 - trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el.
by jbosstools-commits@lists.jboss.org
Author: akazakov
Date: 2008-02-13 20:13:15 -0500 (Wed, 13 Feb 2008)
New Revision: 6306
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/TypeInfoCollector.java
Log:
JBIDE-999 Added handling of parameted types like List<String>
Modified: trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/TypeInfoCollector.java
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/TypeInfoCollector.java 2008-02-13 20:20:43 UTC (rev 6305)
+++ trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/el/TypeInfoCollector.java 2008-02-14 01:13:15 UTC (rev 6306)
@@ -9,7 +9,8 @@
import java.util.TreeSet;
import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.jdt.core.ICompletionRequestor;
+import org.eclipse.jdt.core.CompletionProposal;
+import org.eclipse.jdt.core.CompletionRequestor;
import org.eclipse.jdt.core.IField;
import org.eclipse.jdt.core.IJavaElement;
import org.eclipse.jdt.core.IMember;
@@ -17,7 +18,7 @@
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.ITypeHierarchy;
import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.compiler.IProblem;
+import org.eclipse.jdt.core.Signature;
import org.jboss.tools.common.model.util.EclipseJavaUtil;
import org.jboss.tools.seam.core.SeamCorePlugin;
@@ -220,7 +221,8 @@
public IType getReturnType() {
try {
- return getSourceType().getJavaProject().findType(getReturnTypeQualifiedName());
+ IType result = getSourceType().getJavaProject().findType(getReturnTypeQualifiedName());
+ return result;
} catch (JavaModelException e) {
SeamCorePlugin.getPluginLog().logError(e);
return null;
@@ -305,128 +307,57 @@
}
}
}
-
- ICompletionRequestor fRequestor = new ICompletionRequestor() {
-
- public void acceptAnonymousType(
- char[] superTypePackageName,
- char[] superTypeName,
- char[][] parameterPackageNames,
- char[][] parameterTypeNames,
- char[][] parameterNames, char[] completionName,
- int modifiers, int completionStart,
- int completionEnd, int relevance) {
-
- }
- public void acceptClass(char[] packageName,
- char[] className, char[] completionName,
- int modifiers, int completionStart,
- int completionEnd, int relevance) {
-
- }
+ CompletionRequestor fRequestor = new CompletionRequestor() {
- public void acceptError(IProblem error) {
-
- }
+ @Override
+ public void accept(CompletionProposal proposal) {
+ switch(proposal.getKind()) {
+ case CompletionProposal.FIELD_REF:
+ {
+ char[] declarationSignature = proposal.getDeclarationSignature();
+ char[] signature = proposal.getSignature();
+ String type = String.valueOf(Signature.toCharArray(signature));
+ String declarationType = String.valueOf(Signature.toCharArray(declarationSignature));
+ FieldInfo info = new FieldInfo(TypeInfoCollector.this.fType,
+ declarationType,
+ String.valueOf(proposal.getName()), proposal.getFlags(),
+ type);
+ fFields.add(info);
+ }
+ break;
+ case CompletionProposal.METHOD_REF:
+ {
+ char[][] parameterNames = proposal.findParameterNames(null);
+ char[] declarationSignature = proposal.getDeclarationSignature();
+ char[] signature = proposal.getSignature();
+ char[][] parametesSignatures = Signature.getParameterTypes(signature);
+ String returnType = String.valueOf(Signature.toCharArray(Signature.getReturnType(signature)));
+ String declarationType = String.valueOf(Signature.toCharArray(declarationSignature));
- public void acceptField(
- char[] declaringTypePackageName,
- char[] declaringTypeName, char[] name,
- char[] typePackageName, char[] typeName,
- char[] completionName, int modifiers,
- int completionStart, int completionEnd,
- int relevance) {
-
- FieldInfo info = new FieldInfo(TypeInfoCollector.this.fType,
- getQualifiedClassNameFromChars(declaringTypePackageName, declaringTypeName),
- String.valueOf(name), modifiers,
- getQualifiedClassNameFromChars(typePackageName, typeName));
- fFields.add(info);
+ MethodInfo info = new MethodInfo(TypeInfoCollector.this.fType,
+ declarationType,
+ String.valueOf(proposal.getName()), proposal.getFlags(),
+ getQualifiedClassNameFromCharArray(parametesSignatures),
+ convertToStringArray(parameterNames),
+ returnType);
+ fMethods.add(info);
+ }
+ break;
+ case CompletionProposal.KEYWORD:
+ case CompletionProposal.PACKAGE_REF:
+ case CompletionProposal.TYPE_REF:
+ case CompletionProposal.METHOD_DECLARATION:
+ case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
+ case CompletionProposal.LABEL_REF :
+ case CompletionProposal.LOCAL_VARIABLE_REF:
+ case CompletionProposal.VARIABLE_DECLARATION:
+ case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
+ break;
+ }
}
-
- public void acceptInterface(char[] packageName,
- char[] interfaceName, char[] completionName,
- int modifiers, int completionStart,
- int completionEnd, int relevance) {
- }
-
- public void acceptKeyword(char[] keywordName,
- int completionStart, int completionEnd,
- int relevance) {
-
- }
-
- public void acceptLabel(char[] labelName,
- int completionStart, int completionEnd,
- int relevance) {
- }
-
- public void acceptLocalVariable(char[] name,
- char[] typePackageName, char[] typeName,
- int modifiers, int completionStart,
- int completionEnd, int relevance) {
- }
-
- public void acceptMethod(
- char[] declaringTypePackageName,
- char[] declaringTypeName, char[] selector,
- char[][] parameterPackageNames,
- char[][] parameterTypeNames,
- char[][] parameterNames,
- char[] returnTypePackageName,
- char[] returnTypeName, char[] completionName,
- int modifiers, int completionStart,
- int completionEnd, int relevance) {
-
- MethodInfo info = new MethodInfo(TypeInfoCollector.this.fType,
- getQualifiedClassNameFromChars(declaringTypePackageName, declaringTypeName),
- String.valueOf(selector), modifiers,
- getQualifiedClassNameFromCharArray(parameterPackageNames, parameterTypeNames),
- convertToStringArray(parameterNames),
- getQualifiedClassNameFromChars(returnTypePackageName, returnTypeName));
- fMethods.add(info);
- }
-
- public void acceptMethodDeclaration(
- char[] declaringTypePackageName,
- char[] declaringTypeName, char[] selector,
- char[][] parameterPackageNames,
- char[][] parameterTypeNames,
- char[][] parameterNames,
- char[] returnTypePackageName,
- char[] returnTypeName, char[] completionName,
- int modifiers, int completionStart,
- int completionEnd, int relevance) {
- }
-
- public void acceptModifier(char[] modifierName,
- int completionStart, int completionEnd,
- int relevance) {
-
- }
-
- public void acceptPackage(char[] packageName,
- char[] completionName, int completionStart,
- int completionEnd, int relevance) {
-
- }
-
- public void acceptType(char[] packageName,
- char[] typeName, char[] completionName,
- int completionStart, int completionEnd,
- int relevance) {
-
- }
-
- public void acceptVariableName(char[] typePackageName,
- char[] typeName, char[] name,
- char[] completionName, int completionStart,
- int completionEnd, int relevance) {
- }
-
};
-
+
public TypeInfoCollector(IType type) {
this.fType = type;
}
@@ -775,7 +706,17 @@
}
return sNames;
}
-
+
+ static String[] getClassNameFromCharArray (char[][] packageNames, char[][] classNames) {
+ if (packageNames == null || packageNames.length == 0)
+ return new String[0];
+ String[] qualifiedNames = new String[packageNames.length];
+ for (int i = 0; i < qualifiedNames.length; i++) {
+ qualifiedNames[i] = getQualifiedClassNameFromChars(packageNames[i], classNames[i]);
+ }
+ return qualifiedNames;
+ }
+
static String[] getQualifiedClassNameFromCharArray (char[][] packageNames, char[][] classNames) {
if (packageNames == null || packageNames.length == 0)
return new String[0];
@@ -786,6 +727,16 @@
return qualifiedNames;
}
+ static String[] getQualifiedClassNameFromCharArray(char[][] signatureTypes) {
+ if (signatureTypes == null || signatureTypes.length == 0)
+ return new String[0];
+ String[] qualifiedTypes = new String[signatureTypes.length];
+ for (int i = 0; i < signatureTypes.length; i++) {
+ qualifiedTypes[i] = String.valueOf(Signature.toCharArray(signatureTypes[i]));
+ }
+ return qualifiedTypes;
+ }
+
public static String getQualifiedClassNameFromChars (char[] packageName, char[] className) {
StringBuffer qualifiedName = new StringBuffer();
if (packageName != null && packageName.length > 0)
@@ -801,5 +752,4 @@
qualifiedName.append(className);
return qualifiedName.toString();
}
-
-}
+}
\ No newline at end of file
16 years, 4 months
JBoss Tools SVN: r6305 - in trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp: util and 1 other directory.
by jbosstools-commits@lists.jboss.org
Author: mareshkau
Date: 2008-02-13 15:20:43 -0500 (Wed, 13 Feb 2008)
New Revision: 6305
Modified:
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPMultiPageEditor.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/SourceEditorPageContext.java
trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/util/XmlUtil.java
Log:
http://jira.jboss.com/jira/browse/JBIDE-788
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPMultiPageEditor.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPMultiPageEditor.java 2008-02-13 17:24:27 UTC (rev 6304)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/JSPMultiPageEditor.java 2008-02-13 20:20:43 UTC (rev 6305)
@@ -644,15 +644,10 @@
}
public VpeTaglibManager getTaglibManager() {
- if (visualEditor != null) {
- IVisualController controller = visualEditor.getController();
- if (controller != null) {
- IVisualContext context = controller.getPageContext();
- if (context != null) {
- if(context instanceof VpeTaglibManager)
- return (VpeTaglibManager)context;
- }
- }
+ if(sourceEditor!=null) {
+ if(sourceEditor.getPageContext() instanceof VpeTaglibManager)
+
+ return (VpeTaglibManager)sourceEditor.getPageContext();
}
return null;
}
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/SourceEditorPageContext.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/SourceEditorPageContext.java 2008-02-13 17:24:27 UTC (rev 6304)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/jspeditor/SourceEditorPageContext.java 2008-02-13 20:20:43 UTC (rev 6305)
@@ -78,8 +78,13 @@
* @param iDocument
*/
public void setDocument(IDocument iDocument) {
-
- setTaglibs(XmlUtil.getTaglibsForJSPDocument(iDocument));
+
+ List<TaglibData> taglibs =XmlUtil.getTaglibsForJSPDocument(iDocument);
+ //if we on jsp page we will set taglibs
+ //TODO Max Areshkau Find other passability to check if we on jsp page
+ if(taglibs!=null && taglibs.size()>0) {
+ setTaglibs(XmlUtil.getTaglibsForJSPDocument(iDocument));
+ }
try {
connector = (WtpKbConnector)KbConnectorFactory.getIntstance().createConnector(KbConnectorType.JSP_WTP_KB_CONNECTOR, iDocument);
} catch (InstantiationException e) {
@@ -139,7 +144,7 @@
while (iter.hasNext()) {
TaglibData taglib = (TaglibData)iter.next();
if (!taglib.inList(clone)) {
- clone.add(taglib);
+ clone.add(taglib);
}
}
return clone;
Modified: trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/util/XmlUtil.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/util/XmlUtil.java 2008-02-13 17:24:27 UTC (rev 6304)
+++ trunk/jst/plugins/org.jboss.tools.jst.jsp/src/org/jboss/tools/jst/jsp/util/XmlUtil.java 2008-02-13 20:20:43 UTC (rev 6305)
@@ -31,6 +31,10 @@
import org.xml.sax.InputSource;
public class XmlUtil {
+
+ private static final String XMLNS = "xmlns";
+
+ private static final String XMLNS_WITH_PREFIX = "xmlns:";
public static Element getDocumentElement(String xmlFileName) throws Exception {
FileInputStream inStream = null;
@@ -123,12 +127,18 @@
*/
private static void processAttribute(List<TaglibData> taglibs, Attr attr, boolean bScopePrefix) {
- String startStr = "xmlns:";
String name = attr.getName();
- if (!name.startsWith(startStr)) {
+ if (!name.startsWith(XMLNS)) {
return;
}
- name = name.substring(startStr.length());
+
+ if(XMLNS.equals(name)) {
+
+ name="";
+ } else {
+
+ name=name.substring(XMLNS_WITH_PREFIX.length());
+ }
addTaglib(taglibs , attr.getValue(), name, true, bScopePrefix);
return;
}
16 years, 4 months
JBoss Tools SVN: r6304 - trunk/hibernatetools/docs/reference/en/modules.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2008-02-13 12:24:27 -0500 (Wed, 13 Feb 2008)
New Revision: 6304
Modified:
trunk/hibernatetools/docs/reference/en/modules/codegen.xml
trunk/hibernatetools/docs/reference/en/modules/reverseengineering.xml
Log:
http://jira.jboss.com/jira/browse/JBDS-173 - highlighting code patterns;
http://jira.jboss.com/jira/browse/JBDS-238 - making changes according to Svetlana remarks; replacing tables with new ones with headers
Modified: trunk/hibernatetools/docs/reference/en/modules/codegen.xml
===================================================================
--- trunk/hibernatetools/docs/reference/en/modules/codegen.xml 2008-02-13 17:22:22 UTC (rev 6303)
+++ trunk/hibernatetools/docs/reference/en/modules/codegen.xml 2008-02-13 17:24:27 UTC (rev 6304)
@@ -6,9 +6,10 @@
<property><hbm2java></property>
</emphasis> or the eclipse plugin to generate POJO java code you have the possibility to control
certain aspects of the code generation. This is primarily done through the <emphasis>
- <property><meta></property></emphasis>
- tag in the mapping files. The following section describes the possible <emphasis>
- <property><meta></property></emphasis> tags and their use.</para>
+ <property><meta></property>
+ </emphasis> tag in the mapping files. The following section describes the possible <emphasis>
+ <property><meta></property>
+ </emphasis> tags and their use.</para>
<section>
<title>The <literal><meta></literal> attribute</title>
@@ -33,27 +34,27 @@
<property><meta></property>
</emphasis> attributes and the resulting java code.</para>
- <programlisting><class name="Person">
- <meta attribute="class-description">
+ <programlisting role="XML"><![CDATA[<class name="Person">
+ <meta attribute="class-description">
Javadoc for the Person class
@author Frodo
- </meta>
- <meta attribute="implements">IAuditable</meta>
- <id name="id" type="long">
- <meta attribute="scope-set">protected</meta>
- <generator class="increment"/>
- </id>
- <property name="name" type="string">
- <meta attribute="field-description">The name of the person</meta>
- </property>
-</class></programlisting>
+ </meta>
+ <meta attribute="implements">IAuditable</meta>
+ <id name="id" type="long">
+ <meta attribute="scope-set">protected</meta>
+ <generator class="increment"/>
+ </id>
+ <property name="name" type="string">
+ <meta attribute="field-description">The name of the person</meta>
+ </property>
+</class>]]></programlisting>
<para>The above <emphasis>
<property>hbm.xml</property>
</emphasis> will produce something like the following (code shortened for better
understanding). Notice the Javadoc comment and the protected set methods:</para>
- <programlisting>// default package
+ <programlisting role="JAVA"><![CDATA[// default package
import java.io.Serializable;
import org.apache.commons.lang.builder.EqualsBuilder;
@@ -96,13 +97,13 @@
this.name = name;
}
-}</programlisting>
+}]]></programlisting>
<table frame="topbot">
<title>Supported meta tags</title>
<tgroup cols="2">
- <colspec colwidth="1.5*"/>
+ <colspec colwidth="1.0*"/>
<colspec colwidth="2*"/>
@@ -270,8 +271,8 @@
attribute="implements">IAuditable</meta></emphasis> in the top of the <emphasis>
<property>hbm.xml</property>
</emphasis> file, just after <emphasis>
- <property><hibernate-mapping></property>
- </emphasis>. Now all classes defined in that <emphasis>
+ <property><hibernate-mapping></property>. </emphasis> Now all classes defined
+ in that <emphasis>
<property>hbm.xml</property>
</emphasis> file will implement <literal>IAuditable</literal>!</para>
@@ -306,48 +307,47 @@
<para>If we have two entities with a bi-directional association between them and define at
class scope level the meta attributes: <emphasis>
- <property>use-in-string</property>
- </emphasis>, <emphasis>
- <property>use-in-equals</property>
- </emphasis>:</para>
+ <property>use-in-string</property>, </emphasis>
+ <emphasis>
+ <property>use-in-equals</property>: </emphasis></para>
- <programlisting><hibernate-mapping>
- <class name="Person">
- <meta attribute="use-in-tostring">true</meta>
- <meta attribute="use-in-equals">true</meta>
+ <programlisting role="XML"><![CDATA[<hibernate-mapping>
+ <class name="Person">
+ <meta attribute="use-in-tostring">true</meta>
+ <meta attribute="use-in-equals">true</meta>
...
- </class>
-</hibernate-mapping></programlisting>
+ </class>
+</hibernate-mapping>]]></programlisting>
<para>And for <emphasis>
<property>Event.hbm</property>
</emphasis> file:</para>
- <programlisting><hibernate-mapping>
- <class name="events.Event" table="EVENTS">
- <meta attribute="use-in-tostring">true</meta>
- <meta attribute="use-in-equals">true</meta>
- <id name="id" column="EVENT_ID">
- <generator class="native"/>
- </id>
- <property name="date" type="timestamp" column="EVENT_DATE"/>
- <property name="title"/>
- <set name="participants" table="PERSON_EVENT" inverse="true">
- <key column="EVENT_ID"/>
- <many-to-many column="PERSON_ID" class="events.Person"/>
- </set>
- </class>
-</hibernate-mapping></programlisting>
+ <programlisting role="XML"><![CDATA[<hibernate-mapping>
+ <class name="events.Event" table="EVENTS">
+ <meta attribute="use-in-tostring">true</meta>
+ <meta attribute="use-in-equals">true</meta>
+ <id name="id" column="EVENT_ID">
+ <generator class="native"/>
+ </id>
+ <property name="date" type="timestamp" column="EVENT_DATE"/>
+ <property name="title"/>
+ <set name="participants" table="PERSON_EVENT" inverse="true">
+ <key column="EVENT_ID"/>
+ <many-to-many column="PERSON_ID" class="events.Person"/>
+ </set>
+ </class>
+</hibernate-mapping>]]></programlisting>
<para>Then <emphasis>
<property><hbm2java></property>
</emphasis> will assume you want to include all properties and collections in the
- <property>toString()</property>/<property>equals()</property> methods and this can
- result in infinite recursive calls.</para>
+ <property>toString()/equals()</property> methods and this can result in infinite
+ recursive calls.</para>
<para>To remedy this you have to decide which side of the association will include the other
- part (if at all) in the <property>toString()/equals()</property>
- methods. Therefore it is not a good practice to put at class scope such <emphasis>
+ part (if at all) in the <property>toString()/equals()</property> methods. Therefore it is
+ not a good practice to put at class scope such <emphasis>
<property>meta</property>
</emphasis> attributes, unless you are defining a class without bi-directional
associations.</para>
@@ -356,54 +356,54 @@
<property>meta</property>
</emphasis> attributes at the property level:</para>
- <programlisting><hibernate-mapping>
- <class name="events.Event" table="EVENTS">
- <id name="id" column="EVENT_ID">
- <meta attribute="use-in-tostring">true</meta>
- <generator class="native"/>
- </id>
- <property name="date" type="timestamp" column="EVENT_DATE"/>
- <property name="title">
- <meta attribute="use-in-tostring">true</meta>
- <meta attribute="use-in-equals">true</meta>
- </property>
- <set name="participants" table="PERSON_EVENT" inverse="true">
- <key column="EVENT_ID"/>
- <many-to-many column="PERSON_ID" class="events.Person"/>
- </set>
- </class>
-</hibernate-mapping></programlisting>
+ <programlisting role="XML"><![CDATA[<hibernate-mapping>
+ <class name="events.Event" table="EVENTS">
+ <id name="id" column="EVENT_ID">
+ <meta attribute="use-in-tostring">true</meta>
+ <generator class="native"/>
+ </id>
+ <property name="date" type="timestamp" column="EVENT_DATE"/>
+ <property name="title">
+ <meta attribute="use-in-tostring">true</meta>
+ <meta attribute="use-in-equals">true</meta>
+ </property>
+ <set name="participants" table="PERSON_EVENT" inverse="true">
+ <key column="EVENT_ID"/>
+ <many-to-many column="PERSON_ID" class="events.Person"/>
+ </set>
+ </class>
+</hibernate-mapping>]]></programlisting>
- <para>and now for <literal>Person</literal>:</para>
+ <para>and now for <property>Person</property>:</para>
- <programlisting><hibernate-mapping>
- <class name="Person">
- <meta attribute="class-description">
+ <programlisting role="XML"><![CDATA[<hibernate-mapping>
+ <class name="Person">
+ <meta attribute="class-description">
Javadoc for the Person class
@author Frodo
- </meta>
- <meta attribute="implements">IAuditable</meta>
- <id name="id" type="long">
- <meta attribute="scope-set">protected</meta>
- <meta attribute="use-in-tostring">true</meta>
- <generator class="increment"/>
- </id>
- <property name="name" type="string">
- <meta attribute="field-description">The name of the person</meta>
- <meta attribute="use-in-tostring">true</meta>
- </property>
- </class>
-</hibernate-mapping></programlisting>
+ </meta>
+ <meta attribute="implements">IAuditable</meta>
+ <id name="id" type="long">
+ <meta attribute="scope-set">protected</meta>
+ <meta attribute="use-in-tostring">true</meta>
+ <generator class="increment"/>
+ </id>
+ <property name="name" type="string">
+ <meta attribute="field-description">The name of the person</meta>
+ <meta attribute="use-in-tostring">true</meta>
+ </property>
+ </class>
+</hibernate-mapping>]]></programlisting>
</section>
<section>
<title>Be aware of putting at class scope level <literal><meta></literal>
attribute <literal>use-in-equals</literal></title>
- <para>For <property>equal()/hashCode()</property> method generation,
- you have to take into account that the attributes that participate on such method
- definition, should take into account only attributes with business meaning (the name,
- social security number, etc, but no generated id's, for example).</para>
+ <para>For <property>equal()/hashCode()</property> method generation, you have to take into
+ account that the attributes that participate on such method definition, should take into
+ account only attributes with business meaning (the name, social security number, etc, but
+ no generated id's, for example).</para>
<para>This is important because Java's hashbased collections, such as
<property>java.util.Set</property> relies on <property>equals()</property> and
@@ -411,19 +411,21 @@
this can be a problem if the id gets assigned for an object after you inserted it into a
set.</para>
- <para>Therefore automatically configuration the generation of
- <property>equals()/hashCode()</property> methods specifying at class scope level the <emphasis>
+ <para>Therefore automatically configuration of the generation of
+ <property>equals()/hashCode()</property> methods specifying at class scope level the <emphasis>
<property><meta></property>
- </emphasis> attribute <emphasis><property>use-in-equals</property></emphasis> could be a dangerous decision that
- could produce non expected side-effect.</para>
+ </emphasis> attribute <emphasis>
+ <property>use-in-equals</property>
+ </emphasis> could be a dangerous decision that could produce non expected side-effect.</para>
<para><ulink url="http://www.hibernate.org/109.html">Here</ulink> you can get more in-depth
- explanation on the subject of <property>equals()</property> and <property>hashcode()</property>.</para>
+ explanation on the subject of <property>equals()</property> and
+ <property>hashcode()</property>.</para>
</section>
</section>
<section>
- <title>Advanced <emphasis><property><meta></property></emphasis> attribute examples</title>
+ <title>Advanced <meta> attribute examples</title>
<para>This section shows an example for using meta attributes (including userspecific
attributes) together with the code generation features in <property>Hibernate
@@ -438,15 +440,14 @@
<para>With an <emphasis> <meta attribute="class-code"></emphasis>, you can add
additional methods on a given class, nevertheless such <emphasis>
<property><meta></property>
- </emphasis> attribute can not be used at property scope level and <property>Hibernate
+ </emphasis> attribute can not be used at a property scope level and <property>Hibernate
Tools</property> does not provide such <emphasis>
<property><meta></property>
</emphasis> attributes.</para>
<para>A possibly solution for this is to modify the freemarker templates responsible for
generating the POJO's. If you look inside <emphasis>
- <property>hibernate-tools.jar</property>
- </emphasis>, you can find the template: <emphasis>
+ <property>hibernate-tools.jar</property>, </emphasis> you can find the template: <emphasis>
<property>pojo/PojoPropertyAccessor.ftl</property>
</emphasis></para>
@@ -455,14 +456,14 @@
<para>Extract the <emphasis>
<property>PojoPropertyAccessor.ftl</property>
</emphasis> into a local folder i.e. <emphasis>
- <property>${hbm.template.path}</property>
- </emphasis>, respecting the whole path, for example: <emphasis>
+ <property>${hbm.template.path}</property>, </emphasis> respecting the whole path, for
+ example: <emphasis>
<property>${hbm.template.path}/pojo/PojoPropertyAccessor.ftl</property>
</emphasis></para>
<para>The contents of the file is something like this:</para>
- <programlisting><#foreach property in pojo.getAllPropertiesIterator()>
+ <programlisting role="XML"><![CDATA[<#foreach property in pojo.getAllPropertiesIterator()>
${pojo.getPropertyGetModifiers(property)}
${pojo.getJavaTypeName(property, jdk5)}
${pojo.getGetterSignature(property)}() {
@@ -474,12 +475,12 @@
{
this.${property.name} = ${property.name};
}
-</#foreach></programlisting>
+</#foreach>]]></programlisting>
<para>We can add conditionally pre/post-conditions on our <literal>set</literal> method
generation just adding a little Freemarker syntax to the above source code:</para>
- <programlisting><#foreach property in pojo.getAllPropertiesIterator()>
+ <programlisting role="XML"><![CDATA[<#foreach property in pojo.getAllPropertiesIterator()>
${pojo.getPropertyGetModifiers(property)}
${pojo.getJavaTypeName(property, jdk5)}
${pojo.getGetterSignature(property)}()
@@ -490,84 +491,87 @@
${pojo.getPropertySetModifiers(property)} void set${pojo.getPropertyName(property)}
(${pojo.getJavaTypeName(property, jdk5)} ${property.name})
{
- <#if pojo.hasMetaAttribute(property, "pre-cond")>
+ <#if pojo.hasMetaAttribute(property, "pre-cond")>
${c2j.getMetaAsString(property, "pre-cond","\n")}
- </#if>
+ </#if>
this.${property.name} = ${property.name};
- <#if pojo.hasMetaAttribute(property, "post-cond")>
+ <#if pojo.hasMetaAttribute(property, "post-cond")>
${c2j.getMetaAsString(property, "post-cond","\n")}
- </#if>
+ </#if>
}
-</#foreach>
+</#foreach>]]>
</programlisting>
<para>Now if in any <emphasis>
- <property>*hbm.xml</property>
+ <property>.hbm.xml</property>
</emphasis> file we define the <emphasis>
<property><meta></property>
</emphasis> attributes: <literal>pre-cond</literal> or <literal>post-cond</literal>, their
contents will be generated into the body of the relevant <literal>set</literal> method.</para>
<para>As an example let us add a pre-condition for property <literal>name</literal>
- preventing no <literal>Person</literal> can have an empty name. So we have to modify the <emphasis>
+ preventing no <property>Person</property> can have an empty name. So we have to modify the <emphasis>
<property>Person.hbm.xml</property>
</emphasis> file like this:</para>
- <programlisting><hibernate-mapping>
- <class name="Person">
- <id name="id" type="long">
- <generator class="increment"/>
- </id>
- <property name="firstName" type="string">
- <meta attribute="pre-cond"><![CDATA[
+ <programlisting role="XML"><![CDATA[<hibernate-mapping>
+ <class name="Person">
+ <id name="id" type="long">
+ <generator class="increment"/>
+ </id>
+ <property name="firstName" type="string">
+ <meta attribute="pre-cond">
if ((firstName != null) && (firstName.length() == 0) ) {
throw new IllegalArgumentException("firstName can not be an empty String");
- }]]>
- </meta>
- </property>
-</class>
-</hibernate-mapping></programlisting>
+ }
+ </meta>
+ </property>
+</class>
+</hibernate-mapping>]]></programlisting>
<note>
- <para>I) If you don'' use <literal><[[CDATA[]]></literal> you have
- to scape the & symbol, i.e.: &amp; </para>
- <para>II). Note that we are referring to "firstName" directly and this is the parameter
+ <para>I) To scape the & symbol we put &amp;. You can use
+ <![CDATA[]]> instead.</para>
+ <para>II) Note that we are referring to "firstName" directly and this is the parameter
name not the actual field name. If you want to refer the field you have to use
"this.firstName" instead. </para>
</note>
- <para>Finally we have to generate the <property>Person.java</property> class, for this we
- can use both Eclipse and Ant as long as you remember to set or fill in the templatepath
- setting. For Ant we configure <emphasis>
+ <para>Finally we have to generate the <emphasis>
+ <property>Person.java</property>
+ </emphasis> class, for this we can use both Eclipse and Ant as long as you remember to set
+ or fill in the templatepath setting. For Ant we configure <emphasis>
<property><hibernatetool></property>
</emphasis> task via <literal>the templatepath</literal> attribute as in:</para>
- <programlisting>
- <target name="hbm2java">
- <taskdef name="hibernatetool"
+ <programlisting role="XML"><![CDATA[
+ <target name="hbm2java">
+ <taskdef name="hibernatetool"
classname="org.hibernate.tool.ant.HibernateToolTask"
- classpathref="lib.classpath"/>
- <hibernatetool destdir="${hbm2java.dest.dir}"
- templatepath="${hbm.template.path}">
- <classpath>
- <path refid="pojo.classpath"/>
- </classpath>
- <configuration>
- <fileset dir="${hbm2java.src.dir}">
- <include name="**/*.hbm.xml"/>
- </fileset>
- </configuration>
- <hbm2java/>
- </hibernatetool>
- </target></programlisting>
+ classpathref="lib.classpath"/>
+ <hibernatetool destdir="${hbm2java.dest.dir}"
+ templatepath="${hbm.template.path}">
+ <classpath>
+ <path refid="pojo.classpath"/>
+ </classpath>
+ <configuration>
+ <fileset dir="${hbm2java.src.dir}">
+ <include name="**/*.hbm.xml"/>
+ </fileset>
+ </configuration>
+ <hbm2java/>
+ </hibernatetool>
+ </target>]]></programlisting>
<para>Invoking the target <emphasis>
<property><hbm2java></property>
</emphasis> will generate on the <emphasis>
<property>${hbm2java.dest.dir}</property>
- </emphasis> the file <property>Person.java</property>:</para>
+ </emphasis> the file <emphasis>
+ <property>Person.java</property>
+ </emphasis>:</para>
- <programlisting>// default package
+ <programlisting role="JAVA"><![CDATA[// default package
import java.io.Serializable;
public class Person implements Serializable {
@@ -600,10 +604,13 @@
}
this.name = name;
}
-}</programlisting>
+}]]></programlisting>
<para/>
</section>
</section>
</section>
+ <para>To find additional information about <property>Hibernate Tools</property> we suggest that you
+ visit our <ulink url="http://www.hibernate.org/255.html">website</ulink>. If you have questions, you are always welcome in our
+ <ulink url="http://forum.hibernate.org/viewforum.php?f=6">forum</ulink>.</para>
</chapter>
Modified: trunk/hibernatetools/docs/reference/en/modules/reverseengineering.xml
===================================================================
--- trunk/hibernatetools/docs/reference/en/modules/reverseengineering.xml 2008-02-13 17:22:22 UTC (rev 6303)
+++ trunk/hibernatetools/docs/reference/en/modules/reverseengineering.xml 2008-02-13 17:24:27 UTC (rev 6304)
@@ -3,10 +3,9 @@
<title>Controlling reverse engineering</title>
<para>When using the <emphasis>
- <property><jdbcconfiguration></property>
- </emphasis> the ant task will read the database metadata and from that will perform a reverse
- engineering of the database schema into a normal Hibernate Configuration. It is from this object
- e.g. <emphasis>
+ <property><jdbcconfiguration></property>, </emphasis> the ant task will read the
+ database metadata and thus will perform a reverse engineering of the database schema into a
+ normal Hibernate Configuration. It is from this object e.g. <emphasis>
<property><hbm2java></property>
</emphasis>can generate other artifacts such as <emphasis>
<property>.java</property>
@@ -22,6 +21,9 @@
not enough, or simply just provide a small part of the strategy and delegate the rest to the
default strategy.</para>
+ <para>Thus, further in this chapter we will discuss how you can configure the process of a reverse
+ engineering, what default reverse engineering strategy includes as well as some custom concepts.</para>
+
<section>
<title>Default reverse engineering strategy</title>
@@ -38,19 +40,20 @@
<property>hibernate.reveng.xml</property>
</emphasis> file can be provided. In this file you can specify type mappings and table
filtering. This file can be created by hand (it's just basic XML) or you can use the
- Hibernate plugins which have a specialized editor.</para>
+ <ulink url="http://www.hibernate.org/30.html">Hibernate plugins</ulink> which have a
+ specialized editor.</para>
<note>
<para>Many databases are case-sensitive with their names and thus if you cannot make some
- table match and you are sure it is not excluded by a <table-filter>then check
+ table match and you are sure it is not excluded by a <table-filter> then check
if the case matches; most databases stores table names in uppercase.</para>
</note>
- <para>The following is an example of a <emphasis>
- <property>reveng.xml</property>
- </emphasis>. Following the example gives you more details about the format.</para>
+ <para>Below you can see an example of a <emphasis>
+ <property>reveng.xml</property>. </emphasis> Following the example gives you more details
+ about the format.</para>
- <programlisting><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+ <programlisting role="XML"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-reverse-engineering
SYSTEM "http://hibernate.sourceforge.net/hibernate-reverse-engineering-3.0.dtd" >
@@ -102,7 +105,7 @@
<para><emphasis>
<property><schema-selection></property>
- </emphasis> is used to drive which schema's the reverse engineering will try and
+ </emphasis> is used to drive which schemas the reverse engineering will try and
process.</para>
<para>By default the reverse engineering will read all schemas and then use <emphasis>
@@ -120,8 +123,7 @@
<note>
<para>If no <literal><schema-selection></literal> is specified, the reverse
engineering works as if all schemas should be processed. This is equal to:
- <![CDATA[<schema-selection/>]]>. Which in turn is equal
- to:
+ <![CDATA[<schema-selection/>]]>. Which in turn is equal to:
<![CDATA[<schema-selection match-catalog=".*" match-schema=".*" match-table=".*"/>]]></para>
</note>
@@ -129,24 +131,24 @@
<title>Examples</title>
<para>The following will process all tables from <emphasis>
- <property>"MY_SCHEMA"</property>
- </emphasis>.</para>
+ <property>"MY_SCHEMA"</property>.
+ </emphasis></para>
- <programlisting><![CDATA[<schema-selection match-schema="MY_SCHEMA"/>]]></programlisting>
+ <programlisting role="XML"><![CDATA[<schema-selection match-schema="MY_SCHEMA"/>]]></programlisting>
<para>It is possible to have multiple <literal>schema-selection</literal>'s to support
multi-schema reading or simply to limit the processing to very specific tables. The
following example processes all tables in <emphasis>
- <property>"MY_SCHEMA"</property>
- </emphasis>, a specific <emphasis>
+ <property>"MY_SCHEMA"</property>,
+ </emphasis> a specific <emphasis>
<property>"CITY"</property>
</emphasis> table plus all tables that starts with <emphasis>
<property>"CODES_"</property>
</emphasis> in <emphasis>
- <property>COMMON_SCHEMA"</property>
- </emphasis>.</para>
+ <property>"COMMON_SCHEMA"</property>.
+ </emphasis></para>
- <programlisting><![CDATA[<schema-selection match-schema="MY_SCHEMA"/>
+ <programlisting role="XML"><![CDATA[<schema-selection match-schema="MY_SCHEMA"/>
<schema-selection match-schema="COMMON_SCHEMA" match-table="CITY"/>
<schema-selection match-schema="COMMON_SCHEMA" match-table="CODES_.*"/>]]></programlisting>
</section>
@@ -158,11 +160,14 @@
<para>The <emphasis>
<property><type-mapping></property>
</emphasis> section specifies how the JDBC types found in the database should be mapped to
- Hibernate types. e.g. java.sql.Types.VARCHAR with a length of 1 should be mapped to the
- Hibernate type <literal>yes_no</literal> or java.sql.Types.NUMERIC should generally just be
+ Hibernate types. e.g. <emphasis>
+ <property>java.sql.Types.VARCHAR</property></emphasis> with a length of 1 should be mapped to the
+ Hibernate type <emphasis>
+ <property>yes_no</property></emphasis> or <emphasis>
+ <property>java.sql.Types.NUMERIC</property></emphasis> should generally just be
converted to the Hibernate type <literal>long</literal>.</para>
- <programlisting><![CDATA[<type-mapping>
+ <programlisting role="XML"><![CDATA[<type-mapping>
<sql-type
jdbc-type="integer value or name from java.sql.Types"
length="a numeric value"
@@ -184,7 +189,7 @@
<para>The following is an example of a type-mapping which shows the flexibility and the
importance of ordering of the type mappings.</para>
- <programlisting><![CDATA[<type-mapping>
+ <programlisting role="XML"><![CDATA[<type-mapping>
<sql-type jdbc-type="NUMERIC" precision="15" hibernate-type="big_decimal"/>
<sql-type jdbc-type="NUMERIC" not-null="true" hibernate-type="long" />
<sql-type jdbc-type="NUMERIC" not-null="false" hibernate-type="java.lang.Long" />
@@ -195,26 +200,27 @@
<sql-type jdbc-type="VARCHAR" hibernate-type="string"/>
</type-mapping>]]></programlisting>
- <para>The following table shows how this affects an example table named CUSTOMER:</para>
+ <para>The following table shows how this affects an example table named <emphasis>
+ <property>CUSTOMER</property>:</emphasis></para>
<table frame="topbot">
<title>sql-type examples</title>
<tgroup cols="7">
- <colspec colwidth="0.5*"/>
+ <colspec colwidth="0.4*"/>
- <colspec colwidth="0.5*"/>
+ <colspec colwidth="0.4*"/>
<colspec colwidth="0.2*"/>
- <colspec colwidth="0.2*"/>
+ <colspec colwidth="0.3*"/>
<colspec colwidth="0.2*"/>
- <colspec colwidth="0.5*"/>
-
<colspec colwidth="1.0*"/>
+ <colspec colwidth="0.7*"/>
+
<thead>
<row>
<entry>Column</entry>
@@ -351,51 +357,83 @@
tables, e.g. let you include or exclude specific tables based on the schema or even a
specific prefix.</para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="tablefilter-matchcatalog"/>
-
- <area coords="3 55" id="tablefilter-matchschema"/>
-
- <area coords="4 55" id="tablefilter-matchname"/>
-
- <area coords="5 55" id="tablefilter-exclude"/>
-
- <area coords="6 55" id="tablefilter-package"/>
- </areaspec>
-
- <programlisting><![CDATA[<table-filter
+ <programlisting role="XML"><![CDATA[<table-filter
match-catalog="catalog_matching_rule"
match-schema="schema_matching_rule"
match-name="table_matching_rule"
exclude="true|false"
package="package.name"
/>]]></programlisting>
-
- <calloutlist>
- <callout arearefs="tablefilter-matchcatalog">
- <para>match-catalog (default: .*): Pattern for matching catalog part of the table</para>
- </callout>
-
- <callout arearefs="tablefilter-matchschema">
- <para>match-schema (default: .*): Pattern for matching schema part of the table</para>
- </callout>
-
- <callout arearefs="tablefilter-matchname">
- <para>match-table (default: .*): Pattern for matching table part of the table</para>
- </callout>
-
- <callout arearefs="tablefilter-exclude">
- <para>exclude (default: false): if true the table will not be part of the reverse
- engineering</para>
- </callout>
-
- <callout arearefs="tablefilter-package">
- <para>package (default: ""): The default package name to use for classes based on tables
- matched by this table-filter</para>
- </callout>
- </calloutlist>
- </programlistingco>
+
+ <table frame="topbot">
+ <title>Table-filter attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Default value</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>match-catalog</para></entry>
+
+ <entry><para>Pattern for matching catalog part of the table</para></entry>
+
+ <entry><para>.*</para></entry>
+ </row>
+
+ <row>
+ <entry><para>match-schema</para></entry>
+
+ <entry><para>Pattern for matching schema part of the table</para></entry>
+
+ <entry><para>.*</para></entry>
+ </row>
+
+ <row>
+ <entry><para>match-table</para></entry>
+
+ <entry><para>Pattern for matching table part of the table</para></entry>
+
+ <entry><para>.*</para></entry>
+ </row>
+
+ <row>
+ <entry><para>exclude </para></entry>
+
+ <entry><para>If true the table will not be part of the reverse
+ engineering</para></entry>
+
+ <entry><para>false</para></entry>
+ </row>
+
+ <row>
+ <entry><para>package</para></entry>
+
+ <entry><para>The default package name to use for classes based on tables
+ matched by this table-filter</para></entry>
+
+ <entry><para>""</para></entry>
+ </row>
+ </tbody>
+
+ </tgroup>
+ </table>
+
</section>
<section>
@@ -404,21 +442,10 @@
<para><emphasis>
<property><table></property>
</emphasis> allows you to provide explicit configuration on how a table should be reverse
- engineered. Amongst other things it allows controlling over the naming of a class for the table,
- specifying which identifier generator should be used for the primary key etc.</para>
+ engineered. Amongst other things it allows controlling over the naming of a class for the
+ table, specifying which identifier generator should be used for the primary key etc.</para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="table-catalog"/>
-
- <area coords="3 55" id="table-schema"/>
-
- <area coords="4 55" id="table-name"/>
-
- <area coords="5 55" id="table-class"/>
- </areaspec>
-
- <programlisting><![CDATA[<table
+ <programlisting role="XML"><![CDATA[<table
catalog="catalog_name"
schema="schema_name"
name="table_name"
@@ -427,75 +454,145 @@
<primary-key.../>
<column.../>
<foreign-key.../>
-</table>]]></programlisting>
+ </table>]]></programlisting>
+
+ <table frame="topbot">
+ <title>Table attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Attribute use</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>catalog</para></entry>
+
+ <entry><para>Catalog name for a table. It has to be specified if you are
+ reverse engineering multiple catalogs or if it is not equal to
+ hiberante.default_catalog.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>schema</para></entry>
+
+ <entry><para>Schema name for a table. It has to be specified if you are
+ reverse engineering multiple schemas or if it is not equal to
+ hiberante.default_schema.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>name</para></entry>
+
+ <entry><para>Name for a table.</para></entry>
+
+ <entry><para>Required</para></entry>
+ </row>
+
+ <row>
+ <entry><para>class</para></entry>
+
+ <entry><para>The class name for a table. Default name is a camelcase version
+ of the table name.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
- <calloutlist>
- <callout arearefs="tablefilter-matchcatalog">
- <para>catalog (Optional): Catalog name for a table. It has to be specified if you are reverse
- engineering multiple catalogs or if it is not equal to
- <literal>hiberante.default_catalog. </literal></para>
- </callout>
-
- <callout arearefs="tablefilter-matchschema">
- <para>schema (Optional): Schema name for a table. It has to be specified if you are reverse
- engineering multiple schemas or if it is not equal to
- <literal>hiberante.default_schema.</literal></para>
- </callout>
-
- <callout arearefs="tablefilter-matchname">
- <para>name (Required): Name for a table</para>
- </callout>
-
- <callout arearefs="tablefilter-exclude">
- <para>clase (Optional): The class name for a table. Default name is a camelcase version of
- the table name.</para>
- </callout>
- </calloutlist>
- </programlistingco>
-
<section>
<title><primary-key></title>
<para>A <emphasis>
<property><primary-key></property>
- </emphasis> allows you to define a primary-key for tables that don't have such defined
- in the database, and probably more importantly it allows you to define which identifier
- strategy should be used (even for already existing primary-key's).</para>
+ </emphasis> allows you to define a primary-key for tables that don't have it
+ defined in the database, and probably more importantly it allows you to define which
+ identifier strategy should be used (even for already existing primary-key's).</para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="pk-generatorclass"/>
-
- <area coords="3 55" id="pk-generatorparam"/>
-
- <area coords="5 55" id="pk-keycolumn"/>
- </areaspec>
-
- <programlisting><![CDATA[<primary-key
+ <programlisting role="XML"><![CDATA[<primary-key
<generator class="generatorname">
<param name="param_name">parameter value</param>
</generator>
<key-column...>
-</primary-key>]]></programlisting>
+ </primary-key>]]></programlisting>
+
+ <table frame="topbot">
+ <title>Primary-key attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Attribute use</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>generator/class</para></entry>
+
+ <entry><para>Defines which identifier generator should be used.
+ The class name is any hibernate short hand name or fully qualified class name for an
+ identifier strategy.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>generator/param</para></entry>
+
+ <entry><para>Allows to specify which parameter with a name and
+ value should be passed to the identifier generator.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>key-column</para></entry>
+
+ <entry><para>Specifies which column(s ) the primary-key consists of. A
+ key-column is same as column, but does not have the exclude property.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
- <calloutlist>
- <callout arearefs="pk-generatorclass">
- <para>generator/class (Optional): defines which identifier generator should be used.
- The class name is any hibernate short hand name or fully qualified class name for an
- identifier strategy.</para>
- </callout>
-
- <callout arearefs="pk-generatorparam">
- <para>generator/param (Optional): Allows to specify which parameter with a name and
- value should be passed to the identifier generator</para>
- </callout>
-
- <callout arearefs="pk-keycolumn">
- <para>key-column (Optional): Specifies which column(s ) the primary-key consists of. A
- key-column is same as column, but does not have the exclude property.</para>
- </callout>
- </calloutlist>
- </programlistingco>
</section>
<section>
@@ -504,24 +601,10 @@
<para>With a <emphasis>
<property><column></property>
</emphasis> it is possible to explicitly name the resulting property for a column. It is
- also possible to redefine what jdbc and/or Hibernate type a column should be processed as and
- finally it is possible to completely exclude a column from processing.</para>
-
- <para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="column-name"/>
-
- <area coords="3 55" id="column-jdbctype"/>
-
- <area coords="4 55" id="column-type"/>
-
- <area coords="5 55" id="column-propertytype"/>
-
- <area coords="6 55" id="column-exclude"/>
- </areaspec>
-
- <programlisting><![CDATA[<column
+ also possible to redefine what jdbc and/or Hibernate type a column should be processed as
+ and finally it is possible to completely exclude a column from processing.</para>
+
+ <programlisting role="XML"><![CDATA[<column
name="column_name"
jdbc-type="java.sql.Types type"
type="hibernate_type"
@@ -529,32 +612,78 @@
exclude="true|false"
/>]]></programlisting>
- <calloutlist>
- <callout arearefs="column-name">
- <para>name (Required): Column name</para>
- </callout>
-
- <callout arearefs="column-jdbctype">
- <para>jdbc-type (Optional): Which jdbc-type this column should be processed as. A
+ <table frame="topbot">
+ <title>Column attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Attribute use</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>name</para></entry>
+
+ <entry><para>Column name.</para></entry>
+
+ <entry><para>Required</para></entry>
+ </row>
+
+ <row>
+ <entry><para>jdbc-type</para></entry>
+
+ <entry><para>Which jdbc-type this column should be processed as. A
value from java.sql.Types, either numerical (93) or the constant name
- (TIMESTAMP).</para>
- </callout>
-
- <callout arearefs="column-type">
- <para>type (Optional): Which hibernate-type to use for this specific column</para>
- </callout>
-
- <callout arearefs="column-propertytype">
- <para>property (Optional): What property name will be generated for this
- column</para>
- </callout>
-
- <callout arearefs="column-exclude">
- <para>exclude (default: false): set to true if this column should be ignored</para>
- </callout>
- </calloutlist>
- </programlistingco>
- </para>
+ (TIMESTAMP).</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>type</para></entry>
+
+ <entry><para>Which hibernate-type to use for this specific column.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+
+ <row>
+ <entry><para>property</para></entry>
+
+ <entry><para>What property name will be generated for this
+ column.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>exclude</para></entry>
+
+ <entry><para>Set to true if this column should be ignored.</para></entry>
+
+ <entry><para>default: false</para></entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
+
</section>
<section>
@@ -568,25 +697,7 @@
<para>Note:</para>
- <para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="foreignkey-name"/>
-
- <area coords="3 55" id="foreignkey-catalog"/>
-
- <area coords="4 55" id="foreignkey-schema"/>
-
- <area coords="5 55" id="foreignkey-table"/>
-
- <area coords="7 55" id="foreignkey-columnref"/>
-
- <area coords="8 55" id="foreignkey-manytoone"/>
-
- <area coords="10 55" id="foreignkey-set"/>
- </areaspec>
-
- <programlisting><![CDATA[<foreign-key
+ <programlisting role="XML"><![CDATA[<foreign-key
constraint-name="foreignKeyName"
foreign-catalog="catalogName"
foreign-schema="schemaName"
@@ -599,50 +710,103 @@
<set
property="aCollectionName"
exclude="true|false"/>
-</foreign-key>]]></programlisting>
-
- <calloutlist>
- <callout arearefs="foreignkey-name">
- <para>constraint-name (Required): Name of the foreign key constraint. Important when
+ </foreign-key>]]></programlisting>
+
+ <table frame="topbot">
+ <title>Foreign-key attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Attribute use</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>constraint-name</para></entry>
+
+ <entry><para>Name of the foreign key constraint. Important when
naming many-to-one and set. It is the constraint-name that is used to link the
- processed foreign-keys with the resulting property names.</para>
- </callout>
-
- <callout arearefs="foreignkey-catalog">
- <para>foreign-catalog (Optional): Name of the foreign table's catalog. (Only
- relevant if you want to explicitly define a foreign key).</para>
- </callout>
-
- <callout arearefs="foreignkey-schema">
- <para>foreign-schema (Optional): Name of the foreign table's schema. (Only relevant
- if you want to explicitly define a foreign key).</para>
- </callout>
-
- <callout arearefs="foreignkey-table">
- <para>foreign-table (Optional): Name of the foreign table. (Only relevant if you
- want to explicitly define a foreign key).</para>
- </callout>
-
- <callout arearefs="foreignkey-columnref">
- <para>column-ref (Optional): Defines that the foreign-key constraint between a
+ processed foreign-keys with the resulting property names.</para></entry>
+
+ <entry><para>Required</para></entry>
+ </row>
+
+ <row>
+ <entry><para>foreign-catalog</para></entry>
+
+ <entry><para>Name of the foreign table's catalog. (Only
+ relevant if you want to explicitly define a foreign key).</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>foreign-schema</para></entry>
+
+ <entry><para>Name of the foreign table's schema. (Only relevant
+ if you want to explicitly define a foreign key).</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+
+ <row>
+ <entry><para>foreign-table</para></entry>
+
+ <entry><para>Name of the foreign table. (Only relevant if you
+ want to explicitly define a foreign key).</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>column-ref </para></entry>
+
+ <entry><para>Defines that the foreign-key constraint between a
local-column and foreign-column name. (Only relevant if you want to explicitly
- define a foreign key).</para>
- </callout>
-
- <callout arearefs="foreignkey-manytoone">
- <para>many-to-one (Optional): Defines that a many-to-one should be created and the
+ define a foreign key).</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>many-to-one</para></entry>
+
+ <entry><para>Defines that a many-to-one should be created and the
property attribute specifies the name of the resulting property. Exclude can be
- used to explicitly define that it should be created or not.</para>
- </callout>
-
- <callout arearefs="foreignkey-set">
- <para>set (Optional): Defines that a set should be created based on this foreign-key
+ used to explicitly define that it should be created or not.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>set</para></entry>
+
+ <entry><para>Defines that a set should be created based on this foreign-key
and the property attribute specifies the name of the resulting (set) property.
- Exclude can be used to explicitly define that it should be created or not.</para>
- </callout>
- </calloutlist>
- </programlistingco>
- </para>
+ Exclude can be used to explicitly define that it should be created or not.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+ </tbody>
+
+ </tgroup>
+ </table>
+
</section>
</section>
</section>
@@ -650,19 +814,19 @@
<section id="custom-reveng-strategy">
<title>Custom strategy</title>
- <para>It is possible to implement an user strategy. Such strategy must implement <emphasis>
- <property>org.hibernate.cfg.reveng.ReverseEngineeringStrategy</property>
- </emphasis>. It is recommended that one uses the
+ <para>It is possible to implement a user strategy. Such strategy must implement <emphasis>
+ <property>org.hibernate.cfg.reveng.ReverseEngineeringStrategy</property>.
+ </emphasis> It is recommended that one uses the
<property>DelegatingReverseEngineeringStrategy</property> and provide a public constructor
- which takes another <property>ReverseEngineeringStrategy </property> as argument. This will
+ which takes another <property>ReverseEngineeringStrategy </property> as an argument. This will
allow you to only implement the relevant methods and provide a fallback strategy. Example of
custom delegating strategy which converts all column names that ends with <emphasis>
<property>"PK"</property>
</emphasis> into a property named <emphasis>
- <property>"id"</property>
- </emphasis>.</para>
+ <property>"id"</property>.
+ </emphasis></para>
- <programlisting><![CDATA[public class ExampleStrategy extends DelegatingReverseEngineeringStrategy {
+ <programlisting role="JAVA"><![CDATA[public class ExampleStrategy extends DelegatingReverseEngineeringStrategy {
public ExampleStrategy(ReverseEngineeringStrategy delegate) {
super(delegate);
@@ -685,8 +849,8 @@
metadata API. This is done via the class <emphasis>
<property>org.hibernate.cfg.reveng.dialect.JDBCMetaDataDialect</property>
</emphasis> which is an implementation of <emphasis>
- <property>org.hibernate.cfg.reveng.dialect.MetaDataDialect</property>
- </emphasis>.</para>
+ <property>org.hibernate.cfg.reveng.dialect.MetaDataDialect</property>.
+ </emphasis></para>
<para>The default implementation can be replaced with an alternative implementation by setting
the property <emphasis>
16 years, 4 months
JBoss Tools SVN: r6303 - trunk/hibernatetools/docs/reference/en/modules.
by jbosstools-commits@lists.jboss.org
Author: ochikvina
Date: 2008-02-13 12:22:22 -0500 (Wed, 13 Feb 2008)
New Revision: 6303
Modified:
trunk/hibernatetools/docs/reference/en/modules/ant.xml
Log:
http://jira.jboss.com/jira/browse/JBDS-173 - highlighting code patterns;
http://jira.jboss.com/jira/browse/JBDS-238 - replacing tables with new ones that are with headers
Modified: trunk/hibernatetools/docs/reference/en/modules/ant.xml
===================================================================
--- trunk/hibernatetools/docs/reference/en/modules/ant.xml 2008-02-13 16:46:26 UTC (rev 6302)
+++ trunk/hibernatetools/docs/reference/en/modules/ant.xml 2008-02-13 17:22:22 UTC (rev 6303)
@@ -12,7 +12,8 @@
from tools.hibernate.org. The <emphasis>
<property>hibernate-tools.jar</property>
</emphasis> is located in your eclipse plugins directory at
- /plugins/org.hibernate.eclipse.x.x.x/lib/tools/hibernate-tools.jar.</para>
+ <emphasis>
+ <property>/plugins/org.hibernate.eclipse.x.x.x/lib/tools/hibernate-tools.jar</property>.</emphasis></para>
<para>This jar is 100% independent from the eclipse platform and can thus be used independently
of eclipse.</para>
@@ -33,7 +34,9 @@
</emphasis> task defined. That is done in your <emphasis>
<property>build.xml</property>
</emphasis> by inserting the following xml (assuming the jars are in the
- <literal>lib</literal> directory): <programlisting><![CDATA[<path id="toolslib">
+ <literal>lib</literal> directory): </para>
+
+ <programlisting role="XML"><![CDATA[<path id="toolslib">
<path location="lib/hibernate-tools.jar" />
<path location="lib/hibernate3.jar" />
<path location="lib/freemarker.jar" />
@@ -43,7 +46,7 @@
<taskdef name="hibernatetool"
classname="org.hibernate.tool.ant.HibernateToolTask"
classpathref="toolslib" />
-]]></programlisting></para>
+]]></programlisting>
<para>This <emphasis>
<property>
@@ -65,23 +68,7 @@
<property> hibernatetool </property>
</emphasis> task you have to specify one or more of the following:</para>
- <para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="ht1"/>
-
- <area coords="3 55" id="ht2"/>
-
- <area coords="4 55" id="ht3"/>
-
- <area coords="7 55" id="ht4"/>
-
- <area coords="8 55" id="ht5"/>
-
- <area coords="10 55" id="ht6"/>
- </areaspec>
-
- <programlisting><![CDATA[<hibernatetool
+ <programlisting role="XML"><![CDATA[<hibernatetool
destdir="defaultDestinationDirectory"
templatepath="defaultTemplatePath"
>
@@ -90,43 +77,92 @@
<propertyset ...>
(<configuration ...>|<annotationconfiguration ...>|
<jpaconfiguration ...>|<jdbcconfiguration ...>)
- (<hbm2java>,<hbm2cfgxml>,<hbmtemplate>,...*)
+ (<hbm2java>,<hbm2cfgxml>,<hbmtemplate>,...)
</hibernatetool>]]></programlisting>
- <calloutlist>
- <callout arearefs="ht1">
- <para><literal>destdir</literal> (required): destination directory for files generated
- with exporters</para>
- </callout>
-
- <callout arearefs="ht2">
- <para><literal>templatepath</literal> (optional): A path to be used to look up
- user-edited templates</para>
- </callout>
-
- <callout arearefs="ht3">
- <para>classpath (optional): A classpath to be used to resolve resources, such as
- mappings and usertypes. Optional, but very often required.</para>
- </callout>
-
- <callout arearefs="ht4">
- <para><literal>property</literal> and propertyset (optional): Used to set properties to
+ <table frame="topbot">
+ <title>Hibernatetool attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Attribute use</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>destdir</para></entry>
+
+ <entry><para>Destination directory for files generated
+ with exporters.</para></entry>
+
+ <entry><para>Required</para></entry>
+ </row>
+
+ <row>
+ <entry><para>templatepath</para></entry>
+
+ <entry><para>A path to be used to look up
+ user-edited templates.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>classpath</para></entry>
+
+ <entry><para>A classpath to be used to resolve resources, such as
+ mappings and usertypes.</para></entry>
+
+ <entry><para>Optional, but very often required</para></entry>
+ </row>
+
+
+ <row>
+ <entry><para>property (and propertyset)</para></entry>
+
+ <entry><para>Used to set properties to
control the exporters. Mostly relevant for providing custom properties to user defined
- templates.</para>
- </callout>
-
- <callout arearefs="ht5">
- <para>One of 4 different ways of configuring the Hibernate Meta Model must be
- specified</para>
- </callout>
-
- <callout arearefs="ht6">
- <para>One or more of the exporters must be specified</para>
- </callout>
- </calloutlist>
- </programlistingco>
- </para>
-
+ templates.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>configuration (annotationconfiguration, jpaconfiguration, jdbcconfiguration)</para></entry>
+
+ <entry><para>One of four different ways of configuring the Hibernate Meta Model must be
+ specified.</para></entry>
+
+ <entry><para></para></entry>
+ </row>
+
+ <row>
+ <entry><para>hbm2java (hbm2cfgxml, hbmtemplate, etc.)</para></entry>
+
+ <entry><para>One or more of the exporters must be specified.</para></entry>
+
+ <entry><para></para></entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
+
<section>
<title>Basic examples</title>
@@ -135,13 +171,12 @@
</emphasis> from a normal <emphasis>
<property>
<literal>hibernate.cfg.xml</literal>
- </property>
- </emphasis>. The output will be put in the <emphasis>
+ </property>.
+ </emphasis> The output will be put in the <emphasis>
<property>${build.dir}/generated</property>
</emphasis> directory.</para>
- <para>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<classpath>
<path location="${build.dir}/classes"/>
</classpath>
@@ -149,16 +184,16 @@
<configuration configurationfile="hibernate.cfg.xml"/>
<hbm2java/>
</hibernatetool>]]></programlisting>
- </para>
+
<para>The following example is similar, but now we are performing multiple exports from the
same configuration. We are exporting the schema via <emphasis>
- <property><hbm2dll></property>
- </emphasis>, generates some DAO code via <emphasis>
+ <property><hbm2dll></property>,
+ </emphasis> generates some DAO code via <emphasis>
<property><hbm2dao></property>
</emphasis> and finally runs a custom code generation via <emphasis>
- <property><hbmtemplate></property>
- </emphasis>. This is again from a normal <emphasis>
+ <property><hbmtemplate></property>.
+ </emphasis> This is again from a normal <emphasis>
<property>hibernate.cfg.xml</property>
</emphasis> and the output is still put in the <emphasis>
<property>
@@ -168,8 +203,7 @@
when you e.g. have custom usertypes or some mappings that is needed to be looked up as a
classpath resource.</para>
- <para>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<classpath>
<path location="${build.dir}/classes"/>
</classpath>
@@ -183,7 +217,7 @@
template="myconstants.vm"
/>
</hibernatetool>]]></programlisting>
- </para>
+
</section>
</section>
@@ -191,24 +225,25 @@
<title>Hibernate Configurations</title>
<para><literal>Hibernatetool</literal> supports four different Hibernate configurations: A
- standard Hibernate configuration (<emphasis>
- <property><configuration></property>
- </emphasis>), Annotation based configuration (<emphasis>
- <property><annotationconfiguration></property>
- </emphasis>), JPA persistence based configuration (<emphasis>
- <property><jpaconfiguration></property>
- </emphasis>) and a JDBC based configuration (<emphasis>
- <property><jdbcconfiguration></property>
- </emphasis>) for use when reverse engineering.</para>
+ standard Hibernate configuration <emphasis>
+ (<property><configuration></property>),
+ </emphasis> Annotation based configuration <emphasis>
+ (<property><annotationconfiguration></property>),
+ </emphasis> JPA persistence based configuration <emphasis>
+ (<property><jpaconfiguration></property>)
+ </emphasis> and a JDBC based configuration <emphasis>
+ (<property><jdbcconfiguration></property>)
+ </emphasis> for use when reverse engineering.</para>
<para>Each have in common that they are able to build up a Hibernate
- <literal>Configuration</literal> object from which a set of exporters can be run to generate
- various output. <note>
+ Configuration object from which a set of exporters can be run to generate
+ various output. </para>
+
+ <note>
<para>Output can be anything, e.g. specific files, statements execution against a database,
error reporting or anything else that can be done in java code.</para>
</note>
- </para>
-
+
<para>The following section describes what the various configuration can do, plus list the
individual settings they have.</para>
@@ -222,21 +257,7 @@
<property>cfg.xml</property>
</emphasis> and/or a fileset.</para>
- <para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="cfg1"/>
-
- <area coords="3 55" id="cfg2"/>
-
- <area coords="4 55" id="cfg3"/>
-
- <area coords="5 55" id="cfg4"/>
-
- <area coords="7 55" id="cfg5"/>
- </areaspec>
-
- <programlisting><![CDATA[<configuration
+ <programlisting role="XML"><![CDATA[<configuration
configurationfile="hibernate.cfg.xml"
propertyfile="hibernate.properties"
entityresolver="EntityResolver classname"
@@ -244,39 +265,84 @@
>
<fileset...>
-</configuration>]]></programlisting>
-
- <calloutlist>
- <callout arearefs="cfg1">
- <para><literal>configurationfile</literal> (optional): The name of a Hibernate
- configuration file, e.g. "hibernate.cfg.xml"</para>
- </callout>
-
- <callout arearefs="cfg2">
- <para><literal>propertyfile</literal> (optional): The name of a property file, e.g.
- "hibernate.properties"</para>
- </callout>
-
- <callout arearefs="cfg3">
- <para><literal>entity-resolver</literal> (optional): name of a class that implements
+ </configuration>]]></programlisting>
+
+ <table frame="topbot">
+ <title>Configuration attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Attribute use</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>configurationfile</para></entry>
+
+ <entry><para>The name of a Hibernate
+ configuration file, e.g. "hibernate.cfg.xml"</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>propertyfile</para></entry>
+
+ <entry><para>The name of a property file, e.g.
+ "hibernate.properties".</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>entity-resolver</para></entry>
+
+ <entry><para>Name of a class that implements
org.xml.sax.EntityResolver. Used if the mapping files require custom entity
- resolver.</para>
- </callout>
-
- <callout arearefs="cfg4">
- <para><literal>namingstrategy</literal> (optional): name of a class that implements
+ resolver.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+
+ <row>
+ <entry><para>namingstrategy</para></entry>
+
+ <entry><para>Name of a class that implements
org.hibernate.cfg.NamingStrategy. Used for setting up the naming strategy in
- Hibernate which controls the automatic naming of tables and columns.</para>
- </callout>
-
- <callout arearefs="cfg5">
- <para>A standard Ant fileset. Used to include hibernate mapping files. Remember that
+ Hibernate which controls the automatic naming of tables and columns.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>fileset</para></entry>
+
+ <entry><para>A standard Ant fileset. Used to include hibernate mapping files. Remember that
if mappings are already specified in the hibernate.cfg.xml then it should not be
- included via the fileset as it will result in duplicate import exceptions.</para>
- </callout>
- </calloutlist>
- </programlistingco>
- </para>
+ included via the fileset as it will result in duplicate import exceptions.</para></entry>
+
+ <entry><para></para></entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
<section>
<title>Example</title>
@@ -289,7 +355,8 @@
<property>
hibernate.properties
</property>
- </emphasis> + fileset is used instead. </para>
+ </emphasis> and fileset is used instead. </para>
+
<note>
<title>Tip:</title>
<para> Hibernate will still read any global <emphasis><property>hibernate.properties</property></emphasis>
@@ -297,8 +364,7 @@
values for any non-global property.</para>
</note>
- <para>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<configuration propertyfile="{etc.dir}/hibernate.properties">
<fileset dir="${src.dir}">
<include name="**/*.hbm.xml"/>
@@ -309,7 +375,7 @@
<!-- list exporters here -->
</hibernatetool>]]></programlisting>
- </para>
+
</section>
</section>
@@ -325,8 +391,8 @@
<title>Tip:</title>
<para>To use it remember to put the jar files needed for using hibernate annotations
in the classpath of the <emphasis>
- <property><taskdef></property>
- </emphasis>, i. e. hibernate-annotations.jar and hibernate-commons-annotations.jar.</para>
+ <property><taskdef></property>,
+ </emphasis> i. e. hibernate-annotations.jar and hibernate-commons-annotations.jar.</para>
</note>
<para>The <emphasis>
@@ -339,8 +405,7 @@
<para>Thus the minimal usage is:</para>
- <para>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<annotationconfiguration
configurationfile="hibernate.cfg.xml"/>
@@ -348,7 +413,7 @@
</hibernatetool>
]]></programlisting>
- </para>
+
</section>
<section>
@@ -359,8 +424,8 @@
</emphasis> is used when you want to read the metamodel from JPA/Hibernate Annotation where
you want to use the auto-scan configuration as defined in the JPA spec (part of EJB3). In
other words, when you do not have a <emphasis>
- <property>hibernate.cfg.xml</property>
- </emphasis>, but instead have a setup where you use a <emphasis>
+ <property>hibernate.cfg.xml</property>,
+ </emphasis> but instead have a setup where you use a <emphasis>
<property>persistence.xml</property>
</emphasis> packaged in a JPA compliant manner.</para>
@@ -368,8 +433,8 @@
<property><jpaconfiguration></property>
</emphasis> will simply just try and auto-configure it self based on the available
classpath, e.g. look for <emphasis>
- <property>META-INF/persistence.xml</property>
- </emphasis>.</para>
+ <property>META-INF/persistence.xml</property>.
+ </emphasis></para>
<para>The <emphasis>
<property>persistenceunit</property></emphasis> attribute can be used to select a specific
@@ -385,7 +450,7 @@
<property><taskdef></property>
</emphasis> of the hibernatetool. The following shows a full setup:</para>
- <programlisting><![CDATA[<path id="ejb3toolslib">
+ <programlisting role="XML"><![CDATA[<path id="ejb3toolslib">
<path refid="jpatoolslib"/> <!-- ref to previously defined toolslib -->
<path location="lib/hibernate-annotations.jar" />
<path location="lib/ejb3-persistence.jar" />
@@ -413,7 +478,7 @@
<note>
- <para><literal>ejb3configuration</literal> were the name used in previous versions. It still
+ <para>ejb3configuration were the name used in previous versions. It still
works but will emit a warning telling you to use <literal>jpaconfiguration</literal>
instead.</para>
</note>
@@ -442,20 +507,8 @@
<literal><configuration></literal>
</property>
</emphasis> plus the following additional attributes:</para>
-
- <para>
- <programlistingco>
- <areaspec>
- <area coords="3 57" id="xcfg1"/>
-
- <area coords="4 57" id="xcfg2"/>
-
- <area coords="5 57" id="xcfg3"/>
- <area coords="6 57" id="xcfg4"/>
- <area coords="7 57" id="xcfg5"/>
- </areaspec>
-
- <programlisting><![CDATA[<jdbcconfiguration
+
+ <programlisting role="XML"><![CDATA[<jdbcconfiguration
...
packagename="package.name"
revengfile="hibernate.reveng.xml"
@@ -464,43 +517,89 @@
detectoptmisticlock="true|false"
>
...
-</jdbcconfiguration>]]></programlisting>
-
- <calloutlist>
- <callout arearefs="xcfg1">
- <para><literal>packagename</literal> (optional): The default package name to use when
- mappings for classes is created</para>
- </callout>
-
- <callout arearefs="xcfg2">
- <para><literal>revengfile</literal> (optional): name of reveng.xml that allows you to
- control various aspects of the reverse engineering.</para>
- </callout>
-
- <callout arearefs="xcfg3">
- <para><literal>reversestrategy</literal> (optional): name of a class that implements
- <literal>org.hibernate.cfg.reveng.ReverseEngineeringStrategy</literal>. Used for
+ </jdbcconfiguration>]]></programlisting>
+
+ <table frame="topbot">
+ <title>Jdbcconfiguration attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Attribute use</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>packagename</para></entry>
+
+ <entry><para>The default package name to use when
+ mappings for classes is created.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>revengfile</para></entry>
+
+ <entry><para>The name of a property file, e.g.
+ "hibernate.properties".</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>reversestrategy</para></entry>
+
+ <entry><para>Name of a class that implements
+ org.hibernate.cfg.reveng.ReverseEngineeringStrategy. Used for
setting up the strategy the tools will use to control the reverse engineering, e.g.
naming of properties, which tables to include/exclude etc. Using a class instead of
(or as addition to) a reveng.xml file gives you full programmatic control of the
- reverse engineering.</para>
- </callout>
-
- <callout arearefs="xcfg4">
- <para>detectManytoMany (default:true): If true (the default) tables which are pure
+ reverse engineering.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+
+ <row>
+ <entry><para>detectManytoMany</para></entry>
+
+ <entry><para>If true tables which are pure
many-to-many link tables will be mapped as such. A pure many-to-many table is one
which primary-key contains has exactly two foreign-keys pointing to other entity
- tables and has no other columns.</para>
- </callout>
- <callout arearefs="xcfg5">
- <para>detectOptimisticLock (default:true): If true columns named VERSION or TIMESTAMP
+ tables and has no other columns.</para></entry>
+
+ <entry><para>Default: true</para></entry>
+ </row>
+
+ <row>
+ <entry><para>detectOptimisticLock</para></entry>
+
+ <entry><para>If true columns named VERSION or TIMESTAMP
with appropriate types will be mapped with the appropriate optimistic locking
- corresponding to <literal><version></literal> or
- <literal><timestamp></literal></para>
- </callout>
- </calloutlist>
- </programlistingco>
- </para>
+ corresponding to <version> or
+ <timestamp>.</para></entry>
+
+ <entry><para>Default: true</para></entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
<section>
<title>Example</title>
@@ -511,22 +610,24 @@
</property>
</emphasis> to generate Hibernate xml mappings via
<emphasis>
- <property><hbm2hbmxml></property></emphasis>. The connection settings is here read from a <emphasis>
+ <property><hbm2hbmxml></property>.</emphasis> The connection settings is here read from a <emphasis>
<property>
- <literal>hibernate.properties</literal>
+ hibernate.properties
</property>
</emphasis> file but could just as well have been read from a <emphasis>
- <property>hibernate.cfg.xml</property>
- </emphasis>.</para>
+ <property>hibernate.cfg.xml</property>.
+ </emphasis></para>
- <programlisting><![CDATA[<hibernatetool>
+ <programlisting role="XML"><![CDATA[<hibernatetool>
<jdbcconfiguration propertyfile="etc/hibernate.properties" />
<hbm2hbmxml destdir="${build.dir}/src" />
</hibernatetool>
]]></programlisting>
</section>
</section>
- </section><section>
+ </section>
+
+ <section>
<title>Exporters</title>
<para>Exporters are the parts that does the actual job of converting the hibernate metamodel
@@ -548,26 +649,7 @@
Remember that if a custom naming strategy is needed it is placed on the configuration
element.</para>
- <para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="ycfg1"/>
-
- <area coords="3 55" id="ycfg2"/>
-
- <area coords="4 55" id="ycfg3"/>
-
- <area coords="5 55" id="ycfg4"/>
-
- <area coords="6 55" id="ycfg5"/>
-
- <area coords="7 55" id="ycfg6"/>
-
- <area coords="8 55" id="ycfg7"/>
- <area coords="8 55" id="ycfg8"/>
- </areaspec>
-
- <programlisting><![CDATA[<hbm2ddl
+ <programlisting role="XML"><![CDATA[<hbm2ddl
export="true|false"
update="true|false"
drop="true|false"
@@ -576,65 +658,121 @@
delimiter=";"
format="true|false"
haltonerror="true|false"
->]]></programlisting>
-
- <calloutlist>
- <callout arearefs="ycfg1">
- <para>export (default: true): Execute the generated statements against the
- database</para>
- </callout>
-
- <callout arearefs="ycfg2">
- <para>update(default: false): Try and create an update script representing the
+ >]]></programlisting>
+
+ <table frame="topbot">
+ <title>Hbm2ddl exporter attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Attribute use</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>export</para></entry>
+
+ <entry><para>Execute the generated statements against the
+ database.</para></entry>
+
+ <entry><para>Default: true</para></entry>
+ </row>
+
+ <row>
+ <entry><para>update</para></entry>
+
+ <entry><para>Try and create an update script representing the
"delta" between what is in the database and what the mappings
specify. Ignores create/update attributes. (<emphasis>Do *not* use against
production databases, no guarantees at all that the proper delta can be generated
nor that the underlying database can actually execute the needed
- operations</emphasis>)</para>
- </callout>
-
- <callout arearefs="ycfg3">
- <para>drop (default: false): Output will contain drop statements for the tables,
- indices & constraints</para>
- </callout>
-
- <callout arearefs="ycfg4">
- <para>create (default: true): Output will contain create statements for the tables,
- indices & constraints</para>
- </callout>
-
- <callout arearefs="ycfg5">
- <para>outputfilename (Optional): If specified the statements will be dumped to this
- file.</para>
- </callout>
-
- <callout arearefs="ycfg6">
- <para>delimiter (default: ";"): What delimiter to use to separate statements</para>
- </callout>
-
- <callout arearefs="ycfg7">
- <para>format (default: false): Apply basic formatting to the statements.</para>
- </callout>
-
- <callout arearefs="ycfg8">
- <para>haltonerror (default: false): Halt build process if an error occurs.</para>
- </callout>
-
- </calloutlist>
- </programlistingco>
- </para>
-
+ operations</emphasis>).</para></entry>
+
+ <entry><para>Default: false</para></entry>
+ </row>
+
+ <row>
+ <entry><para>drop</para></entry>
+
+ <entry><para>Output will contain drop statements for the tables,
+ indices and constraints.</para></entry>
+
+ <entry><para>Default: false</para></entry>
+ </row>
+
+
+ <row>
+ <entry><para>create</para></entry>
+
+ <entry><para>Output will contain create statements for the tables,
+ indices and constraints.</para></entry>
+
+ <entry><para>Default: true</para></entry>
+ </row>
+
+ <row>
+ <entry><para>outputfilename</para></entry>
+
+ <entry><para>If specified the statements will be dumped to this
+ file.</para></entry>
+
+ <entry><para>Optional</para></entry>
+ </row>
+
+ <row>
+ <entry><para>delimiter</para></entry>
+
+ <entry><para>If specified the statements will be dumped to this
+ file.</para></entry>
+
+ <entry><para>Default: ";"</para></entry>
+ </row>
+
+ <row>
+ <entry><para>format</para></entry>
+
+ <entry><para>Apply basic formatting to the statements.</para></entry>
+
+ <entry><para>Default: false</para></entry>
+ </row>
+
+ <row>
+ <entry><para>haltonerror</para></entry>
+
+ <entry><para>Halt build process if an error occurs.</para></entry>
+
+ <entry><para>Default: false</para></entry>
+ </row>
+ </tbody>
+
+ </tgroup>
+ </table>
+
<section>
<title>Example</title>
<para>Basic example of using <emphasis>
- <property><hbm2ddl></property>
- </emphasis>, which does not export to the database but simply dumps the sql to a file
+ <property><hbm2ddl></property>,
+ </emphasis> which does not export to the database but simply dumps the sql to a file
named <emphasis>
- <property>sql.ddl</property>
- </emphasis>.</para>
+ <property>sql.ddl</property>.
+ </emphasis></para>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<configuration configurationfile="hibernate.cfg.xml"/>
<hbm2ddl export="false" outputfilename="sql.ddl"/>
</hibernatetool>]]></programlisting>
@@ -649,33 +787,57 @@
</emphasis> is a java codegenerator. Options for controlling whether JDK 5 syntax can be
used and whether the POJO should be annotated with EJB3/Hibernate Annotations.</para>
- <para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="zcfg1"/>
-
- <area coords="3 55" id="zcfg2"/>
- </areaspec>
-
- <programlisting><![CDATA[<hbm2java
+ <programlisting role="XML"><![CDATA[<hbm2java
jdk5="true|false"
ejb3="true|false"
>]]></programlisting>
- <calloutlist>
- <callout arearefs="zcfg1">
- <para>jdk (default: false): Code will contain JDK 5 constructs such as generics and
- static imports</para>
- </callout>
-
- <callout arearefs="zcfg2">
- <para>ejb3 (default: false): Code will contain EJB 3 features, e.g. using annotations
- from javax.persistence and org.hibernate.annotations</para>
- </callout>
- </calloutlist>
- </programlistingco>
- </para>
-
+ <table frame="topbot">
+ <title>Hbm2java exporter attributes</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Default value</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><para>jdk</para></entry>
+
+ <entry><para>Code will contain JDK 5 constructs such as generics and
+ static imports.</para></entry>
+
+ <entry><para>False</para></entry>
+ </row>
+
+ <row>
+ <entry><para>ejb3</para></entry>
+
+ <entry><para>Code will contain EJB 3 features, e.g. using annotations
+ from javax.persistence and org.hibernate.annotations.</para></entry>
+
+ <entry><para>False</para></entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
+
<section>
<title>Example</title>
@@ -683,7 +845,7 @@
<property><hbm2java></property>
</emphasis> to generate POJO's that utilize jdk5 constructs.</para>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<configuration configurationfile="hibernate.cfg.xml"/>
<hbm2java jdk5="true"/>
</hibernatetool>]]></programlisting>
@@ -699,20 +861,20 @@
<property><jdbcconfiguration></property>
</emphasis> when performing reverse engineering, but can be used with any kind of
configuration. e.g. to convert from annotation based pojo's to <emphasis>
- <property>hbm.xml</property>
- </emphasis>. Note that not every possible mapping transformation is possible/implemented
+ <property>hbm.xml</property>.
+ </emphasis> Note that not every possible mapping transformation is possible/implemented
(contributions welcome) so some hand editing might be necessary.</para>
- <programlisting><![CDATA[<hbm2hbmxml/>]]></programlisting>
+ <programlisting role="XML"><![CDATA[<hbm2hbmxml/>]]></programlisting>
<section>
<title>Example</title>
<para>Basic usage of <emphasis>
- <property><hbm2hbmxml></property>
- </emphasis>.</para>
+ <property><hbm2hbmxml></property>.
+ </emphasis></para>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<configuration configurationfile="hibernate.cfg.xml"/>
<hbm2hbmxml/>
</hibernatetool>]]></programlisting>
@@ -732,12 +894,10 @@
might be necessary.</para>
</note>
- <para>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<annotationconfiguration configurationfile="hibernate.cfg.xml"/>
<hbm2hbmxml/>
</hibernatetool>]]></programlisting>
- </para>
</section>
</section>
@@ -747,34 +907,58 @@
<para><emphasis>
<property><hbm2cfgxml></property>
</emphasis> generates a <emphasis>
- <property>hibernate.cfg.xml</property>
- </emphasis>. Intended to be used together with a <emphasis>
+ <property>hibernate.cfg.xml</property>.
+ </emphasis> Intended to be used together with a <emphasis>
<property><jdbcconfiguration></property>
</emphasis> when performing reverse engineering, but it can be used with any kind of
configuration. The <emphasis>
<property><hbm2cfgxml></property>
</emphasis> will contain the properties used and adds mapping entries for each mapped class.</para>
- <para>
- <programlistingco>
- <areaspec>
- <area coords="2 55" id="qcfg1"/>
- </areaspec>
-
- <programlisting><![CDATA[<hbm2cfgxml
+ <programlisting role="XML"><![CDATA[<hbm2cfgxml
ejb3="true|false"
/>
]]></programlisting>
-
- <calloutlist>
- <callout arearefs="qcfg1">
- <para>ejb3 (default: false): the generated cfg.xml will have <mapping
+
+ <table frame="topbot">
+ <title>Hbm2cfgxml exporter attribute</title>
+
+ <tgroup cols="3">
+
+ <colspec colwidth="0.3*"/>
+
+ <colspec colwidth="1.0*"/>
+
+ <colspec colwidth="0.3*"/>
+
+
+ <thead>
+ <row>
+ <entry>Attribute name</entry>
+
+ <entry>Definition</entry>
+
+ <entry>Default value</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><para>ejb3</para></entry>
+
+ <entry><para>The generated cfg.xml will have <mapping
class=".."/>, opposed to <mapping resource="..."/> for each
- mapping</para>
- </callout>
- </calloutlist>
- </programlistingco>
- </para>
+ mapping.</para></entry>
+
+ <entry><para>False</para></entry>
+ </row>
+
+ </tbody>
+
+ </tgroup>
+ </table>
+
</section>
<section>
@@ -784,7 +968,7 @@
<property><hbm2doc></property>
</emphasis> generates html documentation a'la javadoc for the database schema et.al.</para>
- <programlisting><![CDATA[<hbm2doc/>]]></programlisting>
+ <programlisting role="XML"><![CDATA[<hbm2doc/>]]></programlisting>
</section>
<section>
@@ -795,7 +979,7 @@
</emphasis> is used to execute a HQL query statements and optionally sends the output to a
file. It can be used for verifying the mappings and for basic data extraction.</para>
- <programlisting><![CDATA[<query
+ <programlisting role="XML"><![CDATA[<query
destfile="filename">
<hql>[a HQL query string]</hql>
</query>
@@ -815,7 +999,7 @@
</emphasis> will just execute the query without dumping to a file. This can be used to
verify that queries can actually be performed.</para>
- <programlisting><![CDATA[<hibernatetool>
+ <programlisting role="XML"><![CDATA[<hibernatetool>
<configuration configurationfile="hibernate.cfg.xml"/>
<query>from java.lang.Object</query>
</hibernatetool>]]></programlisting>
@@ -823,22 +1007,21 @@
<para>Multiple queries can be executed by nested <emphasis>
<property><hql></property>
</emphasis> elements. In this example we also let the output be dumped to <emphasis>
- <property>queryresult.txt</property>
- </emphasis>. </para>
+ <property>queryresult.txt</property>.
+ </emphasis></para>
<note>
<title>Tip:</title>
<para> Currently the dump is simply a call to toString on each element.</para>
</note>
- <para>
- <programlisting><![CDATA[<hibernatetool>
+ <programlisting role="XML"><![CDATA[<hibernatetool>
<configuration configurationfile="hibernate.cfg.xml"/>
<query destfile="queryresult.txt">
<hql>select c.name from Customer c where c.age > 42</hql>
<hql>from Cat</hql>
</hibernatetool>]]></programlisting>
- </para>
+
</section>
</section>
@@ -847,7 +1030,7 @@
<para>Generic exporter that can be controlled by an user provides a template or class.</para>
- <programlisting><![CDATA[<hbmtemplate
+ <programlisting role="XML"><![CDATA[<hbmtemplate
filepattern="{package-name}/{class-name}.ftl"
template="somename.ftl"
exporterclass="Exporter classname"
@@ -859,7 +1042,7 @@
</note>
<section>
- <title>Exporter via <literal><hbmtemplate></literal></title>
+ <title>Exporter via <hbmtemplate></title>
<para>The following is an example of reverse engineering via <emphasis>
<property><jdbcconfiguration></property>
@@ -867,8 +1050,7 @@
<property><hbmtemplate></property>
</emphasis>.</para>
- <para>
- <programlisting><![CDATA[ <hibernatetool destdir="${destdir}">
+ <programlisting role="XML"><![CDATA[ <hibernatetool destdir="${destdir}">
<jdbcconfiguration
configurationfile="hibernate.cfg.xml"
packagename="my.model"/>
@@ -883,7 +1065,7 @@
</hibernatetool>
]]></programlisting>
- </para>
+
</section>
</section>
</section>
@@ -915,7 +1097,7 @@
</emphasis> to the variable <emphasis>
<property>$descriptors</property></emphasis>.</para>
- <programlisting><![CDATA[<property key="descriptors" value="true"/>]]></programlisting>
+ <programlisting role="XML"><![CDATA[<property key="descriptors" value="true"/>]]></programlisting>
<para>Most times using <emphasis>
<property>
@@ -940,7 +1122,7 @@
<property>"toolclass"</property>
</emphasis> in the properties.</para>
- <programlisting><![CDATA[<property key="hibernatetool.sometool.toolclass" value="x.y.z.NameOfToolClass"/>
+ <programlisting role="XML"><![CDATA[<property key="hibernatetool.sometool.toolclass" value="x.y.z.NameOfToolClass"/>
]]></programlisting>
<para>Placing the above <emphasis>
@@ -968,7 +1150,7 @@
<para> This example actually simulates what <hbm2java> actually does.</para>
</note>
- <programlisting><![CDATA[<hibernatetool destdir="${build.dir}/generated">
+ <programlisting role="XML"><![CDATA[<hibernatetool destdir="${build.dir}/generated">
<configuration
configurationfile="etc/hibernate.cfg.xml"/>
<hbmtemplate
16 years, 4 months