Commit 945f3aa6 by tuomari

konventiokokeilu...

git-svn-id: https://dev.intra.insomnia.fi/svn/trunk@56 8cf89bec-f6a3-4178-919f-364fb3449fe5
1 parent 2773b427
#Sun Mar 07 04:54:45 EET 2010
#Sun Mar 07 12:22:07 EET 2010
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
......@@ -75,7 +75,7 @@ org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
org.eclipse.jdt.core.formatter.indentation.size=4
org.eclipse.jdt.core.formatter.indentation.size=8
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
......@@ -248,18 +248,18 @@ org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constan
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
org.eclipse.jdt.core.formatter.join_lines_in_comments=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
org.eclipse.jdt.core.formatter.join_wrapped_lines=false
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
org.eclipse.jdt.core.formatter.lineSplit=80
org.eclipse.jdt.core.formatter.lineSplit=9999
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
org.eclipse.jdt.core.formatter.tabulation.char=mixed
org.eclipse.jdt.core.formatter.tabulation.size=8
org.eclipse.jdt.core.formatter.tabulation.char=space
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
#Sun Mar 07 04:54:42 EET 2010
#Sun Mar 07 12:22:07 EET 2010
eclipse.preferences.version=1
formatter_profile=org.eclipse.jdt.ui.default.sun_profile
formatter_profile=_InsomniaConventions
formatter_settings_version=11
......@@ -18,7 +18,7 @@ import fi.insomnia.bortal.model.User;
*/
@LocalBean
@Stateless
public class UserBean implements UserBeanLocal {
public class UserBean extends Generiimplements UserBeanLocal {
private static final Logger logger = LoggerFactory.getLogger(UserBean.class);
/**
......
......@@ -2,71 +2,59 @@ package fi.insomnia.bortal.facade;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.model.ModelInterface;
/**
* Session Bean implementation class GenericFacade
*/
@Stateless
public class GenericFacade<T extends ModelInterface> implements GenericFacadeLocal<T> {
@PersistenceContext
private EntityManager em;
private Class<T> clazz;
/**
* Default constructor.
*/
public GenericFacade(Class<T> entityType) {
clazz = entityType;
}
public void create(T entity) {
em.persist(entity);
}
public void remove(T entity) {
em.remove(entity);
}
public T merge(T entity) {
return em.merge(entity);
}
public T find(Object id) {
return em.find(clazz, id);
}
public List<T> findAll() {
CriteriaQuery<T> cq = em.getCriteriaBuilder().createQuery(clazz);
cq.select(cq.from(clazz));
return em.createQuery(cq).getResultList();
}
public List<T> findRange(int[] range) {
CriteriaQuery<T> cq = em.getCriteriaBuilder().createQuery(clazz);
cq.select(cq.from(clazz));
TypedQuery<T> q = em.createQuery(cq);
q.setMaxResults(range[1] - range[0]);
q.setFirstResult(range[0]);
return q.getResultList();
}
public long count() {
CriteriaQuery<Long> cq = em.getCriteriaBuilder().createQuery(Long.class);
Root<T> rt = cq.from(clazz);
cq.select(em.getCriteriaBuilder().count(rt));
TypedQuery<Long> q = em.createQuery(cq);
return q.getSingleResult();
}
public abstract class GenericFacade<T extends ModelInterface> implements GenericFacadeLocal<T> {
protected abstract Class<T> getEntityClass();
protected abstract EntityManager getEm();
public void create(T entity) {
getEm().persist(entity);
}
public void remove(T entity) {
getEm().remove(entity);
}
public T merge(T entity) {
return getEm().merge(entity);
}
public T find(Object id) {
return getEm().find(getEntityClass(), id);
}
public List<T> findAll() {
CriteriaQuery<T> cq = getEm().getCriteriaBuilder().createQuery(getEntityClass());
cq.select(cq.from(getEntityClass()));
return getEm().createQuery(cq).getResultList();
}
public List<T> findRange(int[] range) {
CriteriaQuery<T> cq = getEm().getCriteriaBuilder().createQuery(getEntityClass());
cq.select(cq.from(getEntityClass()));
TypedQuery<T> q = getEm().createQuery(cq);
q.setMaxResults(range[1] - range[0]);
q.setFirstResult(range[0]);
return q.getResultList();
}
public long count() {
CriteriaQuery<Long> cq = getEm().getCriteriaBuilder().createQuery(Long.class);
Root<T> rt = cq.from(getEntityClass());
cq.select(getEm().getCriteriaBuilder().count(rt));
TypedQuery<Long> q = getEm().createQuery(cq);
return q.getSingleResult();
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!