@@ -22,12 +22,11 @@

import java.sql.Types;

import org.slf4j.Logger;

import org.hibernate.HibernateException;
import org.hibernate.cfg.NotYetImplementedException;
import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.ogm.datastore.spi.Tuple;
import org.hibernate.ogm.util.impl.Log;
import org.hibernate.ogm.util.impl.LoggerFactory;
import org.hibernate.type.CustomType;

@@ -39,7 +38,7 @@
//TODO It would probably be better to implement all of this as a subclass of BasicGridType
public class EnumType extends GridTypeDelegatingToCoreType {

private static final Logger log = LoggerFactory.make();
private static final Log log = LoggerFactory.make();

private org.hibernate.type.EnumType coreEnumType;
private final boolean isOrdinal;
@@ -65,11 +64,11 @@ public Object nullSafeGet(Tuple rs, String name, SessionImplementor session, Obj
throws HibernateException {
final Object object = rs.get( name );
if ( object == null ) {
log.trace( "found [null] as column [{}]", name );
log.tracef( "found [null] as column [$s]", name );
return null;
}
else {
log.trace( "found [{}] as column [{}]", object, name );
log.tracef( "found [$s] as column [$s]", object, name );
if ( object instanceof Integer ) {
initEnumValues();
int ordinal = ( ( Integer ) object ).intValue();
@@ -124,13 +123,13 @@ public void nullSafeSet(Tuple resultset, Object value, String[] names, SessionIm
throw new NotYetImplementedException( "Multi column property not implemented yet" );
}
if ( value == null ) {
log.trace( "binding [null] to parameter [{}]", names[0] );
log.tracef( "binding [null] to parameter [$s]", names[0] );
}
else {
Object endValue = isOrdinal ?
Integer.valueOf( ( ( Enum<?> ) value ).ordinal() ) :
( ( Enum<?> ) value ).name();
log.trace( "binding [{}] to parameter(s) {}", endValue, names[0] );
log.tracef( "binding [$s] to parameter(s) $s", endValue, names[0] );
resultset.put( names[0], endValue );
}

@@ -23,12 +23,11 @@
import java.sql.SQLException;
import java.util.Arrays;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import org.hibernate.engine.jdbc.LobCreator;
import org.hibernate.engine.jdbc.NonContextualLobCreator;
import org.hibernate.ogm.datastore.spi.Tuple;
import org.hibernate.ogm.util.impl.Log;
import org.hibernate.ogm.util.impl.LoggerFactory;
import org.hibernate.type.descriptor.WrapperOptions;
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;
import org.hibernate.type.descriptor.sql.SqlTypeDescriptor;
@@ -37,7 +36,7 @@
* @author Emmanuel Bernard
*/
public abstract class BasicGridBinder<X> implements GridValueBinder<X>{
private static final Logger log = LoggerFactory.getLogger( BasicGridBinder.class );
private static final Log log = LoggerFactory.make();
private final JavaTypeDescriptor<X> javaDescriptor;
private final GridTypeDescriptor gridDescriptor;
private static final WrapperOptions DEFAULT_OPTIONS = new WrapperOptions() {
@@ -68,13 +67,14 @@ public BasicGridBinder(JavaTypeDescriptor<X> javaDescriptor, GridTypeDescriptor
public void bind(Tuple resultset, X value, String[] names) {
if ( value == null ) {
for ( String name : names ) {
log.trace( "binding [null] to parameter [{}]", name );
log.tracef( "binding [null] to parameter [$s]", name );
resultset.put( name, null );
}
}
else {

log.trace( "binding [{}] to parameter(s) {}", javaDescriptor.extractLoggableRepresentation( value ), Arrays.toString( names ) );
if ( log.isTraceEnabled() ) {
log.tracef( "binding [$s] to parameter(s) $s", javaDescriptor.extractLoggableRepresentation( value ), Arrays.toString( names ) );
}
doBind( resultset, value, names, DEFAULT_OPTIONS );
}
}
@@ -22,17 +22,16 @@

import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import org.hibernate.ogm.datastore.spi.Tuple;
import org.hibernate.ogm.util.impl.Log;
import org.hibernate.ogm.util.impl.LoggerFactory;
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;

/**
* @author Emmanuel Bernard
*/
public class BasicGridExtractor<J> implements GridValueExtractor<J> {
private static final Logger log = LoggerFactory.getLogger( BasicGridExtractor.class );
private static final Log log = LoggerFactory.make();
private final GridTypeDescriptor gridTypeDescriptor;
private final JavaTypeDescriptor<J> javaTypeDescriptor;

@@ -46,11 +45,13 @@ public J extract(Tuple resultset, String name) {
@SuppressWarnings( "unchecked" )
final J result = (J) resultset.get( name );
if ( result == null ) {
log.trace( "found [null] as column [{}]", name );
log.tracef( "found [null] as column [$s]", name );
return null;
}
else {
log.trace( "found [{}] as column [{}]", javaTypeDescriptor.extractLoggableRepresentation( result ), name );
if ( log.isTraceEnabled() ) {
log.tracef( "found [$s] as column [$s]", javaTypeDescriptor.extractLoggableRepresentation( result ), name );
}
return result;
}
}
@@ -26,21 +26,22 @@
import java.util.Arrays;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import org.hibernate.engine.jdbc.LobCreator;
import org.hibernate.engine.jdbc.NonContextualLobCreator;
import org.hibernate.ogm.datastore.spi.Tuple;
import org.hibernate.ogm.util.impl.Log;
import org.hibernate.ogm.util.impl.LoggerFactory;
import org.hibernate.type.descriptor.WrapperOptions;
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;
import org.hibernate.type.descriptor.sql.SqlTypeDescriptor;

/**
* @author Nicolas Helleringer
*/
public abstract class StringMappedGridBinder<X> implements GridValueBinder<X>{
private static final Logger log = LoggerFactory.getLogger( StringMappedGridBinder.class );
public abstract class StringMappedGridBinder<X> implements GridValueBinder<X> {

private static final Log log = LoggerFactory.make();

private final JavaTypeDescriptor<X> javaDescriptor;
private final GridTypeDescriptor gridDescriptor;
private static final WrapperOptions DEFAULT_OPTIONS = new WrapperOptions() {
@@ -71,13 +72,14 @@ public StringMappedGridBinder(JavaTypeDescriptor<X> javaDescriptor, GridTypeDesc
public void bind(Tuple resultset, X value, String[] names) {
if ( value == null ) {
for ( String name : names ) {
log.trace( "binding [null] to parameter [{}]", name );
log.tracef( "binding [null] to parameter [$s]", name );
resultset.put( name, null );
}
}
else {

log.trace( "binding [{}] to parameter(s) {}", javaDescriptor.extractLoggableRepresentation( value ), Arrays.toString( names ) );
if ( log.isTraceEnabled() ) {
log.tracef( "binding [$s] to parameter(s) $s", javaDescriptor.extractLoggableRepresentation( value ), Arrays.toString( names ) );
}
doBind( resultset, value, names, DEFAULT_OPTIONS );
}
}
@@ -20,19 +20,18 @@
*/
package org.hibernate.ogm.type.descriptor;

import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import org.hibernate.ogm.datastore.spi.Tuple;
import org.hibernate.ogm.util.impl.Log;
import org.hibernate.ogm.util.impl.LoggerFactory;
import org.hibernate.type.descriptor.java.JavaTypeDescriptor;

/**
* @author Nicolas Helleringer
*/
public class StringMappedGridExtractor<J> implements GridValueExtractor<J> {
private static final Logger log = LoggerFactory.getLogger( BasicGridExtractor.class );

private static final Log log = LoggerFactory.make();

private final GridTypeDescriptor gridTypeDescriptor;
private final JavaTypeDescriptor<J> javaTypeDescriptor;

@@ -46,12 +45,14 @@ public J extract(Tuple resultset, String name) {
@SuppressWarnings( "unchecked" )
final String result = (String) resultset.get( name );
if ( result == null ) {
log.trace( "found [null] as column [{}]", name );
log.tracef( "found [null] as column [$s]", name );
return null;
}
else {
final J resultJ = javaTypeDescriptor.fromString(result);
log.trace( "found [{}] as column [{}]", javaTypeDescriptor.extractLoggableRepresentation( resultJ ), name );
if ( log.isTraceEnabled() ) {
log.tracef( "found [$s] as column [$s]", javaTypeDescriptor.extractLoggableRepresentation( resultJ ), name );
}
return resultJ;
}
}
@@ -0,0 +1,50 @@
/*
* Hibernate, Relational Persistence for Idiomatic Java
*
* JBoss, Home of Professional Open Source
* Copyright 2011 Red Hat Inc. and/or its affiliates and other contributors
* as indicated by the @authors tag. All rights reserved.
* See the copyright.txt in the distribution for a
* full listing of individual contributors.
*
* This copyrighted material is made available to anyone wishing to use,
* modify, copy, or redistribute it subject to the terms and conditions
* of the GNU Lesser General Public License, v. 2.1.
* This program is distributed in the hope that it will be useful, but WITHOUT A
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License,
* v.2.1 along with this distribution; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
* MA 02110-1301, USA.
*/
package org.hibernate.ogm.util.impl;

import static org.jboss.logging.Logger.Level.INFO;
import static org.jboss.logging.Logger.Level.WARN;

import org.jboss.logging.BasicLogger;
import org.jboss.logging.LogMessage;
import org.jboss.logging.Message;
import org.jboss.logging.MessageLogger;

/**
* @author Sanne Grinovero <sanne@hibernate.org> (C) 2011 Red Hat Inc.
*/
@MessageLogger(projectCode = "OGM")
public interface Log extends BasicLogger {

@LogMessage(level = INFO)
@Message(id = 1, value = "Hibernate OGM %1$s")
void version(String versionString);

@LogMessage(level = WARN)
@Message(id = 2, value = "Could not find any META-INF/persistence.xml file in the classpath. " +
"Unable to build Persistence Unit %1$s")
void persistenceXmlNotFoundInClassPath(String unitName);

@LogMessage(level = INFO)
@Message(id = 3, value = "Use default transaction factory (use an TransactionManager exclusively to pilot the transaction)")
void usingDefaultTransactionFactory();

}
@@ -20,17 +20,23 @@
*/
package org.hibernate.ogm.util.impl;

import org.slf4j.Logger;
import org.jboss.logging.Logger;

/**
* A factory class for class loggers. Allows a creation of loggers after the DRY principle.
*
* @author Hardy Ferentschik
*/
public class LoggerFactory {
public static Logger make() {
public static Log make() {
Throwable t = new Throwable();
StackTraceElement directCaller = t.getStackTrace()[1];
return org.slf4j.LoggerFactory.getLogger( directCaller.getClassName() );
return Logger.getMessageLogger( Log.class, directCaller.getClassName() );
}
}

public static <T> T make(Class<T> logClass) {
Throwable t = new Throwable();
StackTraceElement directCaller = t.getStackTrace()[1];
return Logger.getMessageLogger( logClass, directCaller.getClassName() );
}
}
@@ -33,7 +33,6 @@
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.slf4j.Logger;

import org.hibernate.HibernateException;
import org.hibernate.Session;
@@ -45,6 +44,7 @@
import org.hibernate.engine.spi.SessionFactoryImplementor;
import org.hibernate.ogm.cfg.OgmConfiguration;
import org.hibernate.ogm.datastore.infinispan.impl.CacheManagerServiceProvider;
import org.hibernate.ogm.util.impl.Log;
import org.hibernate.ogm.util.impl.LoggerFactory;
import org.hibernate.search.FullTextSession;
import org.hibernate.search.Search;
@@ -64,7 +64,7 @@
*/
public abstract class OgmTestCase extends TestCase {

private static final Logger log = LoggerFactory.make();
private static final Log log = LoggerFactory.make();
protected static SessionFactory sessions;
private Session session;