List of usage examples for org.hibernate.proxy HibernateProxy getHibernateLazyInitializer
public LazyInitializer getHibernateLazyInitializer();
From source file:com.formation.adhesion.ods.web.server.service.hibernatefilter.HibernateFilter.java
License:Apache License
@SuppressWarnings("unchecked") public static Object filter(Object input) { try {/*from w w w. j av a 2 s . c o m*/ RPC.getDefaultSerializationPolicy().validateSerialize(input.getClass()); return input; } catch (SerializationException e1) { if (input == null) { return input; } if (input instanceof Date) { return new java.util.Date(((java.util.Date) input).getTime()); } if (input instanceof PersistentSet) { HashSet<Object> hashSet = new HashSet<Object>(); PersistentSet persSet = (PersistentSet) input; if (persSet.wasInitialized()) { addAll(persSet, hashSet); } return hashSet; } if (input instanceof PersistentList) { ArrayList<Object> arrayList = new ArrayList<Object>(); PersistentList persList = (PersistentList) input; if (persList.wasInitialized()) { addAll(persList, arrayList); } return arrayList; } if (input instanceof PersistentBag) { ArrayList<Object> arrayList = new ArrayList<Object>(); PersistentBag persBag = (PersistentBag) input; if (persBag.wasInitialized()) { addAll(persBag, arrayList); } return arrayList; } if (input instanceof PersistentMap) { HashMap<Object, Object> hashMap = new HashMap<Object, Object>(); PersistentMap persMap = (PersistentMap) input; if (persMap.wasInitialized()) { putAll(persMap, hashMap); } return hashMap; } if (input.getClass().getName().contains("CGLIB")) { if (Hibernate.isInitialized(input)) { try { HibernateProxy hp = (HibernateProxy) input; LazyInitializer li = hp.getHibernateLazyInitializer(); log.warn("On The Fly initialization: " + li.getEntityName()); return li.getImplementation(); } catch (ClassCastException c) { log.error("error casting to HibernateProxy " + input); return null; } // Hibernate.initialize(instance); // // // log.warn("\nentity: " + cg.getEntityName() // + "\nidentifier" + cg.getIdentifier() // + "\nimplemenation " + cg.getImplementation()); // // log.warn("On The Fly initialization: " + instance // + " now: " + instance.getClass().getName()); // // if (instance instanceof ReallyCloneable) { // log.debug(instance.getClass().getName() // + " CGLIB Cloning " + instance); // return ((ReallyCloneable) instance).clone(); // } else { // log // .warn("Initialized, but doesn't implement // ReallyCloneable" // + instance.getClass() // + " " // + instance.getClass().getName()); // throw new CouldntFixCGLIBException( // instance.getClass() // + " must implement ReallyCloneable if we're to fix // it."); // } } else { log.debug("Uninitialized CGLIB"); return null; } } Class instanceClass = input.getClass(); Method[] methods = instanceClass.getMethods(); for (int i = 0; i < methods.length; i++) { try { if (methods[i].getName().startsWith("get")) { Object value = methods[i].invoke(input); // on doit donc filtrer cette valeur Method setter = null; try { setter = instanceClass.getMethod("s" + methods[i].getName().substring(1), methods[i].getReturnType()); } catch (Exception e) { // la methode set correspondante n'existe pas } if (setter != null) setter.invoke(input, filter(value)); } } catch (InvocationTargetException e) { log.info("Call method " + methods[i].getName() + " failed on class " + instanceClass.getName()); } catch (Exception e) { log.error(e); } } return input; } }
From source file:com.github.dozermapper.core.util.HibernateProxyResolver.java
License:Apache License
@Override public <T> T unenhanceObject(T object) { if (object instanceof HibernateProxy) { HibernateProxy hibernateProxy = (HibernateProxy) object; LazyInitializer lazyInitializer = hibernateProxy.getHibernateLazyInitializer(); return (T) lazyInitializer.getImplementation(); }//from w w w . j a v a 2 s . com return object; }
From source file:com.google.gwt.sample.dynatable.utils.HibernateFilter.java
License:Apache License
@SuppressWarnings("unchecked") public static Object filter(Object instance) { if (instance == null) { return instance; }/*from ww w. j a v a2s. c o m*/ if (instance instanceof Date) { return new java.util.Date(((java.util.Date) instance).getTime()); } if (instance instanceof PersistentSet) { HashSet<Object> hashSet = new HashSet<Object>(); PersistentSet persSet = (PersistentSet) instance; if (persSet.wasInitialized()) { hashSet.addAll(persSet); } return hashSet; } if (instance instanceof PersistentList) { ArrayList<Object> arrayList = new ArrayList<Object>(); PersistentList persList = (PersistentList) instance; if (persList.wasInitialized()) { arrayList.addAll(persList); } return arrayList; } if (instance instanceof PersistentBag) { ArrayList<Object> arrayList = new ArrayList<Object>(); PersistentBag persBag = (PersistentBag) instance; if (persBag.wasInitialized()) { arrayList.addAll(persBag); } return arrayList; } if (instance instanceof PersistentMap) { HashMap<Object, Object> hashMap = new HashMap<Object, Object>(); PersistentMap persMap = (PersistentMap) instance; if (persMap.wasInitialized()) { hashMap.putAll(persMap); } return hashMap; } if (instance.getClass().getName().contains("CGLIB")) { if (Hibernate.isInitialized(instance)) { try { HibernateProxy hp = (HibernateProxy) instance; LazyInitializer li = hp.getHibernateLazyInitializer(); log.warn("On The Fly initialization: " + li.getEntityName()); return li.getImplementation(); } catch (ClassCastException c) { log.error("error casting to HibernateProxy " + instance); return null; } // Hibernate.initialize(instance); // // // log.warn("\nentity: " + cg.getEntityName() // + "\nidentifier" + cg.getIdentifier() // + "\nimplemenation " + cg.getImplementation()); // // log.warn("On The Fly initialization: " + instance // + " now: " + instance.getClass().getName()); // // if (instance instanceof ReallyCloneable) { // log.debug(instance.getClass().getName() // + " CGLIB Cloning " + instance); // return ((ReallyCloneable) instance).clone(); // } else { // log // .warn("Initialized, but doesn't implement // ReallyCloneable" // + instance.getClass() // + " " // + instance.getClass().getName()); // throw new CouldntFixCGLIBException( // instance.getClass() // + " must implement ReallyCloneable if we're to fix // it."); // } } else { log.debug("Uninitialized CGLIB"); return null; } } return instance; }
From source file:com.jd.survey.util.HibernateProxySerializer.java
License:Open Source License
@Override public JsonElement serialize(HibernateProxy proxyObj, Type arg1, JsonSerializationContext arg2) { try {//from w w w .j av a 2 s .c om GsonBuilder gsonBuilder = new GsonBuilder(); //below ensures deep deproxied serialization gsonBuilder.registerTypeHierarchyAdapter(HibernateProxy.class, new HibernateProxySerializer()); Object deProxied = proxyObj.getHibernateLazyInitializer().getImplementation(); return gsonBuilder.create().toJsonTree(deProxied); } catch (Exception e) { throw new RuntimeException(e); } }
From source file:com.projectlaver.service.PaymentService.java
License:Open Source License
private <T> T deproxy(T obj) { if (obj == null) { return obj; }/*from ww w . j a v a 2 s . c o m*/ if (obj instanceof HibernateProxy) { // Unwrap Proxy; // -- loading, if necessary. HibernateProxy proxy = (HibernateProxy) obj; LazyInitializer li = proxy.getHibernateLazyInitializer(); return (T) li.getImplementation(); } return obj; }
From source file:com.userweave.presentation.model.EntityBaseLoadableDetachableModel.java
License:Open Source License
@SuppressWarnings("unchecked") public EntityBaseLoadableDetachableModel(T entity) { super(entity); if (entity == null) { throw new NullPointerException(); }/*from w w w . ja v a 2 s . c o m*/ if (entity.isTransient()) { // keep an object reference if entity is transient this.entity = entity; } else { this.id = entity.getId(); } if (entity instanceof HibernateProxy) { HibernateProxy proxy = (HibernateProxy) entity; this.clazz = proxy.getHibernateLazyInitializer().getPersistentClass(); } else { clazz = (Class<T>) entity.getClass(); } }
From source file:com.utest.dao.TypelessHibernateDAOImpl.java
License:Apache License
@Override public Object loadLazyObject(final Object entity_) { if (entity_ instanceof HibernateProxy) { Hibernate.initialize(entity_);//w ww.j a v a 2s. com final HibernateProxy proxy = (HibernateProxy) entity_; return proxy.getHibernateLazyInitializer().getImplementation(); } else { return entity_; } }
From source file:com.viettel.vsaadmin.database.DAOHibernate.UsersDAOHE.java
License:Open Source License
/** * tim kiem danh sach nguoi dung cua don vi * * @param deptId//from w w w .ja v a2s . co m * @return */ public List<Users> getUsersOfDept(Long deptId) { List lstResult = new ArrayList<Users>(); String sql = ""; try { sql = "SELECT u FROM Users u WHERE u.status = ? and ((u.deptId = ? or u.deptRepresentId = ?) " + "OR u.userId in (SELECT ru.userId FROM RoleUserDept ru,RoleUser r " + " WHERE ru.userId = r.userId and ru.roleId=r.roleId " + " and ru.deptId = ? and ru.isActive=1 and r.isActive = 1))" + " order by u.posId desc, nlssort(lower(u.fullName),'nls_sort = Vietnamese') "; Query query = getSession().createQuery(sql); query.setParameter(0, Constants.Status.ACTIVE); query.setParameter(1, deptId); query.setParameter(2, deptId); query.setParameter(3, deptId); lstResult = query.list(); //Get User dc gan role vao BTP if (lstResult == null) { lstResult = new ArrayList<Users>(); } if (lstResult != null && !lstResult.isEmpty()) { for (int i = 0; i < lstResult.size(); i++) { Users user = (Users) lstResult.get(i); if (user instanceof HibernateProxy) { HibernateProxy proxy = (HibernateProxy) user; Users newUser = (Users) proxy.getHibernateLazyInitializer().getImplementation(); lstResult.set(i, newUser); } } } } catch (Exception ex) { LogUtil.addLog(ex);//binhnt sonar a160901 // e.getMessage(); return new ArrayList<Users>(); } return lstResult; }
From source file:com.viettel.vsaadmin.database.DAOHibernate.UsersDAOHE.java
License:Open Source License
/** * get All Users of Department (not self) * * @param deptId//from w w w . ja v a 2 s . c o m * @param userId * @return */ public List<Users> getUsersOfDept(Long deptId, Long userId) { List lstResult = new ArrayList<Users>(); String sql = ""; try { sql = "SELECT u FROM Users u WHERE u.status = ? and u.userId <> ? and (u.deptId = ? " + "OR u.userId in (SELECT ru.userId FROM RoleUserDept ru,RoleUser r " + " WHERE ru.userId = r.userId and ru.roleId=r.roleId " + " and ru.deptId = ? and ru.isActive=1 and r.isActive = 1))" + " order by u.posId desc, nlssort(lower(u.fullName),'nls_sort = Vietnamese') "; Query query = getSession().createQuery(sql); query.setParameter(0, Constants.Status.ACTIVE); query.setParameter(1, userId); query.setParameter(2, deptId); query.setParameter(3, deptId); lstResult = query.list(); if (lstResult != null && !lstResult.isEmpty()) { for (int i = 0; i < lstResult.size(); i++) { Users user = (Users) lstResult.get(i); if (user instanceof HibernateProxy) { HibernateProxy proxy = (HibernateProxy) user; Users newUser = (Users) proxy.getHibernateLazyInitializer().getImplementation(); lstResult.set(i, newUser); } } } } catch (Exception ex) { LogUtil.addLog(ex);//binhnt sonar a160901 // e.getMessage(); return new ArrayList<Users>(); } return lstResult; }
From source file:com.viettel.vsaadmin.database.DAOHibernate.UsersDAOHE.java
License:Open Source License
/** * tim kiem danh sach nguoi dung cua don vi * * @param deptId/*from ww w . j a va2s . com*/ * @param userId * @return */ public List<Users> getUsersOfDept(String deptIds, Long userId) { List lstResult = new ArrayList<Users>(); String sql = ""; try { if (deptIds != null && !"".equals(deptIds)) { String[] depts = deptIds.split(";"); Long[] deptId = new Long[depts.length]; for (int i = 0; i < depts.length; i++) { deptId[i] = Long.parseLong(depts[i]); } sql = "SELECT u FROM Users u WHERE u.status = :status and (u.deptId IN (:deptIds) " + "OR u.userId in ( SELECT ru.userId FROM RoleUserDept ru WHERE ru.deptId IN (:deptIds2)))" + " order by u.posId desc,nlssort(lower(u.fullName),'nls_sort = Vietnamese') "; Query query = getSession().createQuery(sql); query.setParameter("status", Constants.Status.ACTIVE); query.setParameterList("deptIds", Arrays.asList(deptId)); query.setParameterList("deptIds2", Arrays.asList(deptId)); // query.setParameter(2, userId); lstResult = query.list(); if (lstResult != null && !lstResult.isEmpty()) { for (int i = 0; i < lstResult.size(); i++) { Users user = (Users) lstResult.get(i); if (user instanceof HibernateProxy) { HibernateProxy proxy = (HibernateProxy) user; Users newUser = (Users) proxy.getHibernateLazyInitializer().getImplementation(); lstResult.set(i, newUser); } } } } } catch (Exception ex) { LogUtil.addLog(ex);//binhnt sonar a160901 // e.getMessage(); return new ArrayList<Users>(); } return lstResult; }