@Override public Session get(final Builder builder) { Jedis jedis = null; try { jedis = pool.getResource(); String key = key(builder.sessionId()); Map<String, String> attrs = jedis.hgetAll(key); if (attrs == null || attrs.size() == 0) { // expired return null; } if (timeout > 0) { // touch session jedis.expire(key, timeout); } return builder .accessedAt(Long.parseLong(attrs.remove("_accessedAt"))) .createdAt(Long.parseLong(attrs.remove("_createdAt"))) .savedAt(Long.parseLong(attrs.remove("_savedAt"))) .set(attrs) .build(); } finally { if (jedis != null) { jedis.close(); } } }
Session session = sb.build(); Session.setActiveSession(session);
Session.Builder builder = new Session.Builder(activity); builder.setApplicationId(activity.getString(R.string.app_id)); builder.setTokenCachingStrategy(new SharedPreferencesTokenCachingStrategy(activity)); Session session = builder.build(); List<String> permissionsList = new ArrayList<String>(); if (!session.getPermissions().contains(USER_PHOTOS_PERMISSION)) permissionsList.add(USER_PHOTOS_PERMISSION); if (!session.getPermissions().contains(PUBLISH_ACTIONS_PERMISSION)) permissionsList.add(PUBLISH_ACTIONS_PERMISSION); Session.OpenRequest request = new Session.OpenRequest(activity).setCallback(new Session.StatusCallback() { @Override public void call(Session session, SessionState state, Exception exception) { if (exception!=null) { Toast.makeText(activity, exception.getMessage(), Toast.LENGTH_SHORT).show(); return; } if (session.isOpened()) checkAndRequestPermissions(); } }); request.setPermissions(permissionsList); request.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO); session.openForPublish(request);
Session.Builder bui = new Builder(this); //should be an activity Session session = bui.build(); Session.OpenRequest openRequest = new OpenRequest(context); List<String> permission=new ArrayList<String>(); permission.add("user_birthday"); permission.add("user_likes"); permission.add("user_questions"); permission.add("user_interests"); permission.add("user_relationships"); permission.add("user_groups"); permission.add("user_religion_politics"); permission.add("friends_birthday"); permission.add("user_location"); permission.add("friends_likes"); permission.add("friends_groups"); permission.add("user_education_history"); permission.add("friends_relationships"); permission.add("email"); openRequest.setPermissions(permission); Session.setActiveSession(session);//This will take care of the null pointer openRequest.setCallback(this);//the callback session.openForRead(openRequest);
@Override public Session get(final Builder builder) { Jedis jedis = null; try { jedis = pool.getResource(); String key = key(builder.sessionId()); Map<String, String> attrs = jedis.hgetAll(key); if (attrs == null || attrs.size() == 0) { // expired return null; } if (timeout > 0) { // touch session jedis.expire(key, timeout); } return builder .accessedAt(Long.parseLong(attrs.remove("_accessedAt"))) .createdAt(Long.parseLong(attrs.remove("_createdAt"))) .savedAt(Long.parseLong(attrs.remove("_savedAt"))) .set(attrs) .build(); } finally { if (jedis != null) { jedis.close(); } } }
@Override public Session get(final Builder builder) { ResultSet rs = session .execute(new BoundStatement(selectSQL.apply(tableName)).bind(builder.sessionId())); return Optional.ofNullable(rs.one()) .map(row -> { long createdAt = row.getTimestamp(CREATED_AT).getTime(); long accessedAt = row.getTimestamp(ACCESSED_AT).getTime(); long savedAt = row.getTimestamp(SAVED_AT).getTime(); Map<String, String> attributes = row.getMap(ATTRIBUTES, String.class, String.class); Session session = builder .accessedAt(accessedAt) .createdAt(createdAt) .savedAt(savedAt) .set(attributes) .build(); // touch ttl if (timeout > 0) { save(session); } return session; }) .orElse(null); }
@SuppressWarnings("unchecked") @Override public Session get(final Builder builder) { String key = key(builder.sessionId()); Map<String, String> attrs = (Map<String, String>) memcached.get(key); if (attrs == null || attrs.size() == 0) { // expired return null; } // touch session memcached.touch(key, timeout); return builder .accessedAt(Long.parseLong(attrs.remove("_accessedAt"))) .createdAt(Long.parseLong(attrs.remove("_createdAt"))) .savedAt(Long.parseLong(attrs.remove("_savedAt"))) .set(attrs) .build(); }
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public Session get(final Builder builder) { return Optional.ofNullable(sessions.find(Filters.eq("_id", builder.sessionId())).first()) .map(doc -> { Map session = new LinkedHashMap<>(doc); Date accessedAt = (Date) session.remove("_accessedAt"); Date createdAt = (Date) session.remove("_createdAt"); Date savedAt = (Date) session.remove("_savedAt"); session.remove("_id"); builder .accessedAt(accessedAt.getTime()) .createdAt(createdAt.getTime()) .savedAt(savedAt.getTime()); session.forEach((k, v) -> builder.set(decode(k.toString()), v.toString())); return builder.build(); }).orElse(null); }
@SuppressWarnings("unchecked") @Override public Session get(final Builder builder) { String sessionId = builder.sessionId(); Element element = cache.get(sessionId); if (element == null) { return null; } Map<String, String> attrs = new HashMap<>((Map<String, String>) element.getObjectValue()); return builder .accessedAt(Long.parseLong(attrs.remove("_accessedAt"))) .createdAt(Long.parseLong(attrs.remove("_createdAt"))) .savedAt(Long.parseLong(attrs.remove("_savedAt"))) .set(attrs) .build(); }
@Override public Session get(final Builder builder) { return cache.getIfPresent(builder.sessionId()); }
@Override public Session get(final Session.Builder builder) { return sessions.get(builder.sessionId()); }
@Override public Session get(final Builder builder) { Map<String, String> attrs = sessions.get(builder.sessionId()); if (attrs == null) { return null; } return builder .accessedAt(Long.parseLong(attrs.remove("_accessedAt"))) .createdAt(Long.parseLong(attrs.remove("_createdAt"))) .savedAt(Long.parseLong(attrs.remove("_savedAt"))) .set(attrs) .build(); }
@Override public Session get(final Session.Builder builder) { String sid = builder.sessionId(); JcNode node = new JcNode("n"); JcQuery query = new JcQuery(); query.setClauses(new IClause[]{ MATCH.node(node).label(label).property("_id").value(sid), // touch session DO.SET(node.property("_expire")).to(expire.getAsLong()), RETURN.value(node) }); List<GrNode> result = db.execute(query).resultOf(node); log.debug("touch {} session {} ", sid, result); if (result.size() == 1) { GrNode found = result.get(0); builder .accessedAt(((Number) found.getProperty("_accessedAt").getValue()).longValue()) .createdAt(((Number) found.getProperty("_createdAt").getValue()).longValue()) .savedAt(((Number) found.getProperty("_savedAt").getValue()).longValue()); found.getProperties() .stream() .filter(it -> !SPECIAL.contains(it.getName())) .forEach(p -> builder.set(p.getName(), p.getValue().toString())); return builder.build(); } return null; }
@Override public Session get(final Builder builder) { ResultSet rs = session .execute(new BoundStatement(selectSQL.apply(tableName)).bind(builder.sessionId())); return Optional.ofNullable(rs.one()) .map(row -> { long createdAt = row.getTimestamp(CREATED_AT).getTime(); long accessedAt = row.getTimestamp(ACCESSED_AT).getTime(); long savedAt = row.getTimestamp(SAVED_AT).getTime(); Map<String, String> attributes = row.getMap(ATTRIBUTES, String.class, String.class); Session session = builder .accessedAt(accessedAt) .createdAt(createdAt) .savedAt(savedAt) .set(attributes) .build(); // touch ttl if (timeout > 0) { save(session); } return session; }) .orElse(null); }
@SuppressWarnings({"unchecked", "rawtypes"}) @Override public Session get(final Builder builder) { return Optional.ofNullable(sessions.find(Filters.eq("_id", builder.sessionId())).first()) .map(doc -> { Map session = new LinkedHashMap<>(doc); Date accessedAt = (Date) session.remove("_accessedAt"); Date createdAt = (Date) session.remove("_createdAt"); Date savedAt = (Date) session.remove("_savedAt"); session.remove("_id"); builder .accessedAt(accessedAt.getTime()) .createdAt(createdAt.getTime()) .savedAt(savedAt.getTime()); session.forEach((k, v) -> builder.set(decode(k.toString()), v.toString())); return builder.build(); }).orElse(null); }
@SuppressWarnings("unchecked") @Override public Session get(final Builder builder) { String key = key(builder.sessionId()); Map<String, String> attrs = (Map<String, String>) memcached.get(key); if (attrs == null || attrs.size() == 0) { // expired return null; } // touch session memcached.touch(key, timeout); return builder .accessedAt(Long.parseLong(attrs.remove("_accessedAt"))) .createdAt(Long.parseLong(attrs.remove("_createdAt"))) .savedAt(Long.parseLong(attrs.remove("_savedAt"))) .set(attrs) .build(); }
@Override public Session get(final Builder builder) { return Optional .ofNullable(bucket.getAndTouch(N1Q.qualifyId(SESSION, builder.sessionId()), expiry)) .map(doc -> { Map session = doc.content().toMap(); Long accessedAt = (Long) session.remove("_accessedAt"); Long createdAt = (Long) session.remove("_createdAt"); Long savedAt = (Long) session.remove("_savedAt"); return builder .accessedAt(accessedAt) .createdAt(createdAt) .savedAt(savedAt) .set(session) .build(); }).orElse(null); }
@SuppressWarnings("unchecked") @Override public Session get(final Builder builder) { String sessionId = builder.sessionId(); Element element = cache.get(sessionId); if (element == null) { return null; } Map<String, String> attrs = new HashMap<>((Map<String, String>) element.getObjectValue()); return builder .accessedAt(Long.parseLong(attrs.remove("_accessedAt"))) .createdAt(Long.parseLong(attrs.remove("_createdAt"))) .savedAt(Long.parseLong(attrs.remove("_savedAt"))) .set(attrs) .build(); }
@Override public Session get(final Session.Builder builder) { return sessions.get(builder.sessionId()); }
@Override public Session get(final Builder builder) { return cache.getIfPresent(builder.sessionId()); }