Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jubula-rc-dev] Extending guidancer.concrete.TabbedPane for SWT/RCP

Not sure if 'param' is also used for return type. As far as I know, it is just used for specifying action method arguments. So what I suggest is this -

 

Don't worry about return type for now. Just remove first param tag for 'Variable' type from your ComponentConfiguration.xml. Keep rest of the param tags. This will make sure the arguments you specified in your xml match with your method. Then execute the test. See if error still recurs. If not, then I guess that's it.

 

I am not aware how to handle return type of method. Why do you need it anyway? Doesn't Jubula take care of it? If you really need to handle return type, then may be you can explore further or put fresh query on forum. But before that, please try what I have suggested above and see if that atleast removes the test step execution obstacle.


From: jubula-rc-dev-bounces@xxxxxxxxxxx [jubula-rc-dev-bounces@xxxxxxxxxxx] on behalf of Fochetti Daniele [Daniele.Fochetti@xxxxxxxxxxxxx]
Sent: Wednesday, March 26, 2014 9:25 PM
To: development Jubula remote control components
Subject: Re: [jubula-rc-dev] Extending guidancer.concrete.TabbedPane for SWT/RCP

Very good point!
 
My thoughts were, that I need four param elements in the ComponentConfiguration.xml for the four 'input' parameters of the method and one param element named "CompSystem.Variable" for the methods return value which should be placed into the "Stored Title" in the test step parameter.
Would you confirm that these thoughts are ok sofar?
 
But now I you pointed me on a potential missmatch of the methods return type "String" and the type "guidancer.datatype.Variable" specified in the ComponentConfiguration.xml.
Must my method be declared as "public Variable rcStoreTitleOfTabByIndex(int index, String direction, int beginIndex, int endIndex) throws StepExecutionException"?
 
Thanks for your help.
Daniele

>>> Yuvraj Nigade <yuvraj_nigade@xxxxxxxxxxxxxxxx> 26.03.2014 15:17 >>>

Also, you have defined your method as below=>

 

public String rcStoreTitleOfTabByIndex(int index, String direction, int beginIndex, int endIndex) throws StepExecutionException

Va

Four arguments.

 

But your ComponentConfiguration.xml has this =>

 

<compSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../org.eclipse.jubula.toolkit.common/resources/xml/ToolkitComponentConfiguration.xsd">
<configVersion>
<majorVersion>1</majorVersion>
<minorVersion>38</minorVersion>
</configVersion>
<toolkitComponent type="ch.ucc.uwb.TabFolderTitle" visible="false">
<realizes>ch.ucc.uwb.TabbedPanTitle</realizes>
<testerClass>org.eclipse.jubula.rc.swt.tester.TabbedPaneCustTester</testerClass>
<componentClass name="org.eclipse.swt.widgets.TabFolder" />
</toolkitComponent>
<toolkitComponent type="ch.ucc.uwb.CTabFolderTitle" visible="false">
<realizes>ch.ucc.uwb.TabbedPanTitle</realizes>
<testerClass>org.eclipse.jubula.rc.swt.tester.TabbedPaneCustTester</testerClass>
<componentClass name="org.eclipse.swt.widgets.CTabFolder" />
</toolkitComponent>
<toolkitComponent type="ch.ucc.uwb.TabbedPanTitle">
<realizes>guidancer.abstract.SwtTabFolder</realizes>
<action name="MyCompSystem.StoreTitleOfTabByIndex" changed="2.0.0">
<method>rcStoreTitleOfTabByIndex</method>
<param name="CompSystem.Variable">
<type>guidancer.datatype.Variable</type>
</param>
<param name="MyCompSystem.TabIndex">
<type>java.lang.Integer</type>
</param>
<param name="MyCompSystem.Direction">
<type>java.lang.String</type>
<defaultValue>l2r</defaultValue>
<valueSet>
<element name="MyCompSystem.Left2Right" value="l2r" />
<element name="MyCompSystem.Right2Left" value="r2l" />
</valueSet>
</param>
<param name="MyCompSystem.BeginIndex">
<type>java.lang.Integer</type>
<defaultValue>0</defaultValue>
</param>
<param name="MyCompSystem.EndIndex">
<type>java.lang.Integer</type>
</param>
<postExecutionCommand>org.eclipse.jubula.client.core.businessprocess.TestExecution$VariableStorerCmd</postExecutionCommand>
</action>
</toolkitComponent>
</compSystem>
 
See the param marked in red. Isn't it a missmatch with actual method in the code? Please check and sorry if I have overlooked anything.

From: jubula-rc-dev-bounces@xxxxxxxxxxx [jubula-rc-dev-bounces@xxxxxxxxxxx] on behalf of Fochetti Daniele [Daniele.Fochetti@xxxxxxxxxxxxx]
Sent: Monday, March 24, 2014 7:10 PM
To: jubula-rc-dev@xxxxxxxxxxx
Subject: Re: [jubula-rc-dev] Extending guidancer.concrete.TabbedPane for SWT/RCP

Hi Marvin
 
Thank you for your advice.
 
It looks like the ITE uses my ComponentConfiguration, because I can create the test step and define my desired action.
But running the test still fails with following error:
 
"2014-03-24 12:47:32.854 [Connection.ReaderThread:Socket[addr=UCC-005120.uccd01.ucc/172.28.22.33,port=3493,localport=3507]] ERROR o.e.j.r.c.c.AbstractCapTestCommand - implementation class method not found
java.lang.NoSuchMethodException: No such accessible method: rcStoreTitleOfTabByIndex() on object: org.eclipse.jubula.rc.common.tester.TabbedPaneTester
 at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:278) ~[org.apache.commons.beanutils.jar:na]
"
 
My application is built on the eclipse scout framework so it should be a SWT/RCP OSGI application. Therefor I deployed the RC fragment containing my tester class only into the applications plugin directory. I am using the standalone AUT agent.
 
Here is my current Toolkit and RC configuration
 
========================================
 
Toolkit:
 
ComponentConfiguration.xml
---------------------------------
<compSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../org.eclipse.jubula.toolkit.common/resources/xml/ToolkitComponentConfiguration.xsd">
 <configVersion>
  <majorVersion>1</majorVersion>
  <minorVersion>38</minorVersion>
 </configVersion>
 
 
 
 <toolkitComponent type="ch.ucc.uwb.TabFolderTitle" visible="false">
  <realizes>ch.ucc.uwb.TabbedPanTitle</realizes>
  <testerClass>org.eclipse.jubula.rc.swt.tester.TabbedPaneCustTester</testerClass>
  <componentClass name="org.eclipse.swt.widgets.TabFolder" />
 </toolkitComponent>
 
 <toolkitComponent type="ch.ucc.uwb.CTabFolderTitle" visible="false">
  <realizes>ch.ucc.uwb.TabbedPanTitle</realizes>
  <testerClass>org.eclipse.jubula.rc.swt.tester.TabbedPaneCustTester</testerClass>
  <componentClass name="org.eclipse.swt.widgets.CTabFolder" />
 </toolkitComponent>
 
 <toolkitComponent type="ch.ucc.uwb.TabbedPanTitle">
  <realizes>guidancer.abstract.SwtTabFolder</realizes>
        <action name="MyCompSystem.StoreTitleOfTabByIndex" changed="2.0.0">
   <method>rcStoreTitleOfTabByIndex</method>
   <param name="CompSystem.Variable">
                <type>guidancer.datatype.Variable</type>
            </param>
   <param name="MyCompSystem.TabIndex">
    <type>java.lang.Integer</type>
   </param>
   <param name="MyCompSystem.Direction">
    <type>java.lang.String</type>
    <defaultValue>l2r</defaultValue>
    <valueSet>
     <element name="MyCompSystem.Left2Right" value="l2r" />
     <element name="MyCompSystem.Right2Left" value="r2l" />
    </valueSet>
   </param>
   <param name="MyCompSystem.BeginIndex">
    <type>java.lang.Integer</type>
    <defaultValue>0</defaultValue>
   </param>
   <param name="MyCompSystem.EndIndex">
    <type>java.lang.Integer</type>
   </param>
            <postExecutionCommand>org.eclipse.jubula.client.core.businessprocess.TestExecution$VariableStorerCmd</postExecutionCommand>
  </action>
 </toolkitComponent>
 
</compSystem>
 
plugin.xml
-------------

<plugin>
   <extension
         point="org.eclipse.jubula.toolkit.common.toolkitsupport">
      <toolkit
            IToolkitProvider="ch.ucc.uwb.jubula.extension.rcp.toolkit.provider.RcpExtensionProvider"
            includes="com.bredexsw.guidancer.SwtToolkitPlugin"
            isUserToolkit="true"
            level="toolkit"
            name="exampleRcpToolkitExtension"
            order="11"
            toolkitID="com.bredexsw.guidancer.exampleRcpToolkitExtension">
      </toolkit>
   </extension>
 
</plugin>
 
 
MANIFEST.MF
----------------
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: ch.ucc.uwb.jubula.extension.rcp.toolkit;singleton:=true
Bundle-Version: 2.2.0.qualifier
Bundle-Activator: ch.ucc.uwb.jubula.extension.rcp.toolkit.Activator
Bundle-Vendor: %Bundle-Provider.0
Require-Bundle:  org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
 org.eclipse.jubula.tools;bundle-version="[2.2.0,2.3.0)",
 org.eclipse.jubula.toolkit.common;bundle-version="[2.2.0,2.3.0)",
 org.eclipse.jubula.toolkit.provider.rcp;bundle-version="[2.2.0,2.3.0)",
 org.eclipse.swt;bundle-version="[3.6.1,4.0.0)";resolution:=optional
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
And the provider class and i18n properties
===================================================
 
Feature
=====
 
feature.xml
-------------
 
<?xml version="1.0" encoding="UTF-8"?>
<feature
      id="ch.ucc.uwb.jubula.extension.rcp.feature"
      label="Jubula Example - Toolkit Extension - RCP"
      version="2.2.0.qualifier"
      provider-name="Eclipse Jubula">
 
   <description url="" href="http://www.eclipse.org/jubula" target="_blank">http://www.eclipse.org/jubula">
      Example Jubula Toolkit Extension - RCP
   </description>
 
   <copyright url="" href="http://www.eclipse.org/jubula" target="_blank">http://www.eclipse.org/jubula">
      Copyright (c) 2004, 2012 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
   </copyright>
 
   <license url="" href="http://www.eclipse.org/legal/epl-v10.html" target="_blank">http://www.eclipse.org/legal/epl-v10.html">
      %license
   </license>
 
   <plugin
         id="ch.ucc.uwb.jubula.extension.rcp.toolkit"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>
 
</feature>
 
==================================================
Tester/Remote Control fragment:
=====================
 
Class TabbedPaneCustTester
---------------------------------
package org.eclipse.jubula.rc.swt.tester;
public class TabbedPaneCustTester extends TabbedPaneTester {
 
 public static final String LEFT_2_RIGHT = "l2r";
 public static final String RIGHT_2_LEFT = "r2l";
 
 public String rcStoreTitleOfTabByIndex(int index, String direction,
   int beginIndex, int endIndex) throws StepExecutionException {
  int tabIndex = IndexConverter.toImplementationIndex(index);
  String tabTitle = getTabPane().getTitleofTab(tabIndex);
 
  if (null == direction) {
   direction = LEFT_2_RIGHT;
  }
  if (LEFT_2_RIGHT.equalsIgnoreCase(direction)) {
   return tabTitle.substring(beginIndex, endIndex);
 
  } else if (RIGHT_2_LEFT.equalsIgnoreCase(direction)) {
   int length = tabTitle.length();
   return tabTitle.substring(length - endIndex, length - beginIndex);
  } else {
   throw new StepExecutionException(
     "Invalid direction. Valid values are 'l2r' left to right or 'r2l' right to left.",
     new TestErrorEvent(
       TestErrorEvent.ID.IMPL_CLASS_ACTION_ERROR));
  }
 }
 
}
 
Class UwbExtensionAdapterFactory
----------------------------------------
package org.eclipse.jubula.rc.common.adapter;
public class UwbExtensionAdapterFactory extends SWTAdapterFactory {
 
 @Override
 public Object getAdapter(Class class1, Object obj) {
  return super.getAdapter(class1, obj);
 }
 
 @Override
 public Class[] getSupportedClasses() {
  return super.getSupportedClasses();
 }
 
}
 
MANIFEST.MF
----------------
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Extension
Bundle-SymbolicName: ch.ucc.uwb.jubula.rc.common
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: UBS Card Center AG
Fragment-Host: org.eclipse.jubula.rc.rcp.swt;bundle-version="2.2.0.201310100933"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .
Import-Package: org.eclipse.swt.widgets
Export-Package: org.eclipse.jubula.rc.rcp.swt.aut,
 org.eclipse.jubula.rc.swt.tester
Require-Bundle: org.eclipse.jubula.rc.common;bundle-version="2.2.0",
 org.eclipse.jubula.rc.swt;bundle-version="2.2.0",
 org.eclipse.jubula.tools;bundle-version="2.2.0"
 
==========================================================

>>> Marvin Müller<Marvin.Mueller@xxxxxxxxx> 19.03.2014 13:18 >>>
Hello Daniele,

the extends keyword you are using is not working well with concrete components like "guidancer.concrete.TabbedPane". The problem with extending this component all components which are realizing this component must have this action in its tester class. Even you have extended the toolkit component "org.eclipse.swt.widgets.TabFolder" this does not work correctly. If you had only one component you could have extended it and add a new action to it. But this should only be done to toolkit specific components and not to concrete components.

I advice you to use the realize keyword instead. This creates a new Component Type e.g. "ch.ucc.uwb.TabFolderTitle". You can now use this type and create a test step which is using your action. Important thing is that using the realize keyword you must define the componentClass.
If you change the ComponentConfiguration to the following, it should work. Realizing the "guidancer.abstract.SwtTabFolder" leads to a similar type hierarchy as our TabFolder component but in the end there is your component type. So all other actions on the TabFolder will be available and work.


Best regards
Marvin Mueller

ComponentConfiguration.xml
---------------------------------
 <toolkitComponent type="ch.ucc.uwb.TabbedPanTitle">
  <realizes>guidancer.abstract.SwtTabFolder</realizes>
        <action name="MyCompSystem.StoreTitleOfTabByIndex" changed="2.0.0">
   <method>rcStoreTitleOfTabByIndex</method>
   <param name="CompSystem.Variable">
                <type>guidancer.datatype.Variable</type>
            </param>
   <param name="MyCompSystem.TabIndex">
    <type>java.lang.Integer</type>
   </param>
   <param name="MyCompSystem.Direction">
    <type>java.lang.String</type>
    <defaultValue>l2r</defaultValue>
    <valueSet>
     <element name="MyCompSystem.Left2Right" value="l2r" />
     <element name="MyCompSystem.Right2Left" value="r2l" />
    </valueSet>
   </param>
   <param name="MyCompSystem.BeginIndex">
    <type>java.lang.Integer</type>
    <defaultValue>0</defaultValue>
   </param>
   <param name="MyCompSystem.EndIndex">
    <type>java.lang.Integer</type>
   </param>
            <postExecutionCommand>org.eclipse.jubula.client.core.businessprocess.TestExecution$VariableStorerCmd</postExecutionCommand>
  </action>
 </toolkitComponent>

 <toolkitComponent type="ch.ucc.uwb.TabFolderTitle" visible="false">
  <realizes>ch.ucc.uwb.TabbedPanTitle</realizes>
  <testerClass>org.eclipse.jubula.rc.swt.tester.TabbedPaneCustTester</testerClass>
   <componentClass name="org.eclipse.swt.widgets.TabFolder" />
 </toolkitComponent>
 
 <toolkitComponent type="ch.ucc.uwb.CTabFolderTitle" visible="false">
  <realizes>ch.ucc.uwb.TabbedPanTitler</realizes>
  <testerClass>org.eclipse.jubula.rc.swt.tester.TabbedPaneCustTester</testerClass>
  <componentClass name="org.eclipse.swt.widgets.CTabFolder" />
 </toolkitComponent>


On 11.03.2014 10:17, Fochetti Daniele wrote:
Hi all
 
I'm trying to extend the "guidancer.concrete.TabbedPane" to read the title of a tab. (And do some substring on the title)
What I got/did sofar:
 
Created update site and built toolkit with it. Installed extended toolkit into Jubula thru Help - Install New Software ...
Exported the tester class fragment with Eclipse Export Wizard and placed it into the plugins directory of my application under test which is based on the Eclipse Scout framework.
 
TestStep for component type "Tabbed Component" offers me my action type "Store tab title into variable" including the needed/declared parameters.
Running the test results in an action error "Operation not supported by the selected toolkit".
Stacktrace:
ERROR o.e.j.r.c.c.AbstractCapTestCommand - implementation class method not found
java.lang.NoSuchMethodException: No such accessible method: rcStoreTitleOfTabByIndex() on object: org.eclipse.jubula.rc.common.tester.TabbedPaneTester
 at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:278) ~[org.apache.commons.beanutils.jar:na]
 at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:225) ~[org.apache.commons.beanutils.jar:na]
 at org.eclipse.jubula.rc.common.commands.MethodInvoker.invoke(MethodInvoker.java:64) ~[org.eclipse.jubula.rc.common.jar:na]
 at org.eclipse.jubula.rc.common.commands.AbstractCapTestCommand.execute(AbstractCapTestCommand.java:240) ~[org.eclipse.jubula.rc.common.jar:na]
 at org.eclipse.jubula.communication.Communicator$ConnectionListener.received(Communicator.java:844) [org.eclipse.jubula.communication.jar:na]
 at org.eclipse.jubula.communication.connection.Connection.fireMessageReceived(Connection.java:402) [org.eclipse.jubula.communication.jar:na]
 at org.eclipse.jubula.communication.connection.Connection.access$2(Connection.java:391) [org.eclipse.jubula.communication.jar:na]
 at org.eclipse.jubula.communication.connection.Connection$ReaderThread.run(Connection.java:454) [org.eclipse.jubula.communication.jar:na]
 
 
===================================================
 
Toolkit:
=====
 
ComponentConfiguration.xml
---------------------------------
 <toolkitComponent type="ch.ucc.uwb.TabbedPanTitle">
  <extends>guidancer.concrete.TabbedPane</extends>
        <action name="MyCompSystem.StoreTitleOfTabByIndex">
   <method>rcStoreTitleOfTabByIndex</method>
   <param name="CompSystem.Variable">
                <type>guidancer.datatype.Variable</type>
            </param>
   <param name="MyCompSystem.TabIndex">
    <type>java.lang.Integer</type>
   </param>
   <param name="MyCompSystem.Direction">
    <type>java.lang.String</type>
    <defaultValue>l2r</defaultValue>
    <valueSet>
     <element name="MyCompSystem.Left2Right" value="l2r" />
     <element name="MyCompSystem.Right2Left" value="r2l" />
    </valueSet>
   </param>
   <param name="MyCompSystem.BeginIndex">
    <type>java.lang.Integer</type>
    <defaultValue>0</defaultValue>
   </param>
   <param name="MyCompSystem.EndIndex">
    <type>java.lang.Integer</type>
   </param>
            <postExecutionCommand>org.eclipse.jubula.client.core.businessprocess.TestExecution$VariableStorerCmd</postExecutionCommand>
  </action>
 </toolkitComponent>
 
 
 
 <toolkitComponent type="ch.ucc.uwb.TabFolderTitle" visible="false">
  <extends>org.eclipse.swt.widgets.TabFolder</extends>
  <testerClass>org.eclipse.jubula.rc.swt.tester.TabbedPaneCustTester</testerClass>
  <!-- <componentClass name="org.eclipse.swt.widgets.TabFolder" />-->
 </toolkitComponent>
 
 <toolkitComponent type="ch.ucc.uwb.CTabFolderTitle" visible="false">
  <extends>org.eclipse.swt.custom.CTabFolder</extends>
  <testerClass>org.eclipse.jubula.rc.swt.tester.TabbedPaneCustTester</testerClass>
  <!-- <componentClass name="org.eclipse.swt.widgets.CTabFolder" />-->
 </toolkitComponent>
 
plugin.xml
<plugin>
   <extension
         point="org.eclipse.jubula.toolkit.common.toolkitsupport">
      <toolkit
            IToolkitProvider="ch.ucc.uwb.jubula.extension.rcp.toolkit.provider.RcpExtensionProvider"
            depends="com.bredexsw.guidancer.RcpToolkitPlugin"
            includes="null"
            isUserToolkit="true"
            level="toolkit"
            name="exampleRcpToolkitExtension"
            order="11"
            toolkitID="com.bredexsw.guidancer.exampleRcpToolkitExtension">
      </toolkit>
   </extension>
</plugin>
 
MANIFEST.MF
----------------
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name.0
Bundle-SymbolicName: ch.ucc.uwb.jubula.extension.rcp.toolkit;singleton:=true
Bundle-Version: 2.2.0.qualifier
Bundle-Activator: ch.ucc.uwb.jubula.extension.rcp.toolkit.Activator
Bundle-Vendor: %Bundle-Provider.0
Require-Bundle:  org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
 org.eclipse.jubula.tools;bundle-version="[2.2.0,2.3.0)",
 org.eclipse.jubula.toolkit.common;bundle-version="[2.2.0,2.3.0)",
 org.eclipse.jubula.toolkit.provider.rcp;bundle-version="[2.2.0,2.3.0)",
 org.eclipse.swt;bundle-version="[3.6.1,4.0.0)";resolution:=optional
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
 
And the provider class and i18n properties
===================================================
 
Feature:
======
 
feature.xml
-------------
<?xml version="1.0" encoding="UTF-8"?>
<feature
      id="ch.ucc.uwb.jubula.extension.rcp.feature"
      label="Jubula Example - Toolkit Extension - RCP"
      version="2.2.0.qualifier"
      provider-name="Eclipse Jubula">
 
   <description url="" href="http://www.eclipse.org/jubula" target="_blank">http://www.eclipse.org/jubula">
      Example Jubula Toolkit Extension - RCP
   </description>
 
   <copyright url="" href="http://www.eclipse.org/jubula" target="_blank">http://www.eclipse.org/jubula">
      Copyright (c) 2004, 2012 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
   </copyright>
 
   <license url="" href="http://www.eclipse.org/legal/epl-v10.html" target="_blank">http://www.eclipse.org/legal/epl-v10.html">
      %license
   </license>
 
   <plugin
         id="ch.ucc.uwb.jubula.extension.rcp.toolkit"
         download-size="0"
         install-size="0"
         version="0.0.0"
         unpack="false"/>
 
</feature>
===================================================
 
Tester/Remote Control fragment:
=====================
 
Class TabbedPaneCustTester
---------------------------------
package org.eclipse.jubula.rc.swt.tester;
public class TabbedPaneCustTester extends TabbedPaneTester {
 
 public static final String LEFT_2_RIGHT = "l2r";
 public static final String RIGHT_2_LEFT = "r2l";
 
 public String rcStoreTitleOfTabByIndex(int index, String direction,
   int beginIndex, int endIndex) throws StepExecutionException {
  int tabIndex = IndexConverter.toImplementationIndex(index);
  String tabTitle = getTabPane().getTitleofTab(tabIndex);
 
  if (null == direction) {
   direction = LEFT_2_RIGHT;
  }
  if (LEFT_2_RIGHT.equalsIgnoreCase(direction)) {
   return tabTitle.substring(beginIndex, endIndex);
 
  } else if (RIGHT_2_LEFT.equalsIgnoreCase(direction)) {
   int length = tabTitle.length();
   return tabTitle.substring(length - endIndex, length - beginIndex);
  } else {
   throw new StepExecutionException(
     "Invalid direction. Valid values are 'l2r' left to right or 'r2l' right to left.",
     new TestErrorEvent(
       TestErrorEvent.ID.IMPL_CLASS_ACTION_ERROR));
  }
 }
 
}
 
Class UwbExtensionAdapterFactory
----------------------------------------
package org.eclipse.jubula.rc.common.adapter;
public class UwbExtensionAdapterFactory extends SWTAdapterFactory {
 
 @Override
 public Object getAdapter(Class class1, Object obj) {
  return super.getAdapter(class1, obj);
 }
 
 @Override
 public Class[] getSupportedClasses() {
  return super.getSupportedClasses();
 }
 
}
 
MANIFEST.MF
----------------
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Extension
Bundle-SymbolicName: ch.ucc.uwb.jubula.rc.common
Bundle-Version: 1.0.0.qualifier
Bundle-Vendor: Card Center AG
Fragment-Host: org.eclipse.jubula.rc.rcp.swt;bundle-version="2.2.0.201310100933"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: lib/org.eclipse.jubula.rc.common_2.2.0.201310100933.jar,
 lib/org.eclipse.jubula.rc.swt_2.2.0.201310100933.jar,
 lib/org.eclipse.jubula.tools_2.2.0.201310100933.jar,
 .,
 lib/org.eclipse.jubula.rc.rcp.swt_2.2.0.201310100933.jar,
 lib/org.eclipse.jubula.rc.swt.jar
Import-Package: org.eclipse.swt.widgets
 
===================================================
 
Update site:
========
 
site.xml
---------
<site>
   <feature url="" id="ch.ucc.uwb.jubula.extension.rcp.feature" version="2.2.0.201403110920">
      <category name="ch.ucc.uwb.jubula.extensions"/>
   </feature>
   <category-def name="ch.ucc.uwb.jubula.extensions" label="UWB Jubula extensions"/>
</site>
===================================================
 
 
Thanks for any help, solving this problem.
Daniele

Based on previous e-mail correspondence with you and/or an agreement reached with you, we consider ourselves authorized to contact you via unsecured e-mail.

Warning:

(a) E-mails can involve SUBSTANTIAL RISKS, e.g. lack of confidentiality, potential manipulation of contents and/or sender's address, incorrect recipient (misdirection), viruses etc. We assume no responsi-bility for any loss or damage resulting from the use of e-mails. We recommend in particular that you do NOT SEND ANY SENSITIVE INFORMATION, that you do not include details of the previous message in any reply, and that you enter e-mail address(es) manually every time you write an e-mail.

(b) As a matter of principle, we do NOT accept any ORDERS, revocations of orders or authorizations, blocking of credit cards, etc., sent by e-mail. Should such an e-mail nevertheless be received, we are not obliged to act on or respond to the e-mail.

Please notify us immediately if you received this e-mail by mistake or if you do not wish to receive any further e-mail correspondence. If you have received this e-mail by mistake, please completely delete it (and any attachments) and do not forward it or inform any other person of its contents.



_______________________________________________
jubula-rc-dev mailing list
jubula-rc-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jubula-rc-dev


--
BREDEX GmbH
Mauernstr. 33
38100 Braunschweig

Tel.: +49-531-24330-0
Fax:  +49-531-24330-99
http: www.bredex.de

Geschäftsführer: Achim Lörke, Ulrich Obst, Andreas Vogel
Amtsgericht Braunschweig HRB 2450

Based on previous e-mail correspondence with you and/or an agreement reached with you, we consider ourselves authorized to contact you via unsecured e-mail.

Warning:

(a) E-mails can involve SUBSTANTIAL RISKS, e.g. lack of confidentiality, potential manipulation of contents and/or sender's address, incorrect recipient (misdirection), viruses etc. We assume no responsi-bility for any loss or damage resulting from the use of e-mails. We recommend in particular that you do NOT SEND ANY SENSITIVE INFORMATION, that you do not include details of the previous message in any reply, and that you enter e-mail address(es) manually every time you write an e-mail.

(b) As a matter of principle, we do NOT accept any ORDERS, revocations of orders or authorizations, blocking of credit cards, etc., sent by e-mail. Should such an e-mail nevertheless be received, we are not obliged to act on or respond to the e-mail.

Please notify us immediately if you received this e-mail by mistake or if you do not wish to receive any further e-mail correspondence. If you have received this e-mail by mistake, please completely delete it (and any attachments) and do not forward it or inform any other person of its contents.

DISCLAIMER ========== This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.

Based on previous e-mail correspondence with you and/or an agreement reached with you, we consider ourselves authorized to contact you via unsecured e-mail.

Warning:

(a) E-mails can involve SUBSTANTIAL RISKS, e.g. lack of confidentiality, potential manipulation of contents and/or sender's address, incorrect recipient (misdirection), viruses etc. We assume no responsi-bility for any loss or damage resulting from the use of e-mails. We recommend in particular that you do NOT SEND ANY SENSITIVE INFORMATION, that you do not include details of the previous message in any reply, and that you enter e-mail address(es) manually every time you write an e-mail.

(b) As a matter of principle, we do NOT accept any ORDERS, revocations of orders or authorizations, blocking of credit cards, etc., sent by e-mail. Should such an e-mail nevertheless be received, we are not obliged to act on or respond to the e-mail.

Please notify us immediately if you received this e-mail by mistake or if you do not wish to receive any further e-mail correspondence. If you have received this e-mail by mistake, please completely delete it (and any attachments) and do not forward it or inform any other person of its contents.

DISCLAIMER ========== This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.


Back to the top