/*
* This file is part of NixNote/NeighborNote
* Copyright 2012 Randy Baumgarte
*
* This file may be licensed under the terms of of the
* GNU General Public License Version 2 (the ``GPL'').
*
* Software distributed under the License is distributed
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
* express or implied. See the GPL for the specific language
* governing rights and limitations.
*
* You should have received a copy of the GPL along with this
* program. If not, go to http://www.gnu.org/licenses/gpl.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
/* This class is used to parse out the OAuth reply from Evernote */
package cx.fbn.nevernote.oauth;
import java.util.ArrayList;
public class OAuthTokenizer {
public String oauth_token;
public String edam_shard;
public String edam_userId;
public String edam_expires;
public String edam_noteStoreUrl;
public String edam_webApiUrlPrefix;
public OAuthTokenizer() {
oauth_token = new String();
edam_shard = new String();
edam_userId = new String();
edam_expires = new String();
edam_noteStoreUrl = new String();
edam_webApiUrlPrefix = new String();
}
public void tokenize(String decoded) {
ArrayList<String> tokens = new ArrayList<String>();
for (;decoded!=null && decoded.length()>0;) {
int i=decoded.indexOf("&");
if (i>0) {
tokens.add(decoded.substring(0,i));
decoded=decoded.substring(i+1);
} else {
tokens.add(decoded);
decoded="";
}
}
String oauth_tokenString = "oauth_token=";
String edam_shardString = "edam_shard=";
String edam_userIdString = "edam_userid=";
String edam_expiresString = "edam_expires=";
String edam_noteStoreUrlString ="edam_notestoreurl=";
String edam_webApiUrlPrefixString = "edam_webapiurlprefix=";
oauth_token = "";
edam_shard = "";
edam_userId = "";
edam_expires = "";
edam_noteStoreUrl = "";
edam_webApiUrlPrefix = "";
for (int i=0; i<tokens.size(); i++) {
String token = tokens.get(i);
if (token.toLowerCase().startsWith(oauth_tokenString)) {
oauth_token = token.substring(oauth_tokenString.length());
}
if (token.toLowerCase().startsWith(edam_shardString)) {
edam_shard = token.substring(edam_shardString.length());
}
if (token.toLowerCase().startsWith(edam_userIdString)) {
edam_userId = token.substring(edam_userIdString.length());
}
if (token.toLowerCase().startsWith(edam_expiresString)) {
edam_expires = token.substring(edam_expiresString.length());
}
if (token.toLowerCase().startsWith(edam_noteStoreUrlString)) {
edam_noteStoreUrl = token.substring(edam_noteStoreUrlString.length());
}
if (token.toLowerCase().startsWith(edam_webApiUrlPrefixString)) {
edam_webApiUrlPrefix = token.substring(edam_webApiUrlPrefixString.length());
}
}
}
}