Ignore:
Timestamp:
10/30/12 14:02:07 (12 years ago)
Author:
pharms
Message:
  • refined HTML GUI model to also include explicitely the server and the page
Location:
trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html
Files:
6 added
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/HTMLLogParser.java

    r950 r961  
    4444import de.ugoe.cs.autoquest.eventcore.guimodel.ITextArea; 
    4545import de.ugoe.cs.autoquest.eventcore.guimodel.ITextField; 
    46 import de.ugoe.cs.autoquest.plugin.html.eventcore.HTMLEvent; 
    47 import de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLGUIElementSpec; 
     46import de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLPageElementSpec; 
     47import de.ugoe.cs.autoquest.plugin.html.guimodel.HTMLPageSpec; 
    4848import de.ugoe.cs.util.FileTools; 
    4949import de.ugoe.cs.util.console.Console; 
     
    257257        List<IGUIElementSpec> guiElementPath = new ArrayList<IGUIElementSpec>(); 
    258258         
     259        HTMLPageSpec page = new HTMLPageSpec(url, title); 
     260         
     261        guiElementPath.add(page.getServer()); 
     262        guiElementPath.add(page); 
     263         
    259264        for (String pathElement : pathElements) { 
    260265            if ((pathElement != null) && (!"".equals(pathElement))) {             
     
    274279                } 
    275280 
    276                 guiElementPath.add(new HTMLGUIElementSpec(url, title, type, id, index)); 
     281                guiElementPath.add(new HTMLPageElementSpec(page, type, id, index)); 
    277282            } 
    278283        } 
     
    352357                              String       agent) 
    353358    { 
    354         return new HTMLEvent(clientId, interaction, guiElement, timestamp, agent); 
     359        Event event = new Event(interaction, guiElement); 
     360        event.setParameter("clientId", clientId); 
     361        event.setParameter("timestamp", Long.toString(timestamp)); 
     362        event.setParameter("agent", agent); 
     363         
     364        return event; 
    355365    } 
    356366 
  • trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLButton.java

    r950 r961  
    2424 * @author Patrick Harms 
    2525 */ 
    26 public class HTMLButton extends HTMLGUIElement implements IButton { 
     26public class HTMLButton extends HTMLPageElement implements IButton { 
    2727 
    2828    /**  */ 
     
    3737     * @param parent 
    3838     */ 
    39     public HTMLButton(HTMLGUIElementSpec specification, HTMLGUIElement parent) { 
     39    public HTMLButton(HTMLPageElementSpec specification, HTMLGUIElement parent) { 
    4040        super(specification, parent); 
    4141    } 
  • trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLGUIElement.java

    r950 r961  
    1414 
    1515package de.ugoe.cs.autoquest.plugin.html.guimodel; 
    16  
    17 import java.net.URL; 
    1816 
    1917import de.ugoe.cs.autoquest.eventcore.guimodel.AbstractDefaultGUIElement; 
     
    3937    /** 
    4038     * <p> 
    41      * Specification of the GUI Element 
    42      * </p> 
    43      */ 
    44     private HTMLGUIElementSpec specification; 
    45  
    46     /** 
    47      * <p> 
    4839     * Constructor. Creates a new HTMLGUIElement. 
    4940     * </p> 
     
    5748    public HTMLGUIElement(HTMLGUIElementSpec specification, HTMLGUIElement parent) { 
    5849        super(specification, parent); 
    59         this.specification = specification; 
    6050    } 
    6151 
     
    7060    } 
    7161 
    72     /** 
    73      * <p> 
    74      * Returns web page to which this GUI element belongs 
    75      * </p> 
    76      *  
    77      * @return the page URL 
    78      */ 
    79     URL getPageURL() { 
    80         return specification.getPageURL(); 
    81     } 
    82  
    83     /** 
    84      * <p> 
    85      * Returns the title of the page to which the GUI element belongs 
    86      * </p> 
    87      *  
    88      * @return the title 
    89      */ 
    90     String getPageTitle() { 
    91         return specification.getPageTitle(); 
    92     } 
    93  
    94     /** 
    95      * <p> 
    96      * Returns the type of the GUI element, i.e., the name of its tag in HTML 
    97      * </p> 
    98      *  
    99      * @return the tag in HTML 
    100      */ 
    101     String getTagName() { 
    102         return specification.getType(); 
    103     } 
    104  
    105     /** 
    106      * <p> 
    107      * Returns the id of the tag in HTML 
    108      * </p> 
    109      *  
    110      * @return the id of the HTML tag 
    111      */ 
    112     String getTagId() { 
    113         return specification.getTagId(); 
    114     } 
    115  
    116     /** 
    117      * <p> 
    118      * Returns the child index of the tag referring to all tags with the same type within the same 
    119      * parent tag  
    120      * </p> 
    121      *  
    122      * @return the index 
    123      */ 
    124     int getIndex() { 
    125         return specification.getIndex(); 
    126     } 
    127  
    12862    /* 
    12963     * (non-Javadoc) 
     
    13569    @Override 
    13670    public void updateSpecification(IGUIElementSpec updateSpecification) { 
    137         if (updateSpecification instanceof HTMLGUIElementSpec) { 
    138             specification.update(((HTMLGUIElementSpec) updateSpecification)); 
    139         } 
     71        // nothing to do. There is not need for handle things such as name changes, etc. 
    14072    } 
    14173 
     
    15486    } 
    15587 
    156     /* 
    157      * (non-Javadoc) 
    158      *  
    159      * @see java.lang.Object#toString() 
    160      */ 
    161     @Override 
    162     public String toString() { 
    163         String str = getElementDescriptor() + "(" + getTagName(); 
    164         if (getTagId() != null) { 
    165             str += "(id=" + getTagId() + ")"; 
    166         } 
    167         else { 
    168             str += "[" + getIndex() + "]"; 
    169         } 
    170          
    171         str += ")"; 
    172         return str; 
    173     } 
    174  
    17588    /** 
    17689     * <p> 
  • trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLGUIElementSpec.java

    r950 r961  
    1515package de.ugoe.cs.autoquest.plugin.html.guimodel; 
    1616 
    17 import java.net.URL; 
    18  
    1917import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec; 
    2018 
     
    3230     
    3331    /** */ 
    34     private URL pageURL; 
    35      
    36     /** */ 
    37     private String pageTitle; 
    38      
    39     /** */ 
    4032    private String type; 
    4133     
    42     /** */ 
    43     private String id; 
    44      
    45     /** */ 
    46     private int index; 
    47  
    4834    /** 
    4935     * <p> 
     
    5541     * @param id 
    5642     */ 
    57     public HTMLGUIElementSpec(URL pageURL, String pageTitle, String type, String id, int index) { 
    58         if (pageURL == null) { 
    59             throw new IllegalArgumentException("page URL must not be null"); 
    60         } 
    61         else if (type == null) { 
     43    HTMLGUIElementSpec(String type) { 
     44        if (type == null) { 
    6245            throw new IllegalArgumentException("type must not be null"); 
    6346        } 
    64         else if ((id == null) && (index < 0)) { 
    65             throw new IllegalArgumentException 
    66               ("either id must not be null or the index must be greater or equal to 0"); 
    67         } 
    68          
    69         this.pageURL = pageURL; 
    70         this.pageTitle = pageTitle; 
     47 
    7148        this.type = type; 
    72         this.id = id; 
    73         this.index = index; 
    7449    } 
    7550 
     
    8964        if (other instanceof HTMLGUIElementSpec) { 
    9065            HTMLGUIElementSpec otherSpec = (HTMLGUIElementSpec) other; 
    91              
    92             if (!type.equals(otherSpec.type)) { 
    93                 return false; 
    94             } 
    95              
    96             if (id != null) { 
    97                 return id.equals(otherSpec.id); 
    98             } 
    99             else if (index >= 0) { 
    100                 return index == otherSpec.index; 
    101             } 
     66            return type.equals(otherSpec.type); 
    10267        } 
    10368         
     
    10570    } 
    10671 
    107     /** 
    108      * <p> 
    109      * TODO: comment 
    110      * </p> 
    111      * 
    112      * @return 
    113      */ 
    114     URL getPageURL() { 
    115         return pageURL; 
    116     } 
    117  
    118     /** 
    119      * <p> 
    120      * TODO: comment 
    121      * </p> 
    122      * 
    123      * @return 
    124      */ 
    125     String getPageTitle() { 
    126         return pageTitle; 
    127     } 
    128  
    129     /** 
    130      * <p> 
    131      * TODO: comment 
    132      * </p> 
    133      * 
    134      * @return 
    135      */ 
    136     String getTagId() { 
    137         return id; 
    138     } 
    139  
    140     /** 
    141      * <p> 
    142      * TODO: comment 
    143      * </p> 
    144      * 
    145      * @return 
    146      */ 
    147     int getIndex() { 
    148         return index; 
    149     } 
    150  
    151     /** 
    152      * <p> 
    153      * TODO: comment 
    154      * </p> 
    155      * 
    156      * @param htmlguiElementSpec 
    157      */ 
    158     void update(HTMLGUIElementSpec htmlguiElementSpec) { 
    159         // TODO Auto-generated method stub 
    160         System.out.println("TODO: implement HTMLGUIElementSpec.update "); 
    161          
    162     } 
    163  
    16472} 
  • trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLLink.java

    r950 r961  
    2424 * @author Patrick Harms 
    2525 */ 
    26 public class HTMLLink extends HTMLGUIElement implements IButton { 
     26public class HTMLLink extends HTMLPageElement implements IButton { 
    2727 
    2828    /**  */ 
     
    3737     * @param parent 
    3838     */ 
    39     public HTMLLink(HTMLGUIElementSpec specification, HTMLGUIElement parent) { 
     39    public HTMLLink(HTMLPageElementSpec specification, HTMLGUIElement parent) { 
    4040        super(specification, parent); 
    4141    } 
  • trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLPanel.java

    r950 r961  
    2424 * @author Patrick Harms 
    2525 */ 
    26 public class HTMLPanel extends HTMLGUIElement implements IPanel { 
     26public class HTMLPanel extends HTMLPageElement implements IPanel { 
    2727 
    2828    /**  */ 
     
    3737     * @param parent 
    3838     */ 
    39     public HTMLPanel(HTMLGUIElementSpec specification, HTMLGUIElement parent) { 
     39    public HTMLPanel(HTMLPageElementSpec specification, HTMLGUIElement parent) { 
    4040        super(specification, parent); 
    4141    } 
  • trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/guimodel/HTMLTextArea.java

    r950 r961  
    2424 * @author Patrick Harms 
    2525 */ 
    26 public class HTMLTextArea extends HTMLGUIElement implements ITextArea { 
     26public class HTMLTextArea extends HTMLPageElement implements ITextArea { 
    2727 
    2828    /**  */ 
     
    3737     * @param parent 
    3838     */ 
    39     public HTMLTextArea(HTMLGUIElementSpec specification, HTMLGUIElement parent) { 
     39    public HTMLTextArea(HTMLPageElementSpec specification, HTMLGUIElement parent) { 
    4040        super(specification, parent); 
    4141    } 
Note: See TracChangeset for help on using the changeset viewer.