Search in sources :

Example 16 with Entity

use of com.google.appengine.api.datastore.Entity in project spring-security by spring-projects.

the class GaeDatastoreUserRegistry method registerUser.

public void registerUser(GaeUser newUser) {
    logger.debug("Attempting to create new user " + newUser);
    Key key = KeyFactory.createKey(USER_TYPE, newUser.getUserId());
    Entity user = new Entity(key);
    user.setProperty(USER_EMAIL, newUser.getEmail());
    user.setProperty(USER_NICKNAME, newUser.getNickname());
    user.setProperty(USER_FORENAME, newUser.getForename());
    user.setProperty(USER_SURNAME, newUser.getSurname());
    user.setUnindexedProperty(USER_ENABLED, newUser.isEnabled());
    Collection<AppRole> roles = newUser.getAuthorities();
    long binaryAuthorities = 0;
    for (AppRole r : roles) {
        binaryAuthorities |= 1 << r.getBit();
    }
    user.setUnindexedProperty(USER_AUTHORITIES, binaryAuthorities);
    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    datastore.put(user);
}
Also used : Entity(com.google.appengine.api.datastore.Entity) AppRole(samples.gae.security.AppRole) DatastoreService(com.google.appengine.api.datastore.DatastoreService) Key(com.google.appengine.api.datastore.Key)

Example 17 with Entity

use of com.google.appengine.api.datastore.Entity in project spring-security by spring-projects.

the class GaeDatastoreUserRegistry method findUser.

public GaeUser findUser(String userId) {
    Key key = KeyFactory.createKey(USER_TYPE, userId);
    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    try {
        Entity user = datastore.get(key);
        long binaryAuthorities = (Long) user.getProperty(USER_AUTHORITIES);
        Set<AppRole> roles = EnumSet.noneOf(AppRole.class);
        for (AppRole r : AppRole.values()) {
            if ((binaryAuthorities & (1 << r.getBit())) != 0) {
                roles.add(r);
            }
        }
        GaeUser gaeUser = new GaeUser(user.getKey().getName(), (String) user.getProperty(USER_NICKNAME), (String) user.getProperty(USER_EMAIL), (String) user.getProperty(USER_FORENAME), (String) user.getProperty(USER_SURNAME), roles, (Boolean) user.getProperty(USER_ENABLED));
        return gaeUser;
    } catch (EntityNotFoundException e) {
        logger.debug(userId + " not found in datastore");
        return null;
    }
}
Also used : Entity(com.google.appengine.api.datastore.Entity) AppRole(samples.gae.security.AppRole) DatastoreService(com.google.appengine.api.datastore.DatastoreService) EntityNotFoundException(com.google.appengine.api.datastore.EntityNotFoundException) Key(com.google.appengine.api.datastore.Key)

Example 18 with Entity

use of com.google.appengine.api.datastore.Entity in project iosched by google.

the class ApiKeyInitializer method contextInitialized.

@Override
public void contextInitialized(ServletContextEvent event) {
    DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    Key key = KeyFactory.createKey(ENTITY_KIND, ENTITY_KEY);
    Entity entity;
    try {
        entity = datastore.get(key);
    } catch (EntityNotFoundException e) {
        entity = new Entity(key);
        // NOTE: it's not possible to change entities in the local server, so
        // it will be necessary to hardcode the API key below if you are running
        // it locally.
        entity.setProperty(ACCESS_KEY_FIELD, API_KEY);
        datastore.put(entity);
        mLogger.severe("Created fake key. Please go to App Engine admin " + "console, change its value to your API Key (the entity " + "type is '" + ENTITY_KIND + "' and its field to be changed is '" + ACCESS_KEY_FIELD + "'), then restart the server!");
    }
    String accessKey = (String) entity.getProperty(ACCESS_KEY_FIELD);
    event.getServletContext().setAttribute(ATTRIBUTE_ACCESS_KEY, accessKey);
}
Also used : Entity(com.google.appengine.api.datastore.Entity) DatastoreService(com.google.appengine.api.datastore.DatastoreService) EntityNotFoundException(com.google.appengine.api.datastore.EntityNotFoundException) Key(com.google.appengine.api.datastore.Key)

Example 19 with Entity

use of com.google.appengine.api.datastore.Entity in project iosched by google.

the class ApiKeyInitializer method getKey.

/**
     * Gets the access key.
     */
protected String getKey() {
    com.google.appengine.api.datastore.DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
    Key key = KeyFactory.createKey(ENTITY_KIND, ENTITY_KEY);
    String apiKey = "";
    try {
        Entity entity = datastore.get(key);
        apiKey = (String) entity.getProperty(ACCESS_KEY_FIELD);
    } catch (EntityNotFoundException e) {
        mLogger.severe("Exception will retrieving the API Key" + e.toString());
    }
    return apiKey;
}
Also used : Entity(com.google.appengine.api.datastore.Entity) DatastoreService(com.google.appengine.api.datastore.DatastoreService) EntityNotFoundException(com.google.appengine.api.datastore.EntityNotFoundException) Key(com.google.appengine.api.datastore.Key)

Example 20 with Entity

use of com.google.appengine.api.datastore.Entity in project iosched by google.

the class APIUpdater method isUpToDate.

private boolean isUpToDate(byte[] newHash, UpdateRunLogger logger) {
    Entity lastUpdate = logger.getLastRun();
    byte[] currentHash = null;
    if (lastUpdate != null) {
        ShortBlob hash = (ShortBlob) lastUpdate.getProperty("hash");
        if (hash != null) {
            currentHash = hash.getBytes();
        }
    }
    return Arrays.equals(currentHash, newHash);
}
Also used : Entity(com.google.appengine.api.datastore.Entity) ShortBlob(com.google.appengine.api.datastore.ShortBlob)

Aggregations

Entity (com.google.appengine.api.datastore.Entity)50 Key (com.google.appengine.api.datastore.Key)34 ArrayList (java.util.ArrayList)25 Field (java.lang.reflect.Field)22 ClassInfo (siena.ClassInfo)17 SienaException (siena.SienaException)15 EntityNotFoundException (com.google.appengine.api.datastore.EntityNotFoundException)9 QueryResultList (com.google.appengine.api.datastore.QueryResultList)9 HashMap (java.util.HashMap)9 List (java.util.List)9 SienaFutureContainer (siena.core.async.SienaFutureContainer)9 SienaFutureWrapper (siena.core.async.SienaFutureWrapper)9 Map (java.util.Map)8 SienaRestrictedApiException (siena.SienaRestrictedApiException)6 DatastoreService (com.google.appengine.api.datastore.DatastoreService)5 IOException (java.io.IOException)5 Date (java.util.Date)4 Query (com.google.appengine.api.datastore.Query)3 ShortBlob (com.google.appengine.api.datastore.ShortBlob)3 NotImplementedException (org.apache.commons.lang.NotImplementedException)3