Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java')
-rw-r--r--plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java180
1 files changed, 0 insertions, 180 deletions
diff --git a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java b/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java
deleted file mode 100644
index 786c5d6e95..0000000000
--- a/plugins/org.eclipse.emf.cdo.server.hibernate/src/org/eclipse/emf/cdo/server/internal/hibernate/tuplizer/CDOIDUserType.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2008 - 2008 Martin Taal and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Martin Taal - initial api
- **************************************************************************/
-package org.eclipse.emf.cdo.server.internal.hibernate.tuplizer;
-
-import org.eclipse.emf.cdo.protocol.id.CDOID;
-import org.eclipse.emf.cdo.protocol.id.CDOIDTemp;
-import org.eclipse.emf.cdo.protocol.revision.CDORevision;
-import org.eclipse.emf.cdo.server.hibernate.id.CDOIDHibernate;
-import org.eclipse.emf.cdo.server.hibernate.internal.id.CDOIDHibernateFactoryImpl;
-import org.eclipse.emf.cdo.server.internal.hibernate.HibernateUtil;
-
-import org.eclipse.net4j.util.WrappedException;
-
-import org.hibernate.Hibernate;
-import org.hibernate.usertype.UserType;
-
-import java.io.Serializable;
-import java.lang.reflect.Constructor;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Types;
-import java.util.HashMap;
-
-/**
- * Persists a CDOID in the DB.
- */
-public class CDOIDUserType implements UserType
-{
- /**
- * 1) entityname, 2) id, 3) id class name
- */
- private static final int[] SQL_TYPES = { Types.VARCHAR, Types.VARCHAR, Types.VARCHAR };
-
- /** Constructor by id */
- private final HashMap<String, Constructor<?>> constructors = new HashMap<String, Constructor<?>>();
-
- public CDOIDUserType()
- {
- }
-
- public int[] sqlTypes()
- {
- return SQL_TYPES;
- }
-
- public Class<?> returnedClass()
- {
- return CDOID.class;
- }
-
- public boolean isMutable()
- {
- return false;
- }
-
- public Object deepCopy(Object value)
- {
- return value;
- }
-
- public boolean equals(Object x, Object y)
- {
- if (x == y)
- {
- return true;
- }
-
- if (x == null || y == null)
- {
- return false;
- }
-
- return x.equals(y);
- }
-
- public Object nullSafeGet(ResultSet rs, String[] names, Object owner) throws SQLException
- {
- String entityName = (String)Hibernate.STRING.nullSafeGet(rs, names[0]);
- if (rs.wasNull())
- {
- return null;
- }
-
- String idStr = (String)Hibernate.STRING.nullSafeGet(rs, names[1]);
- if (rs.wasNull())
- {
- return null;
- }
-
- String idClassName = (String)Hibernate.STRING.nullSafeGet(rs, names[2]);
- if (rs.wasNull())
- {
- return null;
- }
-
- Serializable id = getId(idStr, idClassName);
- return CDOIDHibernateFactoryImpl.getInstance().createCDOID(id, entityName);
- }
-
- public void nullSafeSet(PreparedStatement statement, Object value, int index) throws SQLException
- {
- if (value == null)
- {
- statement.setNull(index, Types.VARCHAR);
- statement.setNull(index, Types.VARCHAR);
- statement.setNull(index, Types.VARCHAR);
- }
-
- if (value != null)
- {
- CDOIDHibernate cdoID;
- if (value instanceof CDOIDTemp)
- {
- cdoID = HibernateUtil.getInstance().getCDOIDHibernate((CDOID)value);
- }
- else if (value instanceof CDORevision)
- {
- cdoID = (CDOIDHibernate)((CDORevision)value).getID();
- }
- else
- {
- cdoID = (CDOIDHibernate)value;
- }
-
- statement.setString(index, cdoID.getEntityName());
- statement.setString(index + 1, cdoID.getId().toString());
- statement.setString(index + 2, cdoID.getId().getClass().getName());
- }
- }
-
- public Serializable disassemble(Object value)
- {
- return (Serializable)value;
- }
-
- public Object assemble(Serializable cachedValue, Object owner)
- {
- return cachedValue;
- }
-
- public Object replace(Object original, Object target, Object owner)
- {
- return original;
- }
-
- public int hashCode(Object x)
- {
- return x.hashCode();
- }
-
- /** Creates an id object of the correct type */
- private Serializable getId(String idStr, String idType)
- {
- try
- {
- Constructor<?> constructor = constructors.get(idType);
- if (constructor == null)
- {
- Class<?> idClass = this.getClass().getClassLoader().loadClass(idType);
- constructor = idClass.getConstructor(new Class[] { String.class });
- constructors.put(idType, constructor);
- }
-
- return (Serializable)constructor.newInstance(new Object[] { idStr });
- }
- catch (Exception e)
- {
- throw WrappedException.wrap(e);
- }
- }
-}

Back to the top