Package net.atos.java.example.boodschappen.persistence.impl

Source Code of net.atos.java.example.boodschappen.persistence.impl.GebruikerJdoRepository

package net.atos.java.example.boodschappen.persistence.impl;

import java.util.List;

import javax.jdo.PersistenceManager;
import javax.jdo.Query;

import net.atos.java.example.boodschappen.model.Gebruiker;
import net.atos.java.example.boodschappen.persistence.GebruikerRepository;
import net.atos.java.example.boodschappen.persistence.model.PersistentGebruiker;
import net.atos.java.example.boodschappen.server.persistence.PersistenceHelper;

/**
* Implementeert een gebruiker repository.
*
* @author Pal Hargitai
*/
public class GebruikerJdoRepository extends
    AbstractJdoRepository<String, Gebruiker, PersistentGebruiker> implements
    GebruikerRepository {

  /** Default constructor. */
  public GebruikerJdoRepository() {
    super(PersistentGebruiker.class);
  }

  /** {@inheritDoc} */
  @Override
  protected PersistentGebruiker convertToPersistent(Gebruiker entity,
      PersistenceManager pm) {
    return new PersistentGebruiker.Builder().gebruiker(entity).build();
  }

  /** {@inheritDoc} */
  @Override
  protected Gebruiker convertToDomain(PersistentGebruiker entity,
      PersistenceManager pm) {
    return new Gebruiker.Builder().pk(entity.getPk())
        .naam(entity.getNaam()).email(entity.getEmail())
        .id(entity.getId()).build();
  }

  /** {@inheritDoc} */
  @Override
  public Gebruiker vindGebruikerPerUserId(String userId) {
    PersistenceManager pm = PersistenceHelper.getPersistenceManager();
    Gebruiker gebruiker;
    try {
      Query query = pm.newQuery(PersistentGebruiker.class);
      query.setFilter("id == idParam");
      query.declareParameters("String idParam");
      @SuppressWarnings("unchecked")
      List<PersistentGebruiker> results = (List<PersistentGebruiker>) query
          .execute(userId);
      if (results.isEmpty()) {
        gebruiker = null;
      } else {
        gebruiker = convertToDomain(results.get(0), pm);
      }
    } finally {
      pm.close();
    }
    return gebruiker;
  }
}
TOP

Related Classes of net.atos.java.example.boodschappen.persistence.impl.GebruikerJdoRepository

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.