List of usage examples for com.google.gson Gson fromJson
@SuppressWarnings("unchecked") public <T> T fromJson(JsonElement json, Type typeOfT) throws JsonSyntaxException
From source file:cc.twittertools.stream.GatherStatusStream.java
License:Apache License
public static void main(String[] args) throws TwitterException { // get a list of stop word String stopWordFile = PropertyUtils.getStopwordPath(); File stopword = new File(stopWordFile); List<String> lsWeight = null; try {/*from ww w . ja va 2s .c o m*/ lsWeight = FileUtils.readLines(stopword); for (String line : lsWeight) { String[] arr = line.split("\\s+"); String code = arr[0]; mapWeights.put(code.toLowerCase(), line.toLowerCase()); } } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } for (Profile pro : Profile.values()) { try { // System.out.println("Processing profile:" + pro.getCode()); URL urlRest = new URL("http://localhost:8080/dexter-webapp/api/rest/annotate"); String query = "text=" + pro.getTitle().replaceAll("[^ A-Za-z]+", "") + "&n=50&wn=false&debug=false&format=text&min-conf=0.5"; // make connection URLConnection urlc = urlRest.openConnection(); // use post mode urlc.setDoOutput(true); urlc.setAllowUserInteraction(false); // send query PrintStream ps; ps = new PrintStream(urlc.getOutputStream()); ps.print(query); ps.close(); // get result BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); String l = null; String title = "", description = "", details = ""; while ((l = br.readLine()) != null) { //System.out.println(l); // get document JSONParser parser = new JSONParser(); Object obj = parser.parse(l); JSONObject jsonObject = (JSONObject) obj; JSONArray msg = (JSONArray) jsonObject.get("spots"); for (Object obje : msg) { JSONObject jObj = (JSONObject) obje; //increase entities with Wikipedia linking String entity = jObj.get("mention").toString().toLowerCase(); title += entity + " "; } } URL urlRest1 = new URL("http://localhost:8080/dexter-webapp/api/rest/annotate"); String query1 = "text=" + pro.getDescription().replaceAll("[^ A-Za-z]+", "") + "&n=50&wn=false&debug=false&format=text&min-conf=0.5"; // make connection URLConnection urlc1 = urlRest1.openConnection(); // make connection // use post mode urlc1.setDoOutput(true); urlc1.setAllowUserInteraction(false); // send query PrintStream ps1; ps1 = new PrintStream(urlc1.getOutputStream()); ps1.print(query1); ps1.close(); // get result br = new BufferedReader(new InputStreamReader(urlc1.getInputStream())); l = null; while ((l = br.readLine()) != null) { //System.out.println(l); // get document JSONParser parser = new JSONParser(); Object obj = parser.parse(l); JSONObject jsonObject = (JSONObject) obj; JSONArray msg = (JSONArray) jsonObject.get("spots"); for (Object obje : msg) { JSONObject jObj = (JSONObject) obje; //increase entities with Wikipedia linking String entity = jObj.get("mention").toString().toLowerCase(); description += entity + " "; } } URL urlRest2 = new URL("http://localhost:8080/dexter-webapp/api/rest/annotate"); String query2 = "text=" + pro.getDetails().replaceAll("[^ A-Za-z]+", "") + "&n=50&wn=false&debug=false&format=text&min-conf=0.5"; // make connection URLConnection urlc2 = urlRest2.openConnection(); // make connection // use post mode urlc2.setDoOutput(true); urlc2.setAllowUserInteraction(false); // send query PrintStream ps2; ps2 = new PrintStream(urlc2.getOutputStream()); ps2.print(query2); ps2.close(); // get result br = new BufferedReader(new InputStreamReader(urlc2.getInputStream())); l = null; while ((l = br.readLine()) != null) { //System.out.println(l); // get document JSONParser parser = new JSONParser(); Object obj = parser.parse(l); JSONObject jsonObject = (JSONObject) obj; JSONArray msg = (JSONArray) jsonObject.get("spots"); for (Object obje : msg) { JSONObject jObj = (JSONObject) obje; //increase entities with Wikipedia linking String entity = jObj.get("mention").toString().toLowerCase(); details += entity + " "; } } UserProfile uProfile = new UserProfile(pro.getCode().toUpperCase(), title.toLowerCase(), description.toLowerCase(), details.toLowerCase()); lsProfiles.add(uProfile); br.close(); } catch (IOException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } } PatternLayout layoutStandard = new PatternLayout(); layoutStandard.setConversionPattern("[%p] %d %c %M - %m%n"); PatternLayout layoutSimple = new PatternLayout(); layoutSimple.setConversionPattern("%m%n"); // Filter for the statuses: we only want INFO messages LevelRangeFilter filter = new LevelRangeFilter(); filter.setLevelMax(Level.INFO); filter.setLevelMin(Level.INFO); filter.setAcceptOnMatch(true); filter.activateOptions(); TRECUtils.getProcessor(); TRECUtils.getSim(); TimeBasedRollingPolicy statusesRollingPolicy = new TimeBasedRollingPolicy(); statusesRollingPolicy.setFileNamePattern("statuses.log" + HOUR_ROLL); statusesRollingPolicy.activateOptions(); RollingFileAppender statusesAppender = new RollingFileAppender(); statusesAppender.setRollingPolicy(statusesRollingPolicy); statusesAppender.addFilter(filter); statusesAppender.setLayout(layoutSimple); statusesAppender.activateOptions(); TimeBasedRollingPolicy warningsRollingPolicy = new TimeBasedRollingPolicy(); warningsRollingPolicy.setFileNamePattern("warnings.log" + HOUR_ROLL); warningsRollingPolicy.activateOptions(); RollingFileAppender warningsAppender = new RollingFileAppender(); warningsAppender.setRollingPolicy(statusesRollingPolicy); warningsAppender.setThreshold(Level.WARN); warningsAppender.setLayout(layoutStandard); warningsAppender.activateOptions(); ConsoleAppender consoleAppender = new ConsoleAppender(); consoleAppender.setThreshold(Level.WARN); consoleAppender.setLayout(layoutStandard); consoleAppender.activateOptions(); // configures the root logger Logger rootLogger = Logger.getRootLogger(); rootLogger.setLevel(Level.INFO); rootLogger.removeAllAppenders(); rootLogger.addAppender(consoleAppender); rootLogger.addAppender(statusesAppender); rootLogger.addAppender(warningsAppender); // creates a custom logger and log messages TwitterStream twitterStream = new TwitterStreamFactory().getInstance(); RawStreamListener rawListener = new RawStreamListener() { @Override public void onMessage(String rawString) { if (rawString.contains("\"delete\"")) { return; } cnt++; Gson gson = new Gson(); Tweet tweet = gson.fromJson(rawString, Tweet.class); String orgTweet = tweet.getText(); if (!tweet.getLang().equals("en") || (tweet.getRetweetedStatus() != null)) { return; } logger.info(tweet.getIdStr() + "-" + tweet.getText()); if (cnt % 1000 == 0) { System.out.println(cnt + " messages received."); } try { URL urlRest = new URL("http://localhost:8080/dexter-webapp/api/rest/annotate"); String query = "text=" + tweet.getText().replaceAll("[^ bA-Za-z]+", "") + "&n=50&wn=false&debug=false&format=text&min-conf=0.5"; // make connection URLConnection urlc = urlRest.openConnection(); // use post mode urlc.setDoOutput(true); urlc.setAllowUserInteraction(false); // send query PrintStream ps; ps = new PrintStream(urlc.getOutputStream()); ps.print(query); ps.close(); // get result BufferedReader br = new BufferedReader(new InputStreamReader(urlc.getInputStream())); String l = null; String strTweet = ""; while ((l = br.readLine()) != null) { //System.out.println(l); // get document JSONParser parser = new JSONParser(); Object obj = parser.parse(l); JSONObject jsonObject = (JSONObject) obj; JSONArray msg = (JSONArray) jsonObject.get("spots"); for (Object obje : msg) { JSONObject jObj = (JSONObject) obje; //increase entities with Wikipedia linking String entity = jObj.get("mention").toString().toLowerCase(); strTweet += entity + " "; } } tweet.setText(strTweet.toLowerCase()); br.close(); } catch (IOException e2) { // TODO Auto-generated catch block e2.printStackTrace(); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (!tweet.getText().isEmpty()) automaticMobileAgorithm(tweet, orgTweet); automaticDailyAgorithm(tweet, orgTweet); manualDailyAgorithm(tweet, orgTweet); manualMobileAgorithm(tweet, orgTweet); } @Override public void onException(Exception ex) { logger.warn(ex); } }; twitterStream.addListener(rawListener); twitterStream.sample(); }
From source file:cd.education.data.collector.android.preferences.GMEPreferencesActivity.java
License:Apache License
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.gme_preferences); // default initializers mAlertMsg = getString(R.string.please_wait); mAlertShowing = false;/*from www .j a v a 2 s. c o m*/ boolean adminMode = getIntent().getBooleanExtra(PreferencesActivity.INTENT_KEY_ADMIN_MODE, false); SharedPreferences adminPreferences = getSharedPreferences(AdminPreferencesActivity.ADMIN_PREFERENCES, 0); // determine if the partners list should be showing or not if (savedInstanceState != null && savedInstanceState.containsKey("partner_dialog")) { partnerListDialogShowing = savedInstanceState.getBoolean("partner_dialog"); } else { partnerListDialogShowing = false; if (savedInstanceState != null && savedInstanceState.containsKey(ALERT_MSG)) { mAlertMsg = savedInstanceState.getString(ALERT_MSG); } if (savedInstanceState != null && savedInstanceState.containsKey(ALERT_SHOWING)) { mAlertShowing = savedInstanceState.getBoolean(ALERT_SHOWING, false); } } mGMEProjectIDPreference = (DynamicListPreference) findPreference(PreferencesActivity.KEY_GME_PROJECT_ID); mGMEProjectIDPreference.setShowDialog(partnerListDialogShowing); mGMEProjectIDPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { mGMEProjectIDPreference.setValue((String) newValue); mGMEProjectIDPreference.setSummary(mGMEProjectIDPreference.getEntry()); mGMEProjectIDPreference.setShowDialog(false); return false; } }); mSelectedGoogleAccountPreference = (ListPreference) findPreference( PreferencesActivity.KEY_SELECTED_GOOGLE_ACCOUNT); PreferenceCategory gmePreferences = (PreferenceCategory) findPreference( getString(R.string.gme_preferences)); mGMEProjectIDPreference.setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference preference) { // mUlTask.setUserName(googleUsername); // ensure we have a google account selected SharedPreferences prefs = PreferenceManager .getDefaultSharedPreferences(GMEPreferencesActivity.this); String googleUsername = prefs.getString(PreferencesActivity.KEY_SELECTED_GOOGLE_ACCOUNT, null); if (googleUsername == null || googleUsername.equals("")) { showDialog(GOOGLE_USER_DIALOG); return true; } //TODO: CHECK FOR NETWORK CONNECTIVITY. // setup dialog and upload task showDialog(PROGRESS_DIALOG); mUlTask = new GetProjectIDTask(); mUlTask.setUserName(googleUsername); mUlTask.setUploaderListener(GMEPreferencesActivity.this); mUlTask.execute(); return true; } }); SharedPreferences appSharedPrefs = PreferenceManager .getDefaultSharedPreferences(this.getApplicationContext()); // Editor prefsEditor = appSharedPrefs.edit(); Gson gson = new Gson(); String json = appSharedPrefs.getString(PreferencesActivity.KEY_GME_ID_HASHMAP, ""); HashMap<String, String> idhashmap = gson.fromJson(json, HashMap.class); if (idhashmap != null) { String[] entries = new String[idhashmap.size()]; String[] values = new String[idhashmap.size()]; Iterator<String> iterator = idhashmap.keySet().iterator(); int it = 0; while (iterator.hasNext()) { String key = iterator.next(); entries[it] = key; values[it] = idhashmap.get(key); it++; } mGMEProjectIDPreference.setEntries(entries); mGMEProjectIDPreference.setEntryValues(values); mGMEProjectIDPreference.setSummary(mGMEProjectIDPreference.getEntry()); } // get list of google accounts final Account[] accounts = AccountManager.get(getApplicationContext()).getAccountsByType("com.google"); ArrayList<String> accountEntries = new ArrayList<String>(); ArrayList<String> accountValues = new ArrayList<String>(); for (int i = 0; i < accounts.length; i++) { accountEntries.add(accounts[i].name); accountValues.add(accounts[i].name); } accountEntries.add(getString(R.string.no_account)); accountValues.add(""); mSelectedGoogleAccountPreference.setEntries(accountEntries.toArray(new String[accountEntries.size()])); mSelectedGoogleAccountPreference.setEntryValues(accountValues.toArray(new String[accountValues.size()])); mSelectedGoogleAccountPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { int index = ((ListPreference) preference).findIndexOfValue(newValue.toString()); String value = (String) ((ListPreference) preference).getEntryValues()[index]; ((ListPreference) preference).setSummary(value); return true; } }); mSelectedGoogleAccountPreference.setSummary(mSelectedGoogleAccountPreference.getValue()); boolean googleAccountAvailable = adminPreferences .getBoolean(AdminPreferencesActivity.KEY_CHANGE_GOOGLE_ACCOUNT, true); if (!(googleAccountAvailable || adminMode)) { gmePreferences.removePreference(mSelectedGoogleAccountPreference); } }
From source file:cd.education.data.collector.android.tasks.GoogleMapsEngineAbstractUploader.java
License:Apache License
private String getGmeTableID(String projectid, String jrformid, String token, String md5) throws IOException { String gmetableid = null;//from w w w .j a v a 2s .co m // first check to see if form exists. // if a project ID has been defined String url = "https://www.googleapis.com/mapsengine/v1/tables"; if (projectid != null) { url = url + "?projectId=" + projectid; } HttpURLConnection conn = null; TablesListResponse tables = null; boolean found = false; GsonBuilder builder = new GsonBuilder(); Gson gson = builder.create(); // keep fetching while nextToken exists // and we haven't found a matching table findtableloop: while (tables == null || tables.nextPageToken != null) { String openUrl = url + "&where=Name=" + jrformid; if (tables != null && tables.nextPageToken != null) { openUrl = url + "&pageToken=" + tables.nextPageToken; } else { openUrl = url; } Log.i(tag, "trying to open url: " + openUrl); URL fullUrl = new URL(openUrl); conn = (HttpURLConnection) fullUrl.openConnection(); conn.setRequestMethod("GET"); conn.addRequestProperty("Authorization", "OAuth " + token); conn.connect(); if (conn.getResponseCode() != 200) { String errorString = getErrorMesssage(conn.getErrorStream()); throw new IOException(errorString); } BufferedReader br = null; br = new BufferedReader(new InputStreamReader(conn.getInputStream())); if (tables != null) { tables.nextPageToken = null; tables = null; } tables = gson.fromJson(br, TablesListResponse.class); for (int i = 0; i < tables.tables.length; i++) { Table t = tables.tables[i]; for (int j = 0; j < t.tags.length; j++) { if (md5.equalsIgnoreCase(t.tags[j])) { found = true; gmetableid = t.id; break findtableloop; } } } br.close(); // GME has 1q/s limit try { Thread.sleep(GME_SLEEP_TIME); } catch (InterruptedException e) { e.printStackTrace(); } } if (!found) { return null; } else { return gmetableid; } }
From source file:cd.education.data.collector.android.tasks.GoogleMapsEngineAbstractUploader.java
License:Apache License
private String createTable(String jrformid, String projectid, String md5, String token, String formFilePath) throws FileNotFoundException, XmlPullParserException, IOException, FormException { ArrayList<String> columnNames = new ArrayList<String>(); getColumns(formFilePath, columnNames); String gmetableid = null;//w w w . j av a2 s . co m GsonBuilder builder = new GsonBuilder(); Gson gson = builder.create(); Table t = new Table(); t.name = jrformid; Log.i(tag, "Using GME projectid : " + projectid); t.projectId = projectid; Column first = new Column(); first.name = "geometry"; first.type = "points"; Column[] columns = new Column[columnNames.size() + 1]; columns[0] = first; for (int i = 0; i < columnNames.size(); i++) { Column c = new Column(); c.name = columnNames.get(i); c.type = "string"; columns[i + 1] = c; } Schema s = new Schema(); s.columns = columns; t.schema = s; String[] tags = { md5 }; t.tags = tags; t.description = "auto-created by ODK Collect for formid " + jrformid; URL createTableUrl = new URL("https://www.googleapis.com/mapsengine/v1/tables"); HttpURLConnection sendConn = null; int status = -1; final String json = gson.toJson(t); sendConn = (HttpURLConnection) createTableUrl.openConnection(); sendConn.setReadTimeout(10000 /* milliseconds */); sendConn.setConnectTimeout(15000 /* milliseconds */); sendConn.setRequestMethod("POST"); sendConn.setDoInput(true); sendConn.setDoOutput(true); sendConn.setFixedLengthStreamingMode(json.getBytes().length); // make some HTTP header nicety sendConn.setRequestProperty("Content-Type", "application/json;charset=utf-8"); sendConn.setRequestProperty("X-Requested-With", "XMLHttpRequest"); sendConn.addRequestProperty("Authorization", "OAuth " + token); // setup send OutputStream os = new BufferedOutputStream(sendConn.getOutputStream()); os.write(json.getBytes()); // clean up os.flush(); status = sendConn.getResponseCode(); if (status != 200) { String errorString = getErrorMesssage(sendConn.getErrorStream()); throw new IOException(errorString); } else { BufferedReader br = new BufferedReader(new InputStreamReader(sendConn.getInputStream())); Table table = gson.fromJson(br, Table.class); Log.i(tag, "found table id :: " + table.id); gmetableid = table.id; } return gmetableid; }
From source file:cd.education.data.collector.android.tasks.GoogleMapsEngineTask.java
License:Apache License
protected String getErrorMesssage(InputStream is) { GsonBuilder builder = new GsonBuilder(); Gson gson = builder.create(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); StringBuilder jsonResponseBuilder = new StringBuilder(); String line = null;/* ww w .j a v a 2 s.c o m*/ try { while ((line = br.readLine()) != null) { jsonResponseBuilder.append(line + "\n"); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } String jsonResponse = jsonResponseBuilder.toString(); Log.i(tag, "GME json response : " + jsonResponse); GMEErrorResponse errResp = gson.fromJson(jsonResponse, GMEErrorResponse.class); StringBuilder sb = new StringBuilder(); sb.append(gme_fail + "\n"); if (errResp.error.errors != null) { for (int i = 0; i < errResp.error.errors.length; i++) { sb.append(errResp.error.errors[i].message + "\n"); } } else { sb.append(errResp.error.message + "\n"); } return sb.toString(); }
From source file:cd.go.contrib.elasticagents.marathon.MarathonInstance.java
License:Apache License
private MarathonApp buildApp() { MarathonDocker docker = new MarathonDocker(); docker.setImage(getImage());// w w w . ja v a 2s .co m docker.setNetwork("HOST"); docker.setPrivileged(true); docker.setForcePullImage(true); docker.setPortMappings(new ArrayList<>()); Container container = new Container(); container.setType("DOCKER"); container.setDocker(docker); if (isNotBlank(getVolumes())) { List<Volume> containerVolumes = new ArrayList<>(); for (String volume : getVolumes().split("\n")) { List<String> vol = Arrays.asList(volume.split(":")); Volume containerVolume = new Volume(); containerVolume.setContainerPath(vol.get(0)); containerVolume.setHostPath(vol.get(1)); if (vol.size() > 2) { containerVolume.setMode(vol.get(2)); } else { containerVolume.setMode("RW"); } containerVolumes.add(containerVolume); } container.setVolumes(containerVolumes); } MarathonApp app = new MarathonApp(); app.setMem(getMemory()); app.setCpus(getCpus()); app.setId(getMarathonPrefix() + getName()); app.setInstances(1); app.setContainer(container); app.setPorts(new ArrayList<>()); UpgradeStrategy upgradeStrategy = new UpgradeStrategy(); upgradeStrategy.setMaximumOverCapacity(0.0); upgradeStrategy.setMinimumHealthCapacity(0.0); app.setUpgradeStrategy(upgradeStrategy); if (isNotBlank(getCommand())) { app.setCmd(getCommand()); } if (isNotBlank(getUris())) { List<String> uris = new ArrayList<>(); uris.addAll(Arrays.asList(getUris().split("\n"))); app.setUris(uris); } if (isNotBlank(getConstraints())) { List<List<String>> constraints = new ArrayList<>(); Gson gson = new Gson(); for (String constraint : getConstraints().split("\n")) { constraints.add(gson.fromJson(constraint, List.class)); } app.setConstraints(constraints); } Map<String, String> envVars = new HashMap<>(); envVars.put("GO_EA_SERVER_URL", getGoServerUrl()); envVars.put("GO_EA_AUTO_REGISTER_ENVIRONMENT", getEnvironment()); envVars.put("GO_EA_GUID", "marathon." + getName()); envVars.putAll(getAutoRegisterProperties()); app.setEnv(envVars); if (isNotBlank(getUser())) { app.setUser(getUser()); envVars.put("GO_EA_USER", getUser()); } return app; }
From source file:cguide.execution.entities.CyclePartDefinition.java
public static CyclePartDefinition fromJson(String json) { Gson gson = new Gson(); return gson.fromJson(json, CyclePartDefinition.class); }
From source file:cguide.execution.entities.CyclePartPeriodicity.java
public static CyclePartPeriodicity fromJson(String json) { Gson gson = new Gson(); return gson.fromJson(json, CyclePartPeriodicity.class); }
From source file:ch.cyclops.BillingController.java
License:Open Source License
/** * This method gets the users present in a specified tenant. * * @param os/*from ww w .j a va 2 s. co m*/ * @param tenant * @return */ private ArrayList<OpenStackTenantUser> getOpenStackTenantUserList(OSClient os, OpenStackTenant tenant) { try { Gson gson = new Gson(); String url = Loader.getSettings().getOpenStackCredentials().getKeystoneAdminUrl() + "/tenants/" + tenant.getId() + "/users"; ClientResource cr = new ClientResource(url); Request req = cr.getRequest(); // now header Series<Header> headerValue = new Series<Header>(Header.class); req.getAttributes().put(HeaderConstants.ATTRIBUTE_HEADERS, headerValue); headerValue.add("X-Auth-Token", os.getToken().getId()); // fire it up cr.get(MediaType.APPLICATION_JSON); Representation output = cr.getResponseEntity(); OpenStackTenantUserListResponse response = gson.fromJson(output.getText(), OpenStackTenantUserListResponse.class); return response.getUsers(); } catch (Exception e) { //Log System.out.println("Error while getting the list of users using a tenant: " + e.getMessage()); return null; } }