public class Submitter extends BackgroundTask<java.lang.String>
Modifier and Type | Field and Description |
---|---|
private SupportForm |
form
Used to gather user input and system information.
|
private static org.slf4j.Logger |
logger
Logging object.
|
private org.apache.commons.httpclient.methods.PostMethod |
method
Handy reference to the status code (and more) of our
POST . |
private static int |
POST_ATTEMPTS
We'll follow up to this many redirects for
requestUrl . |
static java.lang.String |
POST_ERROR
Error message to display if the server had problems.
|
private java.lang.String |
requestUrl
URL that we'll attempt to
POST our requests at. |
private int |
tryCount
Number of redirects we've tried since starting.
|
private java.lang.String |
validFormUrl
Keeps track of the most recent redirect for
requestUrl . |
Constructor and Description |
---|
Submitter(SupportForm form)
Prepare a support request to be sent (off of the event dispatch thread).
|
Modifier and Type | Method and Description |
---|---|
private static org.apache.commons.httpclient.methods.multipart.FilePart |
buildFakeFilePart(java.lang.String id,
java.lang.String file,
byte[] data)
Creates a file attachment that isn't based upon an actual file.
|
private static org.apache.commons.httpclient.methods.PostMethod |
buildPostMethod(java.lang.String url,
SupportForm form)
Attempts to
POST to url using the information from
form . |
private static org.apache.commons.httpclient.methods.multipart.FilePart |
buildRealFilePart(java.lang.String id,
java.lang.String file)
Creates a file attachment that's based upon a real file.
|
protected java.lang.String |
compute()
Attempt to POST contents of support request form to
requestUrl . |
protected void |
onCompletion(java.lang.String result,
java.lang.Throwable exception,
boolean cancelled)
Handles completion of a support request.
|
cancel, get, get, isCancelled, isDone, onProgress, run, setProgress
public static final java.lang.String POST_ERROR
private static final org.slf4j.Logger logger
private static final int POST_ATTEMPTS
requestUrl
.private final SupportForm form
private final java.lang.String requestUrl
POST
our requests at.private java.lang.String validFormUrl
requestUrl
.private int tryCount
private org.apache.commons.httpclient.methods.PostMethod method
POST
.public Submitter(SupportForm form)
form
- Support request form to send. Cannot be null
.private static org.apache.commons.httpclient.methods.multipart.FilePart buildRealFilePart(java.lang.String id, java.lang.String file)
id
- The parameter ID. Usually something like
"form_data[att_two]".file
- Path to the file that's going to be attached.POST
-able file attachment using the name and contents of
file
.private static org.apache.commons.httpclient.methods.multipart.FilePart buildFakeFilePart(java.lang.String id, java.lang.String file, byte[] data)
id
- Parameter ID. Typically something like
"form_data[att_extra]".file
- Fake name of the file. Can be whatever you like.data
- The actual data to place inside the attachment.POST
-able file attachment using a spoofed filename!private static org.apache.commons.httpclient.methods.PostMethod buildPostMethod(java.lang.String url, SupportForm form)
POST
to url
using the information from
form
.url
- URL that'll accept the POST
. Typically
requestUrl
.form
- The SupportForm
that contains the data to use in the
support request.protected java.lang.String compute()
requestUrl
.compute
in class BackgroundTask<java.lang.String>
ucar.unidata.util.WrapperException
- if there was a problem on the server.protected void onCompletion(java.lang.String result, java.lang.Throwable exception, boolean cancelled)
onCompletion
in class BackgroundTask<java.lang.String>
result
- Result of compute()
.exception
- Exception thrown from compute()
, if any.cancelled
- Whether or not the user opted to cancel.