KwysPagesServiceImpl.java :  » UnTagged » kwys » net » kwys » server » service » kwys » impl » Android Open Source

Android Open Source » UnTagged » kwys 
kwys » net » kwys » server » service » kwys » impl » KwysPagesServiceImpl.java
package net.kwys.server.service.kwys.impl;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import net.kwys.server.persistence.daos.KwysPagesDAO;
import net.kwys.server.persistence.entities.KwysLanguageEntity;
import net.kwys.server.persistence.entities.KwysObjectEntity;
import net.kwys.server.persistence.entities.KwysPageEntity;
import net.kwys.server.service.kwys.KwysLanguage;
import net.kwys.server.service.kwys.KwysObject;
import net.kwys.server.service.kwys.KwysPage;
import net.kwys.server.service.kwys.KwysPagesService;
import net.kwys.server.service.kwys.exceptions.KwysLanguageAlreadyUsedException;

public
class  KwysPagesServiceImpl
  implements KwysPagesService
{
  public
  void          setPagesDAO(KwysPagesDAO newPagesDAO)
  {
    pagesDAO = newPagesDAO;
  }
  
  @Override
  public
  Collection<KwysPage>  getPagesByObject(KwysObject object)
  {
    List<KwysPage>        pages = new ArrayList<KwysPage>();
    Collection<KwysPageEntity>  pageEs =
      pagesDAO.getByObject(new KwysObjectEntity(object.getId()));
    
    for (KwysPageEntity pageE : pageEs)
      pages.add(new KwysPage(pageE));
    return (pages);
  }
  
  @Override
  public
  void          delete(KwysPage page)
  {
    pagesDAO.delete(new KwysPageEntity(page.getId()));
  }
  
  @Override
  public
  KwysPage        create()
  {
    return (new KwysPage());
  }

  @Override
  public
  KwysPage        load(KwysPage page)
  {
    KwysPageEntity    pageE =
      pagesDAO.load(new KwysPageEntity(page.getId()));
    
    if (pageE == null)
      return (null);
    return (new KwysPage(pageE));
  }

  @Override
  public
  KwysPage        getByObjectAndLanguage(KwysObject object,
                           KwysLanguage language)
  {
    KwysPageEntity    kPageE;

    kPageE = pagesDAO.getByObjectAndLanguage(new KwysObjectEntity(object.getId()),
                         new KwysLanguageEntity(language.getId()));
    if (kPageE == null)
      return (null);
    return (new KwysPage(kPageE));
  }

  @Override
  public
  void          save(KwysPage page)
  {    
    KwysPageEntity    pageE = page.toEntity();
    KwysPage      realPageE =
      getByObjectAndLanguage(new KwysObject(page.getObjectId()),
                   new KwysLanguage(page.getLanguageId()));
    
    if ((realPageE != null) &&
      (!realPageE.getId().equals(pageE.getId())))
      throw (new KwysLanguageAlreadyUsedException(page.getLanguageId()));
    pagesDAO.save(pageE);
    page.setId(pageE.getId());
  }

  private
  KwysPagesDAO      pagesDAO;
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.