diff options
23 files changed, 83 insertions, 526 deletions
diff --git a/org.eclipse.jubula.client.api/src/org/eclipse/jubula/client/internal/impl/AUTImpl.java b/org.eclipse.jubula.client.api/src/org/eclipse/jubula/client/internal/impl/AUTImpl.java index de1a13621..7cc919fb7 100644 --- a/org.eclipse.jubula.client.api/src/org/eclipse/jubula/client/internal/impl/AUTImpl.java +++ b/org.eclipse.jubula.client.api/src/org/eclipse/jubula/client/internal/impl/AUTImpl.java @@ -23,15 +23,14 @@ import org.eclipse.jubula.client.exceptions.CheckFailedException; import org.eclipse.jubula.client.exceptions.CommunicationException; import org.eclipse.jubula.client.exceptions.ComponentNotFoundException; import org.eclipse.jubula.client.exceptions.ConfigurationException; -import org.eclipse.jubula.client.exceptions.ExecutionExceptionHandler; import org.eclipse.jubula.client.exceptions.ExecutionException; +import org.eclipse.jubula.client.exceptions.ExecutionExceptionHandler; import org.eclipse.jubula.client.internal.AUTConnection; import org.eclipse.jubula.client.internal.BaseConnection.NotConnectedException; import org.eclipse.jubula.client.internal.Synchronizer; import org.eclipse.jubula.client.internal.exceptions.ConnectionException; import org.eclipse.jubula.communication.CAP; import org.eclipse.jubula.communication.internal.message.CAPTestMessage; -import org.eclipse.jubula.communication.internal.message.CAPTestMessageFactory; import org.eclipse.jubula.communication.internal.message.CAPTestResponseMessage; import org.eclipse.jubula.communication.internal.message.MessageCap; import org.eclipse.jubula.communication.internal.message.UnknownMessageException; @@ -140,9 +139,8 @@ public class AUTImpl implements AUT { final ResultImpl<T> result = new ResultImpl<T>(cap, payload); try { - CAPTestMessage capTestMessage = CAPTestMessageFactory - .getCAPTestMessage((MessageCap) cap, getInformation() - .getToolkitID()); + CAPTestMessage capTestMessage = new CAPTestMessage( + (MessageCap) cap); m_instance.send(capTestMessage); Object exchange = Synchronizer.instance().exchange(null); diff --git a/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/businessprocess/TestExecution.java b/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/businessprocess/TestExecution.java index 1bbd8dbaa..26823c36f 100644 --- a/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/businessprocess/TestExecution.java +++ b/org.eclipse.jubula.client.core/src/org/eclipse/jubula/client/core/businessprocess/TestExecution.java @@ -76,7 +76,6 @@ import org.eclipse.jubula.client.internal.commands.CAPTestResponseCommand; import org.eclipse.jubula.client.internal.exceptions.ConnectionException; import org.eclipse.jubula.communication.internal.ICommand; import org.eclipse.jubula.communication.internal.message.CAPTestMessage; -import org.eclipse.jubula.communication.internal.message.CAPTestMessageFactory; import org.eclipse.jubula.communication.internal.message.CAPTestResponseMessage; import org.eclipse.jubula.communication.internal.message.DisplayManualTestStepMessage; import org.eclipse.jubula.communication.internal.message.EndTestExecutionMessage; @@ -633,8 +632,7 @@ public class TestExecution { } messageCap = buildMessageCap(currCap, false); if (!m_stopped) { - CAPTestMessage capTestMessage = CAPTestMessageFactory - .getCAPTestMessage(messageCap, getAutToolkit()); + CAPTestMessage capTestMessage = new CAPTestMessage(messageCap); // StepSpeed TimeUtil.delay(m_stepSpeed); while (isPaused()) { diff --git a/org.eclipse.jubula.communication/META-INF/MANIFEST.MF b/org.eclipse.jubula.communication/META-INF/MANIFEST.MF index 4f87bbac4..d945511eb 100644 --- a/org.eclipse.jubula.communication/META-INF/MANIFEST.MF +++ b/org.eclipse.jubula.communication/META-INF/MANIFEST.MF @@ -12,8 +12,6 @@ Export-Package: org.eclipse.jubula.communication.internal, org.eclipse.jubula.communication.internal.listener, org.eclipse.jubula.communication.internal.message, org.eclipse.jubula.communication.internal.message.html, - org.eclipse.jubula.communication.internal.message.swing, - org.eclipse.jubula.communication.internal.message.swt, org.eclipse.jubula.communication.internal.parser, org.eclipse.jubula.communication.internal.writer, org.eclipse.jubula.communication diff --git a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/CAPTestMessage.java b/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/CAPTestMessage.java index 4fcc0caeb..61f25e4ba 100644 --- a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/CAPTestMessage.java +++ b/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/CAPTestMessage.java @@ -10,13 +10,15 @@ *******************************************************************************/ package org.eclipse.jubula.communication.internal.message; +import org.eclipse.jubula.tools.internal.constants.CommandConstants; + /** * This class sends a component-action-param-triple to the server. * * @author BREDEX GmbH * @created 27.08.2004 */ -public abstract class CAPTestMessage extends Message { +public class CAPTestMessage extends Message { /** The CAP message data. */ private MessageCap m_messageCap; @@ -60,9 +62,6 @@ public abstract class CAPTestMessage extends Message { m_messageCap = messageCap; } - /** @return the command class */ - public abstract String getCommandClass(); - /** @return Returns the requestAnswer. */ public boolean isRequestAnswer() { return m_requestAnswer; @@ -75,4 +74,11 @@ public abstract class CAPTestMessage extends Message { public void setRequestAnswer(boolean requestAnswer) { m_requestAnswer = requestAnswer; } + + /** + * @return the command class + */ + public final String getCommandClass() { + return CommandConstants.CAP_TEST_COMMAND; + } }
\ No newline at end of file diff --git a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/CAPTestMessageFactory.java b/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/CAPTestMessageFactory.java deleted file mode 100644 index 6a16871eb..000000000 --- a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/CAPTestMessageFactory.java +++ /dev/null @@ -1,134 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 BREDEX GmbH. - * All rights reserved. This program and the accompanying materials - * are 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: - * BREDEX GmbH - initial API and implementation and/or initial documentation - *******************************************************************************/ -package org.eclipse.jubula.communication.internal.message; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jubula.tools.internal.constants.CommandConstants; -import org.eclipse.jubula.tools.internal.messagehandling.MessageIDs; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - - -/** - * @author BREDEX GmbH - * @created 09.05.2006 - */ -public class CAPTestMessageFactory { - - /** The logger */ - private static final Logger LOG = - LoggerFactory.getLogger(CAPTestMessageFactory.class); - - /** - * mapping from toolkit name (short form) to corresponding CAP Test - * Message class name (FQN) - */ - private static Map<String, String> toolkitToTestMessageClassName = - new HashMap<String, String>(); - - static { - toolkitToTestMessageClassName.put(CommandConstants.SWT_TOOLKIT, - "org.eclipse.jubula.communication.internal.message.swt.CAPSwtTestMessage"); //$NON-NLS-1$ - toolkitToTestMessageClassName.put(CommandConstants.RCP_TOOLKIT, - toolkitToTestMessageClassName.get(CommandConstants.SWT_TOOLKIT)); - toolkitToTestMessageClassName.put(CommandConstants.SWING_TOOLKIT, - "org.eclipse.jubula.communication.internal.message.swing.CAPSwingTestMessage"); //$NON-NLS-1$ - toolkitToTestMessageClassName.put(CommandConstants.HTML_TOOLKIT, - "org.eclipse.jubula.communication.internal.message.html.CAPHtmlTestMessage"); //$NON-NLS-1$ - toolkitToTestMessageClassName.put(CommandConstants.WIN_TOOLKIT, - "org.eclipse.jubula.communication.internal.message.win.CAPWinTestMessage"); //$NON-NLS-1$ - toolkitToTestMessageClassName.put(CommandConstants.WIN__APPS_TOOLKIT, - "org.eclipse.jubula.communication.internal.message.win.CAPWinTestMessage"); //$NON-NLS-1$ - toolkitToTestMessageClassName.put(CommandConstants.IOS_TOOLKIT, - "org.eclipse.jubula.communication.internal.message.ios.IOSCAPTestMessage"); //$NON-NLS-1$ - toolkitToTestMessageClassName.put(CommandConstants.JAVAFX_TOOLKIT, - "org.eclipse.jubula.communication.internal.message.javafx.CAPJavaFXTestMessage"); //$NON-NLS-1$ - } - - /** - * default utility constructor. - */ - private CAPTestMessageFactory() { - // do nothing - } - - /** - * @param messageCap - * the messageCap to set. - * @param autToolKit - * the toolkit ID of the AUT - * @throws UnknownMessageException - * the exception thrown if the instantiation of message failed. - * @return the created Message - */ - public static CAPTestMessage getCAPTestMessage(MessageCap messageCap, - String autToolKit) - throws UnknownMessageException { - String messageClassName = "null"; //$NON-NLS-1$ - try { - messageClassName = toolkitToTestMessageClassName.get(autToolKit); - if (messageClassName != null) { - Class messageClass = Class.forName(messageClassName, false, - CAPTestMessage.class.getClassLoader()); - if (!CAPTestMessage.class.isAssignableFrom( - messageClass)) { - - throw new UnknownMessageException(messageClass.getName() - + "is not assignable to " //$NON-NLS-1$ - + CAPTestMessage.class.getName(), - MessageIDs.E_MESSAGE_NOT_ASSIGNABLE); - } - - // create a sharedInstance and set the message - CAPTestMessage result = - (CAPTestMessage)messageClass.newInstance(); - result.setMessageCap(messageCap); - return result; - } - throw new UnknownMessageException( - "Creating a shared message instance for " //$NON-NLS-1$ - + messageClassName - + "failed: " //$NON-NLS-1$ - + autToolKit, MessageIDs.E_MESSAGE_NOT_CREATED); - } catch (ExceptionInInitializerError eiie) { - throwUnknownMessageException(messageClassName, eiie); - } catch (LinkageError le) { - throwUnknownMessageException(messageClassName, le); - } catch (ClassNotFoundException cnfe) { - throwUnknownMessageException(messageClassName, cnfe); - } catch (InstantiationException ie) { - throwUnknownMessageException(messageClassName, ie); - } catch (IllegalAccessException iae) { - throwUnknownMessageException(messageClassName, iae); - } - return null; - } - - /** - * @param messageClassName - * the message class name - * @param nestedException - * the nested exception - * @throws UnknownMessageException - * when called - */ - private static void throwUnknownMessageException(String messageClassName, - Throwable nestedException) throws UnknownMessageException { - LOG.error(nestedException.getLocalizedMessage(), nestedException); - throw new UnknownMessageException( - "Creating a shared message instance for " //$NON-NLS-1$ - + messageClassName + "failed: " //$NON-NLS-1$ - + nestedException.getMessage(), - MessageIDs.E_MESSAGE_NOT_CREATED); - } -}
\ No newline at end of file diff --git a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/html/CAPHtmlTestMessage.java b/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/html/CAPHtmlTestMessage.java deleted file mode 100644 index c849386c4..000000000 --- a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/html/CAPHtmlTestMessage.java +++ /dev/null @@ -1,45 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 BREDEX GmbH. - * All rights reserved. This program and the accompanying materials - * are 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: - * BREDEX GmbH - initial API and implementation and/or initial documentation - *******************************************************************************/ -package org.eclipse.jubula.communication.internal.message.html; - -import org.eclipse.jubula.communication.internal.message.CAPTestMessage; -import org.eclipse.jubula.communication.internal.message.MessageCap; -import org.eclipse.jubula.tools.internal.constants.CommandConstants; - -/** - * @author BREDEX GmbH - * @created Nov 24, 2009 - */ -public class CAPHtmlTestMessage extends CAPTestMessage { - /** - * Default constructor. - * Do nothing (required by Betwixt). - */ - public CAPHtmlTestMessage() { - // Nothing to be done - } - - /** - * Creates a new instance with the passed CAP message data. The data are - * sent to the AUT server to execute a test step. - * @param messageCap The message data - */ - public CAPHtmlTestMessage(MessageCap messageCap) { - super(messageCap); - } - - /** - * @return the command class - */ - public String getCommandClass() { - return CommandConstants.HTML_CAP_TEST_COMMAND; - } -}
\ No newline at end of file diff --git a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/javafx/CAPJavaFXTestMessage.java b/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/javafx/CAPJavaFXTestMessage.java deleted file mode 100644 index 9a165ec14..000000000 --- a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/javafx/CAPJavaFXTestMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 BREDEX GmbH. - * All rights reserved. This program and the accompanying materials - * are 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: - * BREDEX GmbH - initial API and implementation and/or initial documentation - *******************************************************************************/ -package org.eclipse.jubula.communication.internal.message.javafx; - -import org.eclipse.jubula.communication.internal.message.CAPTestMessage; -import org.eclipse.jubula.communication.internal.message.MessageCap; -import org.eclipse.jubula.tools.internal.constants.CommandConstants; - -/** - * This class sends a component-action-param-triple to the AutJavaFXServer. - * @author BREDEX GmbH - * @created 2013 - */ -public class CAPJavaFXTestMessage extends CAPTestMessage { - /** - * Default constructor. - * Do nothing (required by Betwixt). - */ - public CAPJavaFXTestMessage() { - // Nothing to be done - } - - /** - * Creates a new instance with the passed CAP message data. The data are - * sent to the AUT server to execute a test step. - * @param messageCap The message data - */ - public CAPJavaFXTestMessage(MessageCap messageCap) { - super(messageCap); - } - - /** - * @return the command class - */ - public String getCommandClass() { - return CommandConstants.JAVAFX_CAP_TEST_COMMAND; - } -}
\ No newline at end of file diff --git a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/swing/CAPSwingTestMessage.java b/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/swing/CAPSwingTestMessage.java deleted file mode 100644 index d97a02a43..000000000 --- a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/swing/CAPSwingTestMessage.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 BREDEX GmbH. - * All rights reserved. This program and the accompanying materials - * are 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: - * BREDEX GmbH - initial API and implementation and/or initial documentation - *******************************************************************************/ -package org.eclipse.jubula.communication.internal.message.swing; - -import org.eclipse.jubula.communication.internal.message.CAPTestMessage; -import org.eclipse.jubula.communication.internal.message.MessageCap; -import org.eclipse.jubula.tools.internal.constants.CommandConstants; - -/** - * This class sends a component-action-param-triple to the AutSwingServer. - * @author BREDEX GmbH - * @created 09.05.2006 - */ -public class CAPSwingTestMessage extends CAPTestMessage { - /** - * Default constructor. - * Do nothing (required by Betwixt). - */ - public CAPSwingTestMessage() { - // Nothing to be done - } - - /** - * Creates a new instance with the passed CAP message data. The data are - * sent to the AUT server to execute a test step. - * @param messageCap The message data - */ - public CAPSwingTestMessage(MessageCap messageCap) { - super(messageCap); - } - - /** - * @return the command class - */ - public String getCommandClass() { - return CommandConstants.SWING_CAP_TEST_COMMAND; - } -}
\ No newline at end of file diff --git a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/swt/CAPSwtTestMessage.java b/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/swt/CAPSwtTestMessage.java deleted file mode 100644 index f23b9c579..000000000 --- a/org.eclipse.jubula.communication/src/org/eclipse/jubula/communication/internal/message/swt/CAPSwtTestMessage.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 BREDEX GmbH. - * All rights reserved. This program and the accompanying materials - * are 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: - * BREDEX GmbH - initial API and implementation and/or initial documentation - *******************************************************************************/ -package org.eclipse.jubula.communication.internal.message.swt; - -import org.eclipse.jubula.communication.internal.message.CAPTestMessage; -import org.eclipse.jubula.communication.internal.message.MessageCap; -import org.eclipse.jubula.tools.internal.constants.CommandConstants; - -/** - * This class sends a component-action-param-triple to the AutSwtServer. - * @author BREDEX GmbH - * @created 09.05.2006 - */ -public class CAPSwtTestMessage extends CAPTestMessage { - /** - * Default constructor. - * Do nothing (required by Betwixt). - */ - public CAPSwtTestMessage() { - // Nothing to be done - } - - /** - * Creates a new instance with the passed CAP message data. The data are - * sent to the AUT server to execute a test step. - * @param messageCap The message data - */ - public CAPSwtTestMessage(MessageCap messageCap) { - super(messageCap); - } - - /** @return the command class */ - public String getCommandClass() { - return CommandConstants.SWT_CAP_TEST_COMMAND; - } -}
\ No newline at end of file diff --git a/org.eclipse.jubula.rc.common/src/org/eclipse/jubula/rc/common/AUTServer.java b/org.eclipse.jubula.rc.common/src/org/eclipse/jubula/rc/common/AUTServer.java index 5a2ef7c14..1fb678bcb 100644 --- a/org.eclipse.jubula.rc.common/src/org/eclipse/jubula/rc/common/AUTServer.java +++ b/org.eclipse.jubula.rc.common/src/org/eclipse/jubula/rc/common/AUTServer.java @@ -30,6 +30,7 @@ import org.eclipse.jubula.rc.common.adaptable.AdapterFactoryRegistry; import org.eclipse.jubula.rc.common.commands.AUTStartCommand; import org.eclipse.jubula.rc.common.commands.ChangeAUTModeCommand; import org.eclipse.jubula.rc.common.driver.IRobot; +import org.eclipse.jubula.rc.common.exception.ComponentNotFoundException; import org.eclipse.jubula.rc.common.listener.AUTEventListener; import org.eclipse.jubula.rc.common.listener.BaseAUTListener; import org.eclipse.jubula.rc.common.listener.IAutListenerAppender; @@ -940,7 +941,22 @@ public abstract class AUTServer { * @return An IRobot instance
*/
public abstract IRobot getRobot();
-
+ + /** + * @param ci + * the component identifier + * @param timeout + * the timeout + * @return the found component + * @throws IllegalArgumentException + * if error occurred + * @throws ComponentNotFoundException + * if component could not found in compHierarchy + */ + public abstract Object findComponent(IComponentIdentifier ci, + int timeout) throws ComponentNotFoundException, + IllegalArgumentException; +
/**
* Starts an Inspector that allows data for the next component clicked to
* be sent to the client.
diff --git a/org.eclipse.jubula.rc.common/src/org/eclipse/jubula/rc/common/commands/AbstractCapTestCommand.java b/org.eclipse.jubula.rc.common/src/org/eclipse/jubula/rc/common/commands/CapTestCommand.java index 5b1bc3846..073bda501 100644 --- a/org.eclipse.jubula.rc.common/src/org/eclipse/jubula/rc/common/commands/AbstractCapTestCommand.java +++ b/org.eclipse.jubula.rc.common/src/org/eclipse/jubula/rc/common/commands/CapTestCommand.java @@ -51,10 +51,10 @@ import org.slf4j.LoggerFactory; * @author BREDEX GmbH * @created 02.01.2007 */ -public abstract class AbstractCapTestCommand implements ICommand { +public class CapTestCommand implements ICommand { /** The logger */ private static final Logger LOG = LoggerFactory.getLogger( - AbstractCapTestCommand.class); + CapTestCommand.class); /** The message. */ private CAPTestMessage m_capTestMessage; @@ -132,7 +132,8 @@ public abstract class AbstractCapTestCommand implements ICommand { final AUTServerConfiguration rcConfig = AUTServerConfiguration .getInstance(); if (!messageCap.hasDefaultMapping()) { - Object component = findComponent(ci, timeout); + Object component = AUTServer.getInstance().findComponent(ci, + timeout); implClass = rcConfig.prepareImplementationClass(component, component.getClass()); } else { @@ -202,21 +203,6 @@ public abstract class AbstractCapTestCommand implements ICommand { } /** - * @param ci - * the component identifier - * @param timeout - * the timeout - * @return the found component - * @throws IllegalArgumentException - * if error occurred - * @throws ComponentNotFoundException - * if component could not found in compHierarchy - */ - protected abstract Object findComponent(IComponentIdentifier ci, - int timeout) throws ComponentNotFoundException, - IllegalArgumentException; - - /** * calls the method of the implementation class per reflection * {@inheritDoc} */ diff --git a/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/JavaFXAUTServer.java b/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/JavaFXAUTServer.java index bd4c896da..30705fff5 100644 --- a/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/JavaFXAUTServer.java +++ b/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/JavaFXAUTServer.java @@ -17,6 +17,7 @@ import javafx.stage.Stage; import org.eclipse.jubula.rc.common.AUTServer; import org.eclipse.jubula.rc.common.driver.IRobot; +import org.eclipse.jubula.rc.common.exception.ComponentNotFoundException; import org.eclipse.jubula.rc.common.listener.BaseAUTListener; import org.eclipse.jubula.rc.javafx.components.CurrentStages; import org.eclipse.jubula.rc.javafx.driver.RobotFactoryJavaFXImpl; @@ -25,6 +26,7 @@ import org.eclipse.jubula.rc.javafx.listener.CheckListener; import org.eclipse.jubula.rc.javafx.listener.ComponentHandler; import org.eclipse.jubula.rc.javafx.listener.MappingListener; import org.eclipse.jubula.rc.javafx.listener.RecordListener; +import org.eclipse.jubula.tools.internal.objects.IComponentIdentifier; /** * The AutServer controlling the AUT. <br> @@ -120,4 +122,12 @@ public class JavaFXAUTServer extends AUTServer { public IRobot getRobot() { return RobotFactoryJavaFXImpl.INSTANCE.getRobot(); } + + /** + * {@inheritDoc} + */ + public Object findComponent(IComponentIdentifier ci, int timeout) + throws ComponentNotFoundException, IllegalArgumentException { + return ComponentHandler.findComponent(ci, true, timeout); + } }
\ No newline at end of file diff --git a/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/commands/CAPTestCommand.java b/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/commands/CAPTestCommand.java deleted file mode 100644 index c20f64fc4..000000000 --- a/org.eclipse.jubula.rc.javafx/src/org/eclipse/jubula/rc/javafx/commands/CAPTestCommand.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2013 BREDEX GmbH. - * All rights reserved. This program and the accompanying materials - * are 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: - * BREDEX GmbH - initial API and implementation and/or initial documentation - *******************************************************************************/ -package org.eclipse.jubula.rc.javafx.commands; - -import org.eclipse.jubula.rc.common.commands.AbstractCapTestCommand; -import org.eclipse.jubula.rc.common.exception.ComponentNotFoundException; -import org.eclipse.jubula.rc.javafx.listener.ComponentHandler; -import org.eclipse.jubula.tools.internal.objects.IComponentIdentifier; - -/** - * This class gets an message with ICommand action parameter triples. It invokes - * the implementation class and executes the method. Then it creates a - * <code>CAPTestResponseMessage</code> and sends it back to the client. The - * <code>CAPTestResponseMessage</code> contains an error event only if the test - * step fails, due to a problem prior to or during the execution of the - * implementation class action method. - * - * @author BREDEX GmbH - * @created 4.11.2013 - * - */ -public class CAPTestCommand extends AbstractCapTestCommand { - - /** - * {@inheritDoc} - */ - protected Object findComponent(IComponentIdentifier ci, int timeout) - throws ComponentNotFoundException, IllegalArgumentException { - - return ComponentHandler.findComponent(ci, true, timeout); - } - -}
\ No newline at end of file diff --git a/org.eclipse.jubula.rc.swing/META-INF/MANIFEST.MF b/org.eclipse.jubula.rc.swing/META-INF/MANIFEST.MF index 5f9b15980..4629f1839 100644 --- a/org.eclipse.jubula.rc.swing/META-INF/MANIFEST.MF +++ b/org.eclipse.jubula.rc.swing/META-INF/MANIFEST.MF @@ -16,7 +16,6 @@ Require-Bundle: org.apache.commons.beanutils;bundle-version="[1.7.0,2.0.0)", org.eclipse.jubula.communication;bundle-version="[3.0.0,3.1.0)", org.eclipse.jubula.rc.common;bundle-version="[3.0.0,3.1.0)" Export-Package: org.eclipse.jubula.rc.swing, - org.eclipse.jubula.rc.swing.commands, org.eclipse.jubula.rc.swing.components, org.eclipse.jubula.rc.swing.driver, org.eclipse.jubula.rc.swing.listener, diff --git a/org.eclipse.jubula.rc.swing/src/org/eclipse/jubula/rc/swing/SwingAUTServer.java b/org.eclipse.jubula.rc.swing/src/org/eclipse/jubula/rc/swing/SwingAUTServer.java index a3ed5c2d0..257b03e5e 100644 --- a/org.eclipse.jubula.rc.swing/src/org/eclipse/jubula/rc/swing/SwingAUTServer.java +++ b/org.eclipse.jubula.rc.swing/src/org/eclipse/jubula/rc/swing/SwingAUTServer.java @@ -21,6 +21,7 @@ import java.util.regex.PatternSyntaxException; import org.eclipse.jubula.rc.common.AUTServer; import org.eclipse.jubula.rc.common.driver.IRobot; import org.eclipse.jubula.rc.common.driver.IRobotFactory; +import org.eclipse.jubula.rc.common.exception.ComponentNotFoundException; import org.eclipse.jubula.rc.common.listener.BaseAUTListener; import org.eclipse.jubula.rc.swing.driver.RobotFactoryConfig; import org.eclipse.jubula.rc.swing.listener.CheckListener; @@ -29,6 +30,7 @@ import org.eclipse.jubula.rc.swing.listener.FocusTracker; import org.eclipse.jubula.rc.swing.listener.MappingListener; import org.eclipse.jubula.rc.swing.listener.RecordListener; import org.eclipse.jubula.tools.internal.constants.AUTServerExitConstants; +import org.eclipse.jubula.tools.internal.objects.IComponentIdentifier; import org.eclipse.jubula.tools.internal.utils.EnvironmentUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -253,5 +255,12 @@ public class SwingAUTServer extends AUTServer { return returnArray; } - -} + /** + * {@inheritDoc} + */ + public Object findComponent(IComponentIdentifier ci, int timeout) + throws ComponentNotFoundException, IllegalArgumentException { + + return ComponentHandler.findComponent(ci, true, timeout); + } +}
\ No newline at end of file diff --git a/org.eclipse.jubula.rc.swing/src/org/eclipse/jubula/rc/swing/commands/CAPTestCommand.java b/org.eclipse.jubula.rc.swing/src/org/eclipse/jubula/rc/swing/commands/CAPTestCommand.java deleted file mode 100644 index 817333836..000000000 --- a/org.eclipse.jubula.rc.swing/src/org/eclipse/jubula/rc/swing/commands/CAPTestCommand.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 BREDEX GmbH. - * All rights reserved. This program and the accompanying materials - * are 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: - * BREDEX GmbH - initial API and implementation and/or initial documentation - *******************************************************************************/ -package org.eclipse.jubula.rc.swing.commands; - -import org.eclipse.jubula.rc.common.commands.AbstractCapTestCommand; -import org.eclipse.jubula.rc.common.exception.ComponentNotFoundException; -import org.eclipse.jubula.rc.swing.listener.ComponentHandler; -import org.eclipse.jubula.tools.internal.objects.IComponentIdentifier; - - -/** - * This class gets an message with ICommand action parameter triples. It invokes - * the implementation class and executes the method. Then it creates a - * <code>CAPTestResponseMessage</code> and sends it back to the client. The - * <code>CAPTestResponseMessage</code> contains an error event only if the - * test step fails, due to a problem prior to or during the execution of the - * implementation class action method. - * - * @author BREDEX GmbH - * @created 02.09.2004 - * - */ -public class CAPTestCommand extends AbstractCapTestCommand { - - /** - * {@inheritDoc} - */ - protected Object findComponent(IComponentIdentifier ci, int timeout) - throws ComponentNotFoundException, IllegalArgumentException { - - return ComponentHandler.findComponent(ci, true, timeout); - } - -}
\ No newline at end of file diff --git a/org.eclipse.jubula.rc.swt/src/org/eclipse/jubula/rc/swt/SwtAUTServer.java b/org.eclipse.jubula.rc.swt/src/org/eclipse/jubula/rc/swt/SwtAUTServer.java index 7f0244c1d..f6c3c4c8e 100644 --- a/org.eclipse.jubula.rc.swt/src/org/eclipse/jubula/rc/swt/SwtAUTServer.java +++ b/org.eclipse.jubula.rc.swt/src/org/eclipse/jubula/rc/swt/SwtAUTServer.java @@ -14,6 +14,7 @@ import java.lang.reflect.InvocationTargetException; import org.eclipse.jubula.rc.common.AUTServer; import org.eclipse.jubula.rc.common.driver.IRobot; +import org.eclipse.jubula.rc.common.exception.ComponentNotFoundException; import org.eclipse.jubula.rc.common.listener.BaseAUTListener; import org.eclipse.jubula.rc.swt.driver.RobotFactoryConfig; import org.eclipse.jubula.rc.swt.driver.RobotFactorySwtImpl; @@ -26,6 +27,7 @@ import org.eclipse.jubula.rc.swt.listener.MappingListener; import org.eclipse.jubula.rc.swt.listener.RecordListener; import org.eclipse.jubula.rc.swt.listener.TableSelectionTracker; import org.eclipse.jubula.tools.internal.constants.AUTServerExitConstants; +import org.eclipse.jubula.tools.internal.objects.IComponentIdentifier; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Listener; import org.slf4j.Logger; @@ -169,7 +171,7 @@ public class SwtAUTServer extends AUTServer { } catch (NullPointerException se) { // no permission to remove an SWTEventListener, // should not occur, because addSWTEventListener() should be called - // first. But just in case, close the vm + // first. But just in case, close the VM LOG.error(se.getLocalizedMessage(), se); System.exit(AUTServerExitConstants .EXIT_SECURITY_VIOLATION_AWT_EVENT_LISTENER); @@ -242,5 +244,13 @@ public class SwtAUTServer extends AUTServer { public void setDisplay(Display display) { m_display = display; } - + + /** + * {@inheritDoc} + */ + public Object findComponent(final IComponentIdentifier ci, + final int timeout) throws ComponentNotFoundException, + IllegalArgumentException { + return ComponentHandler.findComponent(ci, true, timeout); + } }
\ No newline at end of file diff --git a/org.eclipse.jubula.rc.swt/src/org/eclipse/jubula/rc/swt/commands/CAPTestCommand.java b/org.eclipse.jubula.rc.swt/src/org/eclipse/jubula/rc/swt/commands/CAPTestCommand.java deleted file mode 100644 index 797737496..000000000 --- a/org.eclipse.jubula.rc.swt/src/org/eclipse/jubula/rc/swt/commands/CAPTestCommand.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2010 BREDEX GmbH. - * All rights reserved. This program and the accompanying materials - * are 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: - * BREDEX GmbH - initial API and implementation and/or initial documentation - *******************************************************************************/ -package org.eclipse.jubula.rc.swt.commands; - -import org.eclipse.jubula.rc.common.commands.AbstractCapTestCommand; -import org.eclipse.jubula.rc.common.exception.ComponentNotFoundException; -import org.eclipse.jubula.rc.swt.listener.ComponentHandler; -import org.eclipse.jubula.tools.internal.objects.IComponentIdentifier; - - -/** - * This class gets an message with ICommand action parameter triples. It invokes - * the implementation class and executes the method. Then it creates a - * <code>CAPTestResponseMessage</code> and sends it back to the client. The - * <code>CAPTestResponseMessage</code> contains an error event only if the - * test step fails, due to a problem prior to or during the execution of the - * implementation class action method. - * - * @author BREDEX GmbH - * @created 02.09.2004 - * - */ -public class CAPTestCommand extends AbstractCapTestCommand { - - /** the found comp */ - private Object m_comp; - - /** - * {@inheritDoc} - */ - protected Object findComponent(final IComponentIdentifier ci, - final int timeout) throws ComponentNotFoundException, - IllegalArgumentException { - - m_comp = ComponentHandler.findComponent(ci, true, timeout); - return m_comp; - } - -}
\ No newline at end of file diff --git a/org.eclipse.jubula.toolkit.api.gen/templates/ToolkitInfoGenerator.javajet b/org.eclipse.jubula.toolkit.api.gen/templates/ToolkitInfoGenerator.javajet index 723f55f48..c00f22e42 100644 --- a/org.eclipse.jubula.toolkit.api.gen/templates/ToolkitInfoGenerator.javajet +++ b/org.eclipse.jubula.toolkit.api.gen/templates/ToolkitInfoGenerator.javajet @@ -86,10 +86,5 @@ public final class <%=className%> extends AbstractToolkitInfo { @NonNull public Map<ComponentClass, String> getTypeMapping() { return m_map; } - - /** {@inheritDoc} */ - @NonNull public String getToolkitID() { - return "<%=genInfo.getToolkitID()%>"; //$NON-NLS-1$ - } } <%}%>
\ No newline at end of file diff --git a/org.eclipse.jubula.toolkit.api/src/org/eclipse/jubula/toolkit/internal/AbstractToolkitInfo.java b/org.eclipse.jubula.toolkit.api/src/org/eclipse/jubula/toolkit/internal/AbstractToolkitInfo.java index 641e76a43..41b98489c 100644 --- a/org.eclipse.jubula.toolkit.api/src/org/eclipse/jubula/toolkit/internal/AbstractToolkitInfo.java +++ b/org.eclipse.jubula.toolkit.api/src/org/eclipse/jubula/toolkit/internal/AbstractToolkitInfo.java @@ -22,9 +22,4 @@ public abstract class AbstractToolkitInfo implements ToolkitInfo { * of its tester class */ public abstract Map<ComponentClass, String> getTypeMapping(); - - /** - * @return the toolkit id - */ - public abstract String getToolkitID(); -} +}
\ No newline at end of file diff --git a/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/constants/CommandConstants.java b/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/constants/CommandConstants.java index e4713c4c4..c6e4540f0 100644 --- a/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/constants/CommandConstants.java +++ b/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/constants/CommandConstants.java @@ -104,16 +104,8 @@ public abstract class CommandConstants { public static final String AUT_HIGHLIGHT_COMMAND = "org.eclipse.jubula.rc.common.commands.AUTHighlightComponentCommand"; //$NON-NLS-1$
/** constant: "org.eclipse.jubula.rc.common.commands.AUTStartCommand" */
public static final String AUT_START_COMMAND = "org.eclipse.jubula.rc.common.commands.AUTStartCommand"; //$NON-NLS-1$
- /** constant: "org.eclipse.jubula.rc.swt.commands.AUTStartCommand" */
- public static final String SWING_CAP_TEST_COMMAND = "org.eclipse.jubula.rc.swing.commands.CAPTestCommand"; //$NON-NLS-1$
- /** constant: "org.eclipse.jubula.rc.swt.commands.CAPTestCommand" */
- public static final String SWT_CAP_TEST_COMMAND = "org.eclipse.jubula.rc.swt.commands.CAPTestCommand"; //$NON-NLS-1$
- /** constant: "com.bredexsw.jubula.rc.html.commands.CAPTestCommand" */
- public static final String HTML_CAP_TEST_COMMAND = "com.bredexsw.jubula.rc.html.commands.CAPTestCommand"; //$NON-NLS-1$ - /** constant: "com.bredexsw.guidancer.rc.win.commands.CAPTestCommand" */ - public static final String WIN_CAP_TEST_COMMAND = "com.bredexsw.guidancer.rc.win.commands.CAPTestCommand"; //$NON-NLS-1$ - /** constant: "com.bredexsw.jubula.rc.win.apps.commands.CAPTestCommand" */ - public static final String WIN_APP_CAP_TEST_COMMAND = "com.bredexsw.guidancer.rc.win.commands.CAPTestCommand"; //$NON-NLS-1$
+ /** constant */ + public static final String CAP_TEST_COMMAND = "org.eclipse.jubula.rc.common.commands.CapTestCommand"; //$NON-NLS-1$ /** constant: "org.eclipse.jubula.rc.common.commands.ChangeAUTModeCommand" */
public static final String CHANGE_AUT_MODE_COMMAND = "org.eclipse.jubula.rc.common.commands.ChangeAUTModeCommand"; //$NON-NLS-1$
/** constant: "org.eclipse.jubula.rc.swing.commands.ChangeAUTModeCommand" */ @@ -257,8 +249,6 @@ public abstract class CommandConstants { public static final String AUT_JAVAFX_SERVER = "org.eclipse.jubula.rc.javafx.JavaFXAUTServer"; //$NON-NLS-1$ /** ID of the JavaFX RC bundle */ public static final String RC_JAVAFX_BUNDLE_ID = "org.eclipse.jubula.rc.javafx"; //$NON-NLS-1$ - /** constant: "org.eclipse.jubula.rc.swt.commands.CAPTestCommand" */ - public static final String JAVAFX_CAP_TEST_COMMAND = "org.eclipse.jubula.rc.javafx.commands.CAPTestCommand"; //$NON-NLS-1$ /** constant: "JavaFX" */ public static final String JAVAFX_TOOLKIT = "org.eclipse.jubula.JavaFXToolkitPlugin"; //$NON-NLS-1$ diff --git a/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/i18n/guidancerStrings.properties b/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/i18n/guidancerStrings.properties index d618fad84..c9ebb477f 100644 --- a/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/i18n/guidancerStrings.properties +++ b/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/i18n/guidancerStrings.properties @@ -360,8 +360,6 @@ ErrorMessage.LOAD_PROJECT_CONFIG_CONFLICT=Cannot load Project.\n\nA component, a ErrorMessage.LOGIN_FAILED=Login failed. ErrorMessage.MAPPING_GENERAL=General Database error. ErrorMessage.MASTER_REFRESH=Data refresh failed. Please restart the application. -ErrorMessage.MESSAGE_NOT_ASSIGNABLE=A message for AUT Agent is not assignable. -ErrorMessage.MESSAGE_NOT_CREATED=Creating a message for AUT Agent failed. ErrorMessage.MESSAGE_NOT_SEND=Message was not sent to AUT Agent. ErrorMessage.MESSAGE_NOT_TO_REQUEST=No request message. ErrorMessage.MESSAGE_REQUEST=Problem while requesting a message from AUT Agent. diff --git a/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/messagehandling/MessageIDs.java b/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/messagehandling/MessageIDs.java index d1c67cb95..6defeef1e 100644 --- a/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/messagehandling/MessageIDs.java +++ b/org.eclipse.jubula.tools/src/org/eclipse/jubula/tools/internal/messagehandling/MessageIDs.java @@ -289,16 +289,16 @@ public class MessageIDs { /** if a project version is already in use in db */ public static final Integer E_PROJECTVERSION_ALREADY_EXISTS = new Integer(4043); - /** if a name conflict exists between imported and existing projects (same guid, different name) */ + /** if a name conflict exists between imported and existing projects (same UUID, different name) */ public static final Integer E_PROJ_NAME_CONFLICT = new Integer(4045); - /** if a guid conflict exists between imported and existing projects (same name, different guid) */ + /** if a UUID conflict exists between imported and existing projects (same name, different guid) */ public static final Integer E_PROJ_GUID_CONFLICT = new Integer(4046); /** if a project to load has a different major version */ public static final Integer E_LOAD_PROJECT_TOOLKIT_MAJOR_VERSION_ERROR = new Integer(4047); - /** if a project xml to load is too old for converters */ + /** if a project XML to load is too old for converters */ public static final Integer E_LOAD_PROJECT_XML_VERSION_ERROR = new Integer(4048); /** Move to external project error because of toolkit levels do not match */ @@ -320,7 +320,7 @@ public class MessageIDs { /** if a Function is not available */ public static final Integer E_NO_FUNCTION = new Integer(4056); // -- CONNECTION ERROR IDs --------------------------------------------- - /** if problem occurres, during AUT connection initialization */ + /** if problem occurred, during AUT connection initialization */ public static final Integer E_AUT_CONNECTION_INIT = new Integer(5000); /** if sth. was called on an connected connection */ public static final Integer E_CONNECTED_CONNECTION = new Integer(5001); @@ -338,9 +338,9 @@ public class MessageIDs { public static final Integer E_INTERRUPTED_CONNECTION = new Integer(5007); /** if a version error between AutStarter and Client occurs */ public static final Integer E_VERSION_ERROR = new Integer(5008); - /** if an error occured while trying to start the AUT */ + /** if an error occurred while trying to start the AUT */ public static final Integer E_AUT_START = new Integer(5009); - /** if an error occured while trying to start the AutStarter */ + /** if an error occurred while trying to start the AutStarter */ public static final Integer E_SERVER_ERROR = new Integer(5010); /** * if an operation was attempted that requires a connection to the @@ -369,7 +369,7 @@ public class MessageIDs { new Integer(6008); /** if creating a command failed */ public static final Integer E_COMMAND_NOT_CREATED = new Integer(6009); - /** if command is not asignable */ + /** if command is not assignable */ public static final Integer E_COMMAND_NOT_ASSIGNABLE = new Integer(6010); /** if a message could not send as request */ public static final Integer E_MESSAGE_NOT_TO_REQUEST = new Integer(6011); @@ -377,18 +377,14 @@ public class MessageIDs { public static final Integer E_NO_MESSAGE_TO_SEND = new Integer(6012); /** if a message could not send */ public static final Integer E_MESSAGE_NOT_SEND = new Integer(6013); - /** if an error occurres while sending a message */ + /** if an error occurred while sending a message */ public static final Integer E_MESSAGE_SEND = new Integer(6014); - /** if an error occurres while message was requested */ + /** if an error occurred while message was requested */ public static final Integer E_MESSAGE_REQUEST = new Integer(6015); - /** if an error occurres while communicator connection */ + /** if an error occurred while communicator connection */ public static final Integer E_COMMUNICATOR_CONNECTION = new Integer(6016); /** if there is no command for receiving response */ public static final Integer E_NO_RECEIVING_COMMAND = new Integer(6017); - /** if creating a message failed */ - public static final Integer E_MESSAGE_NOT_CREATED = new Integer(6018); - /** if message is not asignable */ - public static final Integer E_MESSAGE_NOT_ASSIGNABLE = new Integer(6019); // -- RUNTIME ERROR IDs ------------------------------------------------- /** if an editor cannot openend */ public static final Integer E_CANNOT_OPEN_EDITOR = new Integer(7000); @@ -400,7 +396,7 @@ public class MessageIDs { public static final Integer E_CANNOT_OPEN_PERSPECTIVE = new Integer(7003); /** if an unlocked workversion cannot be saved */ public static final Integer E_CANNOT_SAVE_UNLOCKED = new Integer(7004); - /** if an inavlid workversion cannot be saved */ + /** if an invalid workversion cannot be saved */ public static final Integer E_CANNOT_SAVE_INVALID = new Integer(7005); /** if you are not allowed to get a transaction because of a null session */ public static final Integer E_NULL_SESSION = new Integer(7006); @@ -408,7 +404,7 @@ public class MessageIDs { public static final Integer E_NON_RECOVERABLE = new Integer(7007); /** if an opened session failed */ public static final Integer E_SESSION_FAILED = new Integer(7008); - /** if an error occured while trying to start the AutStarter */ + /** if an error occurred while trying to start the AutStarter */ public static final Integer E_TEST_EXECUTION_ERROR = new Integer(7009); /** variable could not be resolved because no saving before */ public static final Integer E_UNRESOLV_VAR_ERROR = new Integer(7010); @@ -802,8 +798,6 @@ public class MessageIDs { messageMap.put(E_MESSAGE_REQUEST, e, "ErrorMessage.MESSAGE_REQUEST", null); //$NON-NLS-1$ messageMap.put(E_COMMUNICATOR_CONNECTION, e, "ErrorMessage.COMMUNICATOR_CONNECTION", null); //$NON-NLS-1$ messageMap.put(E_NO_RECEIVING_COMMAND, e, "ErrorMessage.NO_RECEIVING_COMMAND", null); //$NON-NLS-1$ - messageMap.put(E_MESSAGE_NOT_CREATED, e, "ErrorMessage.MESSAGE_NOT_CREATED", new String[]{"ErrorDetail.SUPPORT"}); //$NON-NLS-1$ //$NON-NLS-2$ - messageMap.put(E_MESSAGE_NOT_ASSIGNABLE, e, "ErrorMessage.MESSAGE_NOT_ASSIGNABLE", new String[]{"ErrorDetail.SUPPORT"}); //$NON-NLS-1$ //$NON-NLS-2$ } /** |