Search in sources :

Example 1 with I18n

use of com.pratilipi.data.type.I18n in project pratilipi by Pratilipi.

the class I18nApi method post.

@Post
public static GenericResponse post(PostRequest request) throws InsufficientAccessException, UnexpectedServerException {
    if (!UserAccessUtil.hasUserAccess(AccessTokenFilter.getAccessToken().getUserId(), request.language, AccessType.I18N_UPDATE))
        throw new InsufficientAccessException();
    DataAccessor dataAccessor = DataAccessorFactory.getDataAccessor();
    List<I18n> i18nList = new ArrayList<>();
    for (Entry<String, String> entry : request.keyValues.entrySet()) {
        I18n i18n = dataAccessor.getI18n(entry.getKey());
        if (i18n == null)
            i18n = dataAccessor.newI18n(entry.getKey());
        // Resetting the group if its already set
        i18n.setGroup(request.group);
        i18n.setI18nString(request.language, entry.getValue());
        i18nList.add(i18n);
    }
    i18nList = dataAccessor.createOrUpdateI18nList(i18nList);
    return new GenericResponse();
}
Also used : GenericResponse(com.pratilipi.api.shared.GenericResponse) DataAccessor(com.pratilipi.data.DataAccessor) ArrayList(java.util.ArrayList) InsufficientAccessException(com.pratilipi.common.exception.InsufficientAccessException) I18n(com.pratilipi.data.type.I18n) Post(com.pratilipi.api.annotation.Post)

Example 2 with I18n

use of com.pratilipi.data.type.I18n in project pratilipi by Pratilipi.

the class DataAccessorGaeImpl method getI18nStrings.

@Override
public Map<String, String> getI18nStrings(I18nGroup i18nGroup, Language language) {
    List<I18nEntity> i18nList = ObjectifyService.ofy().load().type(I18nEntity.class).filter("GROUP", i18nGroup).list();
    Map<String, String> i18nStrings = new HashMap<>(i18nList.size());
    for (I18n i18n : i18nList) i18nStrings.put(i18n.getId(), i18n.getI18nString(language));
    return i18nStrings;
}
Also used : HashMap(java.util.HashMap) I18nEntity(com.pratilipi.data.type.gae.I18nEntity) I18n(com.pratilipi.data.type.I18n)

Aggregations

I18n (com.pratilipi.data.type.I18n)2 Post (com.pratilipi.api.annotation.Post)1 GenericResponse (com.pratilipi.api.shared.GenericResponse)1 InsufficientAccessException (com.pratilipi.common.exception.InsufficientAccessException)1 DataAccessor (com.pratilipi.data.DataAccessor)1 I18nEntity (com.pratilipi.data.type.gae.I18nEntity)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1