Search in sources :

Example 6 with Key

use of com.googlecode.objectify.Key in project pratilipi by Pratilipi.

the class UserProcessApi method get.

@Get
public GenericResponse get(GenericRequest request) {
    DataAccessor dataAccessor = DataAccessorFactory.getDataAccessor();
    // Fetching AppProperty
    AppProperty appProperty = dataAccessor.getAppProperty(appPropertyId);
    if (appProperty == null) {
        appProperty = dataAccessor.newAppProperty(appPropertyId);
        appProperty.setValue(new Date(0));
    }
    List<Key<UserEntity>> keyList = ObjectifyService.ofy().load().type(UserEntity.class).filter("SIGN_UP_DATE >", appProperty.getValue()).order("SIGN_UP_DATE").limit(10000).keys().list();
    // Creating task for each user.
    List<Task> taskList = new ArrayList<>(keyList.size());
    for (Key<UserEntity> key : keyList) {
        Task task = TaskQueueFactory.newTask().setUrl("/user/process").addParam("userId", key.getId() + "").addParam("validateData", "true");
        taskList.add(task);
    }
    TaskQueueFactory.getUserOfflineTaskQueue().addAll(taskList);
    logger.log(Level.INFO, "Added " + taskList.size() + " tasks.");
    // Updating AppProperty.
    if (taskList.size() > 0) {
        appProperty.setValue(dataAccessor.getUser(keyList.get(keyList.size() - 1).getId()).getSignUpDate());
        dataAccessor.createOrUpdateAppProperty(appProperty);
    }
    return new GenericResponse();
}
Also used : Task(com.pratilipi.taskqueue.Task) GenericResponse(com.pratilipi.api.shared.GenericResponse) DataAccessor(com.pratilipi.data.DataAccessor) ArrayList(java.util.ArrayList) AppProperty(com.pratilipi.data.type.AppProperty) Date(java.util.Date) UserEntity(com.pratilipi.data.type.gae.UserEntity) Key(com.googlecode.objectify.Key) Get(com.pratilipi.api.annotation.Get)

Aggregations

Key (com.googlecode.objectify.Key)6 Cursor (com.google.appengine.api.datastore.Cursor)4 ArrayList (java.util.ArrayList)3 Date (java.util.Date)3 Get (com.pratilipi.api.annotation.Get)2 GenericResponse (com.pratilipi.api.shared.GenericResponse)2 DataAccessor (com.pratilipi.data.DataAccessor)2 AppProperty (com.pratilipi.data.type.AppProperty)2 PratilipiEntity (com.pratilipi.data.type.gae.PratilipiEntity)2 UserEntity (com.pratilipi.data.type.gae.UserEntity)2 Task (com.pratilipi.taskqueue.Task)2 AuditLog (com.pratilipi.data.type.AuditLog)1 GenericOfyType (com.pratilipi.data.type.GenericOfyType)1 Page (com.pratilipi.data.type.Page)1 UserPratilipi (com.pratilipi.data.type.UserPratilipi)1 AuthorEntity (com.pratilipi.data.type.gae.AuthorEntity)1 ConversationUserEntity (com.pratilipi.data.type.gae.ConversationUserEntity)1 UserAuthorEntity (com.pratilipi.data.type.gae.UserAuthorEntity)1 UserPratilipiEntity (com.pratilipi.data.type.gae.UserPratilipiEntity)1 IOException (java.io.IOException)1