com.evolveum.midpoint.repo.sql.util
Class RUtil

java.lang.Object
  extended by com.evolveum.midpoint.repo.sql.util.RUtil

public final class RUtil
extends Object

Author:
lazyman

Field Summary
static int COLUMN_LENGTH_LOCALPART
          This constant is used for QName.localPart column size in databases.
static QName CUSTOM_OBJECT
           
static QName CUSTOM_OBJECTS
           
static String LOB_STRING_TYPE
          This constant is used for mapping type for Lob fields.
static String NS_SQL_REPO
          This namespace is used for wrapping xml parts of objects during save to database.
static String SQL_REPO_OBJECT
           
static String SQL_REPO_OBJECTS
           
 
Method Summary
static String computeChecksum(Object... objects)
           
static void copyResultFromJAXB(OperationResultType jaxb, OperationResult repo, PrismContext prismContext)
           
static void copyResultToJAXB(OperationResult repo, OperationResultType jaxb, PrismContext prismContext)
           
static void fixCompositeIDHandling(org.hibernate.SessionFactory sessionFactory)
          This method is used to override "hasIdentifierMapper" in EntityMetaModels of entities which have composite id and class defined for it.
static Long getLongContainerIdFromString(String text)
           
static String getStringFromLong(Long id)
           
static REmbeddedReference jaxbRefToEmbeddedRepoRef(ObjectReferenceType jaxb, PrismContext prismContext)
           
static RObjectReference jaxbRefToRepo(ObjectReferenceType reference, PrismContext prismContext, RContainer owner, RReferenceOwner refOwner)
           
static Set<RPolyString> listPolyToSet(List<PolyStringType> list)
           
static Set<RSynchronizationSituationDescription> listSyncSituationToSet(RResourceObjectShadow owner, List<SynchronizationSituationDescriptionType> list)
           
static
<T> Set<T>
listToSet(List<T> list)
           
static
<T extends Objectable>
void
revive(Objectable object, PrismContext prismContext)
           
static Set<RObjectReference> safeListReferenceToSet(List<ObjectReferenceType> list, PrismContext prismContext, RContainer owner, RReferenceOwner refOwner)
           
static List<PolyStringType> safeSetPolyToList(Set<RPolyString> set)
           
static List<ObjectReferenceType> safeSetReferencesToList(Set<RObjectReference> set, PrismContext prismContext)
           
static List<SynchronizationSituationDescriptionType> safeSetSyncSituationToList(Set<RSynchronizationSituationDescription> set)
           
static
<T> List<T>
safeSetToList(Set<T> set)
           
static
<T> T
toJAXB(Class<?> parentClass, ItemPath path, String value, Class<T> clazz, PrismContext prismContext)
           
static
<T> T
toJAXB(String value, Class<T> clazz, PrismContext prismContext)
           
static
<T> String
toRepo(T value, PrismContext prismContext)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOB_STRING_TYPE

public static final String LOB_STRING_TYPE
This constant is used for mapping type for Lob fields. MaterializedClobType was not working properly with PostgreSQL, causing TEXT types (clobs) to be saved not in table row but somewhere else and it always messed up UTF-8 encoding

See Also:
Constant Field Values

COLUMN_LENGTH_LOCALPART

public static final int COLUMN_LENGTH_LOCALPART
This constant is used for QName.localPart column size in databases.

See Also:
Constant Field Values

NS_SQL_REPO

public static final String NS_SQL_REPO
This namespace is used for wrapping xml parts of objects during save to database.

See Also:
Constant Field Values

SQL_REPO_OBJECTS

public static final String SQL_REPO_OBJECTS
See Also:
Constant Field Values

SQL_REPO_OBJECT

public static final String SQL_REPO_OBJECT
See Also:
Constant Field Values

CUSTOM_OBJECT

public static final QName CUSTOM_OBJECT

CUSTOM_OBJECTS

public static final QName CUSTOM_OBJECTS
Method Detail

revive

public static <T extends Objectable> void revive(Objectable object,
                                                 PrismContext prismContext)
                   throws DtoTranslationException
Throws:
DtoTranslationException

toJAXB

public static <T> T toJAXB(String value,
                           Class<T> clazz,
                           PrismContext prismContext)
                throws SchemaException,
                       JAXBException
Throws:
SchemaException
JAXBException

toJAXB

public static <T> T toJAXB(Class<?> parentClass,
                           ItemPath path,
                           String value,
                           Class<T> clazz,
                           PrismContext prismContext)
                throws SchemaException,
                       JAXBException
Throws:
SchemaException
JAXBException

toRepo

public static <T> String toRepo(T value,
                                PrismContext prismContext)
                     throws SchemaException,
                            JAXBException
Throws:
SchemaException
JAXBException

listToSet

public static <T> Set<T> listToSet(List<T> list)

listPolyToSet

public static Set<RPolyString> listPolyToSet(List<PolyStringType> list)

safeSetPolyToList

public static List<PolyStringType> safeSetPolyToList(Set<RPolyString> set)

listSyncSituationToSet

public static Set<RSynchronizationSituationDescription> listSyncSituationToSet(RResourceObjectShadow owner,
                                                                               List<SynchronizationSituationDescriptionType> list)

safeSetSyncSituationToList

public static List<SynchronizationSituationDescriptionType> safeSetSyncSituationToList(Set<RSynchronizationSituationDescription> set)

safeSetToList

public static <T> List<T> safeSetToList(Set<T> set)

safeSetReferencesToList

public static List<ObjectReferenceType> safeSetReferencesToList(Set<RObjectReference> set,
                                                                PrismContext prismContext)

safeListReferenceToSet

public static Set<RObjectReference> safeListReferenceToSet(List<ObjectReferenceType> list,
                                                           PrismContext prismContext,
                                                           RContainer owner,
                                                           RReferenceOwner refOwner)

jaxbRefToRepo

public static RObjectReference jaxbRefToRepo(ObjectReferenceType reference,
                                             PrismContext prismContext,
                                             RContainer owner,
                                             RReferenceOwner refOwner)

jaxbRefToEmbeddedRepoRef

public static REmbeddedReference jaxbRefToEmbeddedRepoRef(ObjectReferenceType jaxb,
                                                          PrismContext prismContext)

getLongContainerIdFromString

public static Long getLongContainerIdFromString(String text)
                                         throws DtoTranslationException
Throws:
DtoTranslationException

getStringFromLong

public static String getStringFromLong(Long id)

fixCompositeIDHandling

public static void fixCompositeIDHandling(org.hibernate.SessionFactory sessionFactory)
This method is used to override "hasIdentifierMapper" in EntityMetaModels of entities which have composite id and class defined for it. It's workaround for bug as found in forum https://forum.hibernate.org/viewtopic.php?t=978915&highlight=

Parameters:
sessionFactory -

copyResultToJAXB

public static void copyResultToJAXB(OperationResult repo,
                                    OperationResultType jaxb,
                                    PrismContext prismContext)
                             throws DtoTranslationException
Throws:
DtoTranslationException

copyResultFromJAXB

public static void copyResultFromJAXB(OperationResultType jaxb,
                                      OperationResult repo,
                                      PrismContext prismContext)
                               throws DtoTranslationException
Throws:
DtoTranslationException

computeChecksum

public static String computeChecksum(Object... objects)


Copyright © 2013 evolveum. All Rights Reserved.