package de.ugoe.cs.quest.plugin.php.eventcore; import java.util.ArrayList; import java.util.List; import de.ugoe.cs.quest.IReplayDecorator; import de.ugoe.cs.quest.eventcore.IReplayable; /** *
* Contains all information related to a web request, i.e., the path, the POST variables and the GET * variables. The generated replay are for the command line tool {@code curl}. The requests do not * contain correct values for the POST and GET request. Instead, only the parameters that are part * of the requests are added and the values of the parameters are DATA_$PARAMNAME$_DATA, where * $PARAMNAME$ is the upper case string of the parameter name. This allows test data generators to * insert concrete values, as EventBench does not include a test data generator for web software. *
* * @author Steffen Herbold * @version 1.0 */ public class WebRequest implements IReplayable { /** ** Id for object serialization. *
*/ private static final long serialVersionUID = 1L; /** ** POST variables of the web request. *
*/ List* GET variables of the web request. *
*/ List* URI of the web request. *
*/ String targetUri; /** ** URL of the server. *
*/ String serverUrl; /** ** Constructor. Creates a new WebRequest. *
* * @param uri * URI of the request * @param postVars * POST variables of the request * @param getVars * GET variables of the request */ public WebRequest(String url, String uri, List* Two {@link WebRequest}s are equal, if their {@link #targetUri}, {@link #postVars}, and * {@link #getVars} are equal. *
* * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object other) { if (this == other) { return true; } if (other instanceof WebRequest) { return targetUri.equals(((WebRequest) other).targetUri) && postVars.equals(((WebRequest) other).postVars) && getVars.equals(((WebRequest) other).getVars); } return false; } /* * (non-Javadoc) * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { int multiplier = 17; int hash = 42; hash = multiplier * hash + targetUri.hashCode(); hash = multiplier * hash + postVars.hashCode(); hash = multiplier * hash + getVars.hashCode(); return hash; } /* * (non-Javadoc) * * @see de.ugoe.cs.quest.eventcore.IReplayable#getDecorator() */ @Override public IReplayDecorator getDecorator() { return null; } }