List of usage examples for twitter4j GeoLocation GeoLocation
public GeoLocation(double latitude, double longitude)
From source file:ai.ilikeplaces.logic.Listeners.ListenerMain.java
License:Open Source License
/** * @param request__/*from www . j a v a2 s .com*/ * @param response__ */ @Override public void processRequest(final ItsNatServletRequest request__, final ItsNatServletResponse response__) { new AbstractListener(request__, response__) { protected String location; protected String superLocation; protected Long WOEID; /** * Initialize your document here by appending fragments */ @Override @SuppressWarnings("unchecked") @_todo(task = "If location is not available, it should be added through a w" + "id" + "get(or fragment maybe?)") protected final void init(final ItsNatHTMLDocument itsNatHTMLDocument__, final HTMLDocument hTMLDocument__, final ItsNatDocument itsNatDocument__, final Object... initArgs) { final SmartLogger sl = SmartLogger.start(Loggers.LEVEL.DEBUG, "Location Page.", 60000, null, true); //this.location = (String) request_.getServletRequest().getAttribute(RBGet.config.getString("HttpSessionAttr.location")); getLocationSuperLocation: { final String[] attr = ((String) request__.getServletRequest() .getAttribute(RBGet.globalConfig.getString(HTTP_SESSION_ATTR_LOCATION))).split("_"); location = attr[0]; if (attr.length == 3) { superLocation = attr[2]; } else { superLocation = EMPTY; } tryLocationId: { try { final String w = request__.getServletRequest().getParameter(Location.WOEID); if (w != null) { WOEID = Long.parseLong(request__.getServletRequest().getParameter(Location.WOEID)); } } catch (final NumberFormatException e) { Loggers.USER_EXCEPTION.error(WRONG_WOEID_FORMAT, e); } } } sl.appendToLogMSG(RETURNING_LOCATION + location + TO_USER); final ResourceBundle gUI = ResourceBundle.getBundle(AI_ILIKEPLACES_RBS_GUI); layoutNeededForAllPages: { setLoginWidget: { try { new SignInOn(request__, $(Main_login_widget), new SignInOnCriteria().setHumanId(new HumanId(getUsername())) .setSignInOnDisplayComponent( SignInOnCriteria.SignInOnDisplayComponent.MOMENTS)) { }; } catch (final Throwable t) { sl.l(ERROR_IN_UC_SET_LOGIN_WIDGET, t); } } SEO: { try { setMainTitle: { $(mainTitle).setTextContent( MessageFormat.format(gUI.getString("woeidpage.title"), location)); } setMetaDescription: { $(mainMetaDesc).setAttribute(MarkupTag.META.content(), MessageFormat.format(gUI.getString("woeidpage.desc"), location)); } } catch (final Throwable t) { sl.l(ERROR_IN_UC_SEO, t); } } signOnDisplayLink: { try { if (getUsername() != null) { $(Main_othersidebar_identity).setTextContent( gUI.getString(AI_ILIKEPLACES_LOGIC_LISTENERS_LISTENER_MAIN_0004) + getUsernameAsValid()); } else { $(Main_othersidebar_identity).setTextContent( gUI.getString(AI_ILIKEPLACES_LOGIC_LISTENERS_LISTENER_MAIN_0005) + location); } } catch (final Throwable t) { sl.l(ERROR_IN_UC_SIGN_ON_DISPLAY_LINK, t); } } setProfileLink: { try { if (getUsername() != null) { $(Main_othersidebar_profile_link).setAttribute(MarkupTag.A.href(), Controller.Page.Profile.getURL()); } else { $(Main_othersidebar_profile_link).setAttribute(MarkupTag.A.href(), Controller.Page.signup.getURL()); } } catch (final Throwable t) { sl.l(ERROR_IN_UC_SET_PROFILE_LINK, t); } } setProfilePhotoLink: { try { if (getUsername() != null) { /** * TODO check for db failure */ String url = DB.getHumanCRUDHumanLocal(true) .doDirtyRHumansProfilePhoto(new HumanId(getUsernameAsValid())) .returnValueBadly(); url = url == null ? null : RBGet.globalConfig.getString(PROFILE_PHOTOS) + url; if (url != null) { $(Main_profile_photo).setAttribute(MarkupTag.IMG.src(), url); //displayBlock($(Main_profile_photo)); } else { //displayNone($(Main_profile_photo)); } } else { //displayNone($(Main_profile_photo)); } } catch (final Throwable t) { sl.l(ERROR_IN_UC_SET_PROFILE_PHOTO_LINK, t); } } } final Return<Location> r; if (WOEID != null) { r = DB.getHumanCRUDLocationLocal(true).doRLocation(WOEID, REFRESH_SPEC); } else { r = new ReturnImpl<Location>(ExceptionCache.UNSUPPORTED_OPERATION_EXCEPTION, "Search Unavailable", false); //r = DB.getHumanCRUDLocationLocal(true).dirtyRLocation(location, superLocation); } if (r.returnStatus() == 0 && r.returnValue() != null) { final Location existingLocation_ = r.returnValue(); GEO: { if (existingLocation_.getLocationGeo1() == null || existingLocation_.getLocationGeo2() == null) { final Client ygpClient = YAHOO_GEO_PLANET_FACTORY .getInstance(RBGet.globalConfig.getString("where.yahooapis.com.v1.place")); final Place place = ygpClient.getPlace(existingLocation_.getLocationId().toString()); existingLocation_.setLocationGeo1(Double.toString(place.getCoordinates().getY())); existingLocation_.setLocationGeo2(Double.toString(place.getCoordinates().getX())); new Thread(new Runnable() { @Override public void run() { DB.getHumanCRUDLocationLocal(true).doULocationLatLng( new Obj<Long>(existingLocation_.getLocationId()), new Obj<Double>(place.getCoordinates().getY()), new Obj<Double>(place.getCoordinates().getX())); } }).run(); } } final Location locationSuperSet = existingLocation_.getLocationSuperSet(); GEO_WIDGET: { new ai.ilikeplaces.logic.Listeners.widgets.schema.thing.Comment(request__, new CommentCriteria(), $(Controller.Page.Main_right_column)) { @Override protected void init(CommentCriteria commentCriteria) { final ai.ilikeplaces.logic.Listeners.widgets.schema.thing.Place place = new ai.ilikeplaces.logic.Listeners.widgets.schema.thing.Place( request__, new PlaceCriteria() //This Place .setPlaceNamePre("Exciting events in ") .setPlaceName(existingLocation_.getLocationName()) .setPlaceLat(existingLocation_.getLocationGeo1()) .setPlaceLng(existingLocation_.getLocationGeo2()) //Parent Place //.setPlaceSuperName(locationSuperSet.getLocationName()) //.setPlaceSuperLat(locationSuperSet.getLocationGeo1()) //.setPlaceSuperLng(locationSuperSet.getLocationGeo2()) //Parent WOEID //.setPlaceSuperWOEID(locationSuperSet.getWOEID().toString()) , $$(CommentIds.commentPerson)); place.$$displayNone(place.$$( ai.ilikeplaces.logic.Listeners.widgets.schema.thing.Place.PlaceIds.placeWidget)); } }; } final List<String> titleManifest = new ArrayList<String>(); EVENTS_WIDGETS: { try { /* final JSONObject jsonObject = Modules.getModules().getYahooUplcomingFactory() .getInstance("http://upcoming.yahooapis.com/services/rest/") .get("", new HashMap<String, String>() { {//Don't worry, this is a static initializer of this map :) put("method", "event.search"); put("woeid", WOEID.toString()); put("format", "json"); } } ); final JSONArray events = jsonObject.getJSONObject("rsp").getJSONArray("event");*/ final JSONObject jsonObject = Modules.getModules().getEventulFactory() .getInstance("http://api.eventful.com/json/events/search/") .get("", new HashMap<String, String>() { {//Don't worry, this is a static initializer of this map :) put("location", "" + existingLocation_.getLocationGeo1() + "," + existingLocation_.getLocationGeo2()); put("within", "" + 100); } } ); Loggers.debug("Eventful Reply:" + jsonObject.toString()); // final String eventName = eventJSONObject.getString("title"); // final String eventUrl = eventJSONObject.getString("url"); // final String eventDate = eventJSONObject.getString("start_time"); // final String eventVenue = eventJSONObject.getString("venue_name"); final JSONArray events = jsonObject.getJSONObject("events").getJSONArray("event"); for (int i = 0; i < events.length(); i++) { final JSONObject eventJSONObject = new JSONObject(events.get(i).toString()); titleManifest.add(eventJSONObject.get("title").toString()); final String photoUrl; String temp = null; try { temp = eventJSONObject.getJSONObject("image").get("url").toString(); } catch (final Throwable e) { SmartLogger.g().l(e.getMessage()); } finally { photoUrl = temp; } //The pain I go through to make variables final :D new Event(request__, new EventCriteria() .setEventName(eventJSONObject.get("title").toString()) .setEventStartDate(eventJSONObject.get("start_time").toString()) .setEventPhoto(photoUrl) .setPlaceCriteria(new PlaceCriteria() .setPlaceNamePre("This event is taking place in ") .setPlaceName(existingLocation_.getLocationName()) .setPlaceLat(eventJSONObject.get("latitude").toString()) .setPlaceLng(eventJSONObject.get("longitude").toString()) //Parent Place .setPlaceSuperNamePre( existingLocation_.getLocationName() + " is located in ") .setPlaceSuperName(locationSuperSet.getLocationName()) .setPlaceSuperLat(locationSuperSet.getLocationGeo1()) .setPlaceSuperLng(locationSuperSet.getLocationGeo2()) //Parent WOEID .setPlaceSuperWOEID(locationSuperSet.getWOEID().toString()) ), $(Controller.Page.Main_right_column)); } } catch (final JSONException e) { sl.l("Error fetching data from Yahoo Upcoming: " + e.getMessage()); } } TWITTER_WIDGETS: { try { final Query _query = new Query( "fun OR happening OR enjoy OR nightclub OR restaurant OR party OR travel :)"); _query.geoCode( new GeoLocation(Double.parseDouble(existingLocation_.getLocationGeo1()), Double.parseDouble(existingLocation_.getLocationGeo2())), 40, Query.MILES); _query.setResultType(Query.MIXED); final QueryResult result = TWITTER.search(_query); //final QueryResult result = TWITTER.search(new Query("Happy").geoCode(new GeoLocation(Double.parseDouble(existingLocation_.getLocationGeo1()), Double.parseDouble(existingLocation_.getLocationGeo2())), 160, Query.MILES)); for (Status tweet : result.getTweets()) { new ai.ilikeplaces.logic.Listeners.widgets.schema.thing.Person(request__, new PersonCriteria().setPersonName(tweet.getUser().getName()) .setPersonPhoto(tweet.getUser().getProfileImageURL()) .setPersonData(tweet.getText()), $(Main_right_column)); titleManifest.add(tweet.getText()); } if (result.getTweets().size() == 0) { sl.l("No twitter results found"); } } catch (final Throwable t) { sl.l("An error occurred during twitter fetch:" + t.getMessage()); } } SEO: { setMetaGEOData: { $(Main_ICBM).setAttribute(MarkupTag.META.content(), existingLocation_.getLocationGeo1() + COMMA + existingLocation_.getLocationGeo2()); $(Main_geoposition).setAttribute(MarkupTag.META.content(), existingLocation_.getLocationGeo1() + COMMA + existingLocation_.getLocationGeo2()); $(Main_geoplacename).setAttribute(MarkupTag.META.content(), existingLocation_.getLocationName()); $(Main_georegion).setAttribute(MarkupTag.META.content(), locationSuperSet.getLocationName()); } } setLocationIdForJSReference: { try { final Element hiddenLocationIdInputTag = $(INPUT); hiddenLocationIdInputTag.setAttribute(INPUT.type(), INPUT.typeValueHidden()); hiddenLocationIdInputTag.setAttribute(INPUT.id(), JSCodeToSend.LocationId); hiddenLocationIdInputTag.setAttribute(INPUT.value(), existingLocation_.getLocationId().toString()); hTMLDocument__.getBody().appendChild(hiddenLocationIdInputTag); $(Main_location_name).setAttribute(INPUT.value(), existingLocation_.getLocationName() + ""); $(Main_super_location_name).setAttribute(INPUT.value(), locationSuperSet.getLocationName() + ""); } catch (final Throwable t) { sl.l(ERROR_IN_UC_SET_LOCATION_ID_FOR_JSREFERENCE, t); } } setLocationNameForJSReference: { try { final Element hiddenLocationIdInputTag = $(INPUT); hiddenLocationIdInputTag.setAttribute(INPUT.type(), INPUT.typeValueHidden()); hiddenLocationIdInputTag.setAttribute(INPUT.id(), JSCodeToSend.LocationName); hiddenLocationIdInputTag.setAttribute(INPUT.value(), existingLocation_.getLocationName() + OF + locationSuperSet.getLocationName()); hTMLDocument__.getBody().appendChild(hiddenLocationIdInputTag); } catch (final Throwable t) { sl.l(ERROR_IN_UC_SET_LOCATION_NAME_FOR_JSREFERENCE, t); } } setLocationAsPageTopic: { try { final StringBuilder title = new StringBuilder(); for (final String titleGuest : titleManifest) { title.append(titleGuest); } final String finalTitle = title.toString(); $(Main_center_main_location_title).setTextContent(finalTitle.isEmpty() ? (THIS_IS + existingLocation_.getLocationName() + OF + locationSuperSet) : finalTitle); for (final Element element : generateLocationLinks(DB.getHumanCRUDLocationLocal(true) .doDirtyRLocationsBySuperLocation(existingLocation_))) { $(Main_location_list).appendChild(element); displayBlock($(Main_notice_sh)); } } catch (final Throwable t) { sl.l(ERROR_IN_UC_SET_LOCATION_AS_PAGE_TOPIC, t); } } } else { noSupportForNewLocations: { try { // $(Main_notice).appendChild(($(P).appendChild( // hTMLDocument__.createTextNode(RBGet.logMsgs.getString("CANT_FIND_LOCATION") // + " Were you looking for " // )))); // for (final Element element : generateLocationLinks(DB.getHumanCRUDLocationLocal(true).dirtyRLikeLocations(location))) { // $(Main_notice).appendChild(element); // displayBlock($(Main_notice_sh)); // } NotSupportingLikeSearchTooForNow: { $(Main_notice).appendChild(($(P).appendChild(hTMLDocument__ .createTextNode(RBGet.logMsgs.getString("CANT_FIND_LOCATION"))))); } } catch (final Throwable t) { sl.l(ERROR_IN_UC_NO_SUPPORT_FOR_NEW_LOCATIONS, t); } } } sl.complete(Loggers.LEVEL.SERVER_STATUS, Loggers.DONE); } /** * Use ItsNatHTMLDocument variable stored in the AbstractListener class */ @Override protected void registerEventListeners(final ItsNatHTMLDocument itsNatHTMLDocument__, final HTMLDocument hTMLDocument__, final ItsNatDocument itsNatDocument__) { } private List<Element> generateLocationLinks(final List<Location> locationList) { final ElementComposer UList = ElementComposer.compose($(UL)).$ElementSetAttribute(MarkupTag.UL.id(), PLACE_LIST); for (Location location : locationList) { final Element link = $(A); link.setTextContent(TRAVEL_TO + location.getLocationName() + OF + location.getLocationSuperSet().getLocationName()); link.setAttribute(A.href(), PAGE + location.getLocationName() + _OF_ + location.getLocationSuperSet().getLocationName() + Parameter.get(Location.WOEID, location.getWOEID().toString(), true)); link.setAttribute(A.alt(), PAGE + location.getLocationName() + _OF_ + location.getLocationSuperSet().getLocationName()); link.setAttribute(A.title(), CLICK_TO_EXPLORE + location.getLocationName() + OF + location.getLocationSuperSet().getLocationName()); link.setAttribute(A.classs(), VTIP); final Element linkDiv = $(DIV); linkDiv.appendChild(link); UList.wrapThis(ElementComposer.compose($(LI)).wrapThis(linkDiv).get()); } final List<Element> elements = new ArrayList<Element>(); elements.add(UList.get()); return elements; } private Element generateLocationLink(final Location location) { final Element link = $(A); link.setTextContent(TRAVEL_TO + location.getLocationName() + OF + location.getLocationSuperSet().getLocationName()); link.setAttribute(A.href(), PAGE + location.getLocationName() + _OF_ + location.getLocationSuperSet().getLocationName() + Parameter.get(Location.WOEID, location.getWOEID().toString(), true)); link.setAttribute(A.alt(), PAGE + location.getLocationName() + _OF_ + location.getLocationSuperSet().getLocationName()); return link; } private Element generateSimpleLocationLink(final Location location) { final Element link = $(A); link.setTextContent(location.getLocationName()); link.setAttribute(A.href(), PAGE + location.getLocationName() + Parameter.get(Location.WOEID, location.getWOEID().toString(), true)); link.setAttribute(A.alt(), PAGE + location.getLocationName()); return link; } };//Listener }
From source file:Beans.Crawler.java
public String teste() { String result = ""; int totalTweets = 0; long maxID = -1; GeoLocation geo = new GeoLocation(Double.parseDouble("-19.9225"), Double.parseDouble("-43.9450")); result += geo.getLatitude() + " " + geo.getLongitude() + "<br><br>"; Twitter twitter = getTwitter();/*from w w w . j av a 2 s . c om*/ try { Map<String, RateLimitStatus> rateLimitStatus = twitter.getRateLimitStatus("search"); RateLimitStatus searchTweetsRateLimit = rateLimitStatus.get("/search/tweets"); result += "You have " + searchTweetsRateLimit.getRemaining() + " calls remaining out of " + searchTweetsRateLimit.getLimit() + ", Limit resets in " + searchTweetsRateLimit.getSecondsUntilReset() + " seconds<br/><br/>"; for (int queryNumber = 0; queryNumber < MAX_QUERIES; queryNumber++) { // Do we need to delay because we've already hit our rate limits? if (searchTweetsRateLimit.getRemaining() == 0) { // Yes we do, unfortunately ... // System.out.printf("!!! Sleeping for %d seconds due to rate limits\n", searchTweetsRateLimit.getSecondsUntilReset()); // If you sleep exactly the number of seconds, you can make your query a bit too early // and still get an error for exceeding rate limitations // // Adding two seconds seems to do the trick. Sadly, even just adding one second still triggers a // rate limit exception more often than not. I have no idea why, and I know from a Comp Sci // standpoint this is really bad, but just add in 2 seconds and go about your business. Or else. // Thread.sleep((searchTweetsRateLimit.getSecondsUntilReset()+2) * 1000l); } Query q = new Query(SEARCH_TERM); //.geoCode((geo), 100, "mi"); // Search for tweets that contains this term q.setCount(TWEETS_PER_QUERY); // How many tweets, max, to retrieve // q.setGeoCode(geo, 100, Query.Unit.mi); // q.setSince("2012-02-20"); // // q.resultType("recent"); // Get all tweets // q.setLang("en"); // English language tweets, please // If maxID is -1, then this is our first call and we do not want to tell Twitter what the maximum // tweet id is we want to retrieve. But if it is not -1, then it represents the lowest tweet ID // we've seen, so we want to start at it-1 (if we start at maxID, we would see the lowest tweet // a second time... if (maxID != -1) { q.setMaxId(maxID - 1); } // This actually does the search on Twitter and makes the call across the network QueryResult r = twitter.search(q); // If there are NO tweets in the result set, it is Twitter's way of telling us that there are no // more tweets to be retrieved. Remember that Twitter's search index only contains about a week's // worth of tweets, and uncommon search terms can run out of week before they run out of tweets if (r.getTweets().size() == 0) { break; // Nothing? We must be done } // loop through all the tweets and process them. In this sample program, we just print them // out, but in a real application you might save them to a database, a CSV file, do some // analysis on them, whatever... for (Status s : r.getTweets()) // Loop through all the tweets... { // Increment our count of tweets retrieved totalTweets++; // Keep track of the lowest tweet ID. If you do not do this, you cannot retrieve multiple // blocks of tweets... if (maxID == -1 || s.getId() < maxID) { maxID = s.getId(); } // Do something with the tweet.... result += "ID: " + s.getId() + " Data " + s.getCreatedAt().toString() + " user " + s.getUser().getScreenName() + " texto: " + cleanText(s.getText()) + " <br/>"; } // As part of what gets returned from Twitter when we make the search API call, we get an updated // status on rate limits. We save this now so at the top of the loop we can decide whether we need // to sleep or not before making the next call. searchTweetsRateLimit = r.getRateLimitStatus(); } } catch (Exception e) { // Catch all -- you're going to read the stack trace and figure out what needs to be done to fix it } result += "<br><br>" + totalTweets + "<br>"; return result; }
From source file:br.com.porcelli.hornetq.integration.twitter.outgoing.impl.OutgoingTwitterHandler.java
License:Apache License
@Override public HandleStatus handle(final MessageReference ref) { System.out.println("Entrando no handle()"); synchronized (this) { ref.handled();/*from w w w . java 2s.c o m*/ final ServerMessage message = ref.getMessage(); try { String text2publish; if (message.containsProperty(TwitterConstants.KEY_TEXT)) { text2publish = message.getStringProperty(TwitterConstants.KEY_TEXT); } else { text2publish = message.getBodyBuffer().readString(); } if (text2publish == null || text2publish.trim().length() <= 0) { log.error(ERROR_MESSAGE_NOT_FILLED); throw new Exception(ERROR_MESSAGE_NOT_FILLED); } else if (text2publish.length() > 140) { log.warn(ERROR_MESSAGE_SIZE_EXCEED); text2publish = text2publish.substring(0, 139); } MessageType type = MessageType.TWEET; try { if (message.containsProperty(TwitterConstants.KEY_MSG_TYPE)) { type = MessageType .valueOf(message.getStringProperty(TwitterConstants.KEY_MSG_TYPE).toUpperCase()); } } catch (Exception e) { log.warn(ERROR_INVALID_MESSAGE_TYPE); } if (type == MessageType.DM) { if (!message.containsProperty(TwitterConstants.KEY_TO_USER_ID) && !message.containsProperty(TwitterConstants.KEY_TO_USER_SCREEN_NAME)) { log.error(ERROR_DM_DESTINY_NOT_FOUND); throw new Exception(ERROR_DM_DESTINY_NOT_FOUND); } DirectMessage sentMessage = null; if (message.containsProperty(TwitterConstants.KEY_TO_USER_ID)) { int userId = -1; try { userId = message.getIntProperty(TwitterConstants.KEY_TO_USER_ID); } catch (PropertyConversionException e) { userId = Integer.valueOf(message.getStringProperty(TwitterConstants.KEY_TO_USER_ID)); } sentMessage = twitter.sendDirectMessage(userId, text2publish); dmSent.incrementAndGet(); totalSent.incrementAndGet(); } else if (message.containsProperty(TwitterConstants.KEY_TO_USER_SCREEN_NAME)) { String userScreenName = message.getStringProperty(TwitterConstants.KEY_TO_USER_SCREEN_NAME); sentMessage = twitter.sendDirectMessage(userScreenName, text2publish); dmSent.incrementAndGet(); totalSent.incrementAndGet(); } if (sentMessage != null && sentQueue != null) { final ServerMessage msg = buildMessage(sentQueue.getName().toString(), sentMessage); msg.setAddress(sentQueue.getName()); msg.setDurable(true); postOffice.route(msg, false); } } else { final StatusUpdate status = new StatusUpdate(text2publish); if (message.containsProperty(TwitterConstants.KEY_IN_REPLY_TO_STATUS_ID)) { long reply2StatusId = 0L; try { reply2StatusId = message.getLongProperty(TwitterConstants.KEY_IN_REPLY_TO_STATUS_ID); } catch (PropertyConversionException e) { reply2StatusId = Long .valueOf(message.getStringProperty(TwitterConstants.KEY_IN_REPLY_TO_STATUS_ID)); } status.setInReplyToStatusId(reply2StatusId); } if (message.containsProperty(TwitterConstants.KEY_GEO_LATITUDE) && message.containsProperty(TwitterConstants.KEY_GEO_LONGITUDE)) { double geolat = 0.0D; double geolong = 0.0D; try { geolat = message.getDoubleProperty(TwitterConstants.KEY_GEO_LATITUDE); } catch (PropertyConversionException e) { geolat = Double.valueOf(message.getStringProperty(TwitterConstants.KEY_GEO_LATITUDE)); } try { geolong = message.getDoubleProperty(TwitterConstants.KEY_GEO_LONGITUDE); } catch (PropertyConversionException e) { geolong = Double.valueOf(message.getStringProperty(TwitterConstants.KEY_GEO_LONGITUDE)); } status.setLocation(new GeoLocation(geolat, geolong)); } if (message.containsProperty(TwitterConstants.KEY_PLACE_ID)) { status.setPlaceId(message.getStringProperty(TwitterConstants.KEY_PLACE_ID)); } if (message.containsProperty(TwitterConstants.KEY_DISPLAY_COODINATES)) { boolean displayCoordinated = false; try { displayCoordinated = message .getBooleanProperty(TwitterConstants.KEY_DISPLAY_COODINATES); } catch (PropertyConversionException e) { displayCoordinated = Boolean .valueOf(message.getStringProperty(TwitterConstants.KEY_DISPLAY_COODINATES)); } status.setDisplayCoordinates(displayCoordinated); } Status sentMessage = twitter.updateStatus(status); tweetSent.incrementAndGet(); totalSent.incrementAndGet(); if (sentMessage != null && sentQueue != null) { final ServerMessage msg = buildMessage(sentQueue.getName().toString(), sentMessage); msg.setAddress(sentQueue.getName()); msg.setDurable(true); postOffice.route(msg, false); } } } catch (Exception e) { mbean.notifyException(e); log.error("Error sending message.", e); if (errorQueue != null) { final ServerMessage msg = message.copy(); msg.setAddress(errorQueue.getName()); msg.setDurable(true); try { postOffice.route(msg, false); } catch (Exception e1) { mbean.notifyException(e1); } } } try { queue.acknowledge(ref); } catch (Exception e) { mbean.notifyException(e); log.error("Error acknowledging message.", e); } return HandleStatus.HANDLED; } }
From source file:ch.schrimpf.core.TwitterCrawler.java
License:Open Source License
/** * @param queryString describes keywords and filters * @return an initialized Query//from w ww . jav a 2 s. c o m */ private Query initQuery(String queryString) { Query query = new Query(queryString); try { Properties prop = new Properties(); prop.load(new FileInputStream("easyTwitterCrawler.properties")); query.setCount(Integer.parseInt(prop.getProperty("queryLimit"))); query.setLocale(prop.getProperty("locale")); query.setLang(prop.getProperty("lang")); GeoLocation location = new GeoLocation(Double.parseDouble(prop.getProperty("latitude")), Double.parseDouble(prop.getProperty("longitude"))); double radius = Double.parseDouble(prop.getProperty("radius")); query.setGeoCode(location, radius, Query.KILOMETERS); } catch (IOException e) { // Properties could not be load query.setCount(DEFAULT_QUERY_LIMIT); query.setLocale(DEFAULT_LOCALE); query.setLang(DEFAULT_LANG); query.setGeoCode(DEFAULT_GEO_LOCATION, DEFAULT_RADIUS, Query.KILOMETERS); } return query; }
From source file:com.daiv.android.twitter.ui.drawer_activities.discover.NearbyTweets.java
License:Apache License
public void getTweets() { canRefresh = false;/* w ww. j a v a 2 s.co m*/ new Thread(new Runnable() { @Override public void run() { try { Twitter twitter = Utils.getTwitter(context, DrawerActivity.settings); boolean manualLoc = sharedPrefs.getBoolean("manually_config_location", false); int i = 0; while (!connected && i < 5 && !manualLoc) { try { Thread.sleep(1500); } catch (Exception e) { } i++; } double latitude = -1; double longitude = -1; if (manualLoc) { // need to query yahoos api for the location... double[] loc = getLocationFromYahoo(sharedPrefs.getInt("woeid", 2379574)); latitude = loc[0]; longitude = loc[1]; } else { // set it from the location client Location location = mLastLocation; latitude = location.getLatitude(); longitude = location.getLongitude(); } query = new Query(); query.setGeoCode(new GeoLocation(latitude, longitude), 10, Query.MILES); QueryResult result = twitter.search(query); if (result.hasNext()) { hasMore = true; query = result.nextQuery(); } else { hasMore = false; } for (Status s : result.getTweets()) { statuses.add(s); } ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { adapter = new TimelineArrayAdapter(context, statuses); listView.setAdapter(adapter); listView.setVisibility(View.VISIBLE); LinearLayout spinner = (LinearLayout) layout.findViewById(R.id.list_progress); spinner.setVisibility(View.GONE); } }); } catch (Throwable e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { try { Toast.makeText(context, getString(R.string.error), Toast.LENGTH_SHORT).show(); } catch (IllegalStateException e) { // not attached to activity } } }); } canRefresh = true; } }).start(); }
From source file:com.daiv.android.twitter.ui.drawer_activities.discover.trends.LocalTrends.java
License:Apache License
public void getTrends() { new Thread(new Runnable() { @Override//from w ww . j a v a 2 s .c o m public void run() { try { Twitter twitter = Utils.getTwitter(context, DrawerActivity.settings); int i = 0; while (!connected && i < 5) { try { Thread.sleep(1500); } catch (Exception e) { } i++; } twitter4j.Trends trends; if (sharedPrefs.getBoolean("manually_config_location", false)) { trends = twitter.getPlaceTrends(sharedPrefs.getInt("woeid", 2379574)); // chicago to default } else { Location location = mLastLocation; ResponseList<twitter4j.Location> locations = twitter .getClosestTrends(new GeoLocation(location.getLatitude(), location.getLongitude())); trends = twitter.getPlaceTrends(locations.get(0).getWoeid()); } final ArrayList<String> currentTrends = new ArrayList<String>(); for (Trend t : trends.getTrends()) { String name = t.getName(); currentTrends.add(name); } ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { try { if (currentTrends != null) { listView.setAdapter(new TrendsArrayAdapter(context, currentTrends)); listView.setVisibility(View.VISIBLE); } else { Toast.makeText(context, getResources().getString(R.string.no_location), Toast.LENGTH_SHORT).show(); } LinearLayout spinner = (LinearLayout) layout.findViewById(R.id.list_progress); spinner.setVisibility(View.GONE); } catch (Exception e) { // not attached to activity } } }); HashtagDataSource source = HashtagDataSource.getInstance(context); for (String s : currentTrends) { Log.v("Test_hashtag", "trend: " + s); if (s.contains("#")) { // we want to add it to the auto complete Log.v("Test_hashtag", "adding: " + s); // could be much more efficient by querying and checking first, but I // just didn't feel like it when there is only ever 10 of them here source.deleteTag(s); // add it to the userAutoComplete database source.createTag(s); } } } catch (Throwable e) { e.printStackTrace(); ((Activity) context).runOnUiThread(new Runnable() { @Override public void run() { try { Toast.makeText(context, getResources().getString(R.string.no_location), Toast.LENGTH_SHORT).show(); } catch (Exception e) { // not attached to activity } } }); } } }).start(); }
From source file:com.dwdesign.tweetings.model.ParcelableLocation.java
License:Open Source License
public GeoLocation toGeoLocation() { return isValid() ? new GeoLocation(latitude, longitude) : null; }
From source file:com.fuzuapp.model.resultados.TwitterAdapter.java
@Override public List<Resultado> getResultados(GeoPoint ponto, double raio) { List<Resultado> resultados = new ArrayList(); try {/* w w w . j a v a 2 s . c o m*/ Query query = new Query(""); GeoLocation geo = new GeoLocation(ponto.getLatitude(), ponto.getLongitude()); query.setGeoCode(geo, raio, Query.KILOMETERS); query.resultType(Query.RECENT); query.setCount(20); QueryResult result = twitter.search(query); for (Status status : result.getTweets()) { Resultado r = new Resultado(); r.setDescricao(status.getText()); r.setUrl("http://twitter.com/statuses/" + String.valueOf(status.getId())); r.setNomeUsuario(status.getUser().getName()); r.setHorario(new SimpleDateFormat("dd/MM HH:mm").format(status.getCreatedAt())); r.setFotoUrl(status.getUser().getProfileImageURL()); //r.setLocal(new GeoPoint(status.getGeoLocation().getLatitude(), status.getGeoLocation().getLongitude())); r.setTipo(Resultado.TEXTO); resultados.add(r); } } catch (TwitterException ex) { Logger.getLogger(TwitterAdapter.class.getName()).log(Level.SEVERE, null, ex); } return resultados; }
From source file:com.github.moko256.twitlatte.PostActivity.java
License:Apache License
private void updateLocation() { LocationManager locationManager = (LocationManager) getApplicationContext() .getSystemService(LOCATION_SERVICE); disposable.add(//from ww w . ja v a2 s . com new LocationSingleBuilder(Objects.requireNonNull(locationManager)).getSingle().subscribe(it -> { model.setLocation(new GeoLocation(it.getLatitude(), it.getLongitude())); locationText.setText(getString(R.string.lat_and_lon, it.getLatitude(), it.getLongitude())); }, e -> Toast.makeText(this, TwitterStringUtils.convertErrorToText(e), Toast.LENGTH_SHORT).show())); }
From source file:com.github.moko256.twitlatte.TrendsFragment.java
License:Apache License
private Single<GeoLocation> getGeoLocationSingle() { return Single.create(subscriber -> { try {/* w w w. ja v a 2 s . c om*/ Geocoder geocoder = new Geocoder(getContext()); Locale locale = Locale.getDefault(); Address address = geocoder.getFromLocationName(locale.getDisplayCountry(), 1).get(0); if (address != null) { subscriber.onSuccess(new GeoLocation(address.getLatitude(), address.getLongitude())); } else { subscriber.tryOnError(new Exception("Cannot use trends")); } } catch (IOException e) { subscriber.tryOnError(e); } }); }