litesoft
@ 25
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
package org.litesoft.testplan; import org.litesoft.GWT.client.*; import org.litesoft.util.*; import org.litesoft.xml.*; public abstract class AbstractTestPlanParserActionFactoryClickCellButton implements TestPlanActionFactory { private String mTagName; public AbstractTestPlanParserActionFactoryClickCellButton( String pTagName ) { mTagName = pTagName; } @Override public TestPlanAction parse( PullParserProxy pParser ) { pParser.validateIsStartTag( mTagName ); String zName = Utils.noEmpty( pParser.getAttributeValue( "name" ) ); String zTitle = Utils.noEmpty( pParser.getAttributeValue( "title" ) ); String zModifiers = Utils.noEmpty( pParser.getAttributeValue( "modifiers" ) ); KeyboardKeyModifier zKeyboardKeyModifier = (zModifiers != null) ? KeyboardKeyModifier.valueOf( zModifiers ) : null; pParser.validateNextIsEndTag( mTagName ); if ( (zName == null) && (zTitle == null) ) { throw new IllegalStateException( mTagName + " must have either a 'name' or a 'title'" ); } return createAction( zName, zTitle, zKeyboardKeyModifier ); } abstract protected TestPlanAction createAction( String pName, String pTitle, KeyboardKeyModifier pKeyboardKeyModifier ); } |