use of org.eclipse.ecf.bulletinboard.BBException in project ecf by eclipse.
the class VBulletin method logout.
public boolean logout() throws BBException {
PostRequest request = new PostRequest(httpClient, url, "logout.php");
try {
request.execute();
request.releaseConnection();
loggedInMemberId = null;
return true;
} catch (Exception e) {
throw new BBException(e);
}
}
use of org.eclipse.ecf.bulletinboard.BBException in project ecf by eclipse.
the class Thread method postReply.
public ID postReply(IThreadMessage message) throws IllegalWriteException, BBException {
if ((mode & READ_ONLY) == READ_ONLY) {
throw new IllegalWriteException(E_READ_ONLY);
}
ThreadMessage msg = (ThreadMessage) message;
// FIXME assert msg.bb == bb;
assert msg.getThread() == this;
PostRequest request = new PostRequest(bb.getHttpClient(), bb.getURL(), "posting.php");
NameValuePair[] params = new NameValuePair[] { new NameValuePair("subject", msg.getName()), new NameValuePair("message", msg.getMessage()), new NameValuePair("t", String.valueOf(id.getLongValue())), new NameValuePair("mode", "reply"), // checkbox : disabled new NameValuePair("notify", "on"),
new NameValuePair("post", "Submit") };
request.addParameters(params);
String resp = null;
try {
request.execute();
resp = request.getResponseBodyAsString();
String info = ((PHPBBParser) bb.getParser()).parseInformationMessage(resp);
Matcher m = Pattern.compile("<a href=\"viewtopic.php\\?p=([0-9]+)(?:.*?)\">").matcher(info);
if (m.find()) {
synchronized (this) {
try {
lastReadMessageId = (ThreadMessageID) new ThreadMessageFactory().createBBObjectId(bb.getNamespace(), bb.getURL(), m.group(1));
return lastReadMessageId;
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IDCreateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} else {
throw new BBException("The message was not posted.");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
use of org.eclipse.ecf.bulletinboard.BBException in project ecf by eclipse.
the class PHPBB method login.
public boolean login(IBBCredentials credentials) throws BBException {
PostRequest request = new PostRequest(httpClient, url, "login.php");
NameValuePair[] params = { new NameValuePair("username", credentials.getUsername()), new NameValuePair("password", credentials.getPassword()), // disabled checkbox: new NameValuePair("autologin", "on"),
new NameValuePair("redirect", ""), new NameValuePair("login", "Log in") };
request.setParameters(params);
try {
request.execute();
request.releaseConnection();
Map<String, String> detectedCookies = PHPBBCookies.detectCookies(httpClient.getState().getCookies());
if (detectedCookies.containsKey(PHPBBCookies.KEY_SESS_ID)) {
// We have a session id
sessionId = detectedCookies.get(PHPBBCookies.KEY_SESS_ID);
}
if (detectedCookies.containsKey(PHPBBCookies.KEY_USER_ID)) {
// We have a user id
ID id = new MemberFactory().createBBObjectId(getNamespace(), url, (String) detectedCookies.get(PHPBBCookies.KEY_USER_ID));
if (id == null) {
return false;
} else {
loggedInMemberId = id;
return true;
}
}
} catch (Exception e) {
throw new BBException(e);
}
return false;
}
use of org.eclipse.ecf.bulletinboard.BBException in project ecf by eclipse.
the class PHPBB method logout.
public boolean logout() throws BBException {
PostRequest request = new PostRequest(httpClient, url, "login.php");
request.addParameter(new NameValuePair("logout", "true"));
try {
request.execute();
request.releaseConnection();
loggedInMemberId = null;
return true;
} catch (Exception e) {
throw new BBException(e);
}
}
use of org.eclipse.ecf.bulletinboard.BBException in project ecf by eclipse.
the class VBulletin method getTitle.
public String getTitle() throws BBException {
if (this.title == null) {
GetRequest request = new GetRequest(httpClient, url, "");
String resp = null;
try {
request.execute();
resp = request.getResponseBodyAsString();
} catch (IOException e) {
throw new BBException(e);
}
request.releaseConnection();
if (resp != null) {
this.title = getParser().parseTitle(resp);
}
}
return this.title;
}
Aggregations