You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by Antonio Gallardo <ag...@agsoftware.dnsalias.com> on 2003/12/06 10:10:48 UTC

Re: cvs commit: db-ojb/src/jdori/org/apache/ojb/jdori/sql Helper.java

Hi Thomas:

I think there is a line not needed. see below:

thma@apache.org dijo:
> thma        2003/12/05 14:43:34
>
>   Added:       src/jdori/org/apache/ojb/jdori/sql Helper.java
>   Log:
>   Add a little helper class to factor out utility methods
>
>   Revision  Changes    Path
>   1.1
> db-ojb/src/jdori/org/apache/ojb/jdori/sql/Helper.java
>
>   Index: Helper.java
>   ===================================================================
>   package org.apache.ojb.jdori.sql;
>
>   import java.lang.reflect.Field;
>
>   import javax.jdo.JDOFatalInternalException;
>
>   import com.sun.jdori.StateManagerInternal;
>   import com.sun.jdori.common.model.jdo.JDOModelFactoryImpl;
>   import com.sun.jdori.common.model.runtime.RuntimeJavaModelFactory;
>   import com.sun.jdori.model.java.JavaModel;
>   import com.sun.jdori.model.java.JavaModelFactory;
>   import com.sun.jdori.model.jdo.JDOClass;
>   import com.sun.jdori.model.jdo.JDOModel;
>
>   /* ====================================================================
>    * The Apache Software License, Version 1.1
>    *
>    * Copyright (c) 2001 The Apache Software Foundation.  All rights
>    * reserved.
>    *
>    * Redistribution and use in source and binary forms, with or without
>    * modification, are permitted provided that the following conditions
>    * are met:
>    *
>    * 1. Redistributions of source code must retain the above copyright
>    *    notice, this list of conditions and the following disclaimer.
>    *
>    * 2. Redistributions in binary form must reproduce the above copyright
>    *    notice, this list of conditions and the following disclaimer in
>    *    the documentation and/or other materials provided with the
>    *    distribution.
>    *
>    * 3. The end-user documentation included with the redistribution,
>    *    if any, must include the following acknowledgment:
>    *       "This product includes software developed by the
>    *        Apache Software Foundation (http://www.apache.org/)."
>    *    Alternately, this acknowledgment may appear in the software
> itself,
>    *    if and wherever such third-party acknowledgments normally appear.
>    *
>    * 4. The names "Apache" and "Apache Software Foundation" and
>    *    "Apache ObjectRelationalBridge" must not be used to endorse or
> promote products
>    *    derived from this software without prior written permission. For
>    *    written permission, please contact apache@apache.org.
>    *
>    * 5. Products derived from this software may not be called "Apache",
>    *    "Apache ObjectRelationalBridge", nor may "Apache" appear in their
> name, without
>    *    prior written permission of the Apache Software Foundation.
>    *
>    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
>    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
>    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
>    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
>    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
>    * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
>    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>    * SUCH DAMAGE.
>    * ====================================================================
>    *
>    * This software consists of voluntary contributions made by many
>    * individuals on behalf of the Apache Software Foundation.  For more
>    * information on the Apache Software Foundation, please see
>    * <http://www.apache.org/>.
>    */
>
>
>
>   /**
>    * @author Thomas Mahler
>    *
>    * this is a helper class providing convenience methods.
>    */
>   class Helper
>   {
>   	static JDOClass getJDOClass(Class c)
>   	{
>   		JDOClass rc = null;
>   		try
>   		{
>   			ClassLoader cl = c.getClassLoader();
                        ^^^^^^^^^^^^^

In the rest of the code we don't use it at all.

Best Regards,

Antonio Gallardo

>   			JavaModelFactory javaModelFactory =
> RuntimeJavaModelFactory.getInstance();
>   			JavaModel javaModel =
> javaModelFactory.getJavaModel(c.getClassLoader());
>   			JDOModel m =
> JDOModelFactoryImpl.getInstance().getJDOModel(javaModel);
>   			rc = m.getJDOClass(c.getName());
>   		}
>   		catch (RuntimeException ex)
>   		{
>   			throw new JDOFatalInternalException("Not a JDO class: " +
> c.getName());
>   		}
>   		return rc;
>   	}
>
>   	/**
>   	 * @return the LifeCycleState of a StateManager instance
>   	 */
>   	static Object getLCState(StateManagerInternal sm)
>   	{
>   		// unfortunately the LifeCycleState classes are package private.
>   		// so we have to do some dirty reflection hack to access them
>   		try
>   		{
>   			Field myLC = sm.getClass().getDeclaredField("myLC");
>   			myLC.setAccessible(true);
>   			return myLC.get(sm);
>   		}
>   		catch (NoSuchFieldException e)
>   		{
>   			return e;
>   		}
>   		catch (IllegalAccessException e)
>   		{
>   			return e;
>   		}
>   	}
>
>   }


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org


Re: cvs commit: db-ojb/src/jdori/org/apache/ojb/jdori/sql Helper.java

Posted by Thomas Mahler <th...@web.de>.
fixed in CVS!

thanks for your careful review,
Thomas

Antonio Gallardo wrote:
> Hi Thomas:
> 
> I think there is a line not needed. see below:
> 
> thma@apache.org dijo:
> 
>>thma        2003/12/05 14:43:34
>>
>>  Added:       src/jdori/org/apache/ojb/jdori/sql Helper.java
>>  Log:
>>  Add a little helper class to factor out utility methods
>>
>>  Revision  Changes    Path
>>  1.1
>>db-ojb/src/jdori/org/apache/ojb/jdori/sql/Helper.java
>>
>>  Index: Helper.java
>>  ===================================================================
>>  package org.apache.ojb.jdori.sql;
>>
>>  import java.lang.reflect.Field;
>>
>>  import javax.jdo.JDOFatalInternalException;
>>
>>  import com.sun.jdori.StateManagerInternal;
>>  import com.sun.jdori.common.model.jdo.JDOModelFactoryImpl;
>>  import com.sun.jdori.common.model.runtime.RuntimeJavaModelFactory;
>>  import com.sun.jdori.model.java.JavaModel;
>>  import com.sun.jdori.model.java.JavaModelFactory;
>>  import com.sun.jdori.model.jdo.JDOClass;
>>  import com.sun.jdori.model.jdo.JDOModel;
>>
>>  /* ====================================================================
>>   * The Apache Software License, Version 1.1
>>   *
>>   * Copyright (c) 2001 The Apache Software Foundation.  All rights
>>   * reserved.
>>   *
>>   * Redistribution and use in source and binary forms, with or without
>>   * modification, are permitted provided that the following conditions
>>   * are met:
>>   *
>>   * 1. Redistributions of source code must retain the above copyright
>>   *    notice, this list of conditions and the following disclaimer.
>>   *
>>   * 2. Redistributions in binary form must reproduce the above copyright
>>   *    notice, this list of conditions and the following disclaimer in
>>   *    the documentation and/or other materials provided with the
>>   *    distribution.
>>   *
>>   * 3. The end-user documentation included with the redistribution,
>>   *    if any, must include the following acknowledgment:
>>   *       "This product includes software developed by the
>>   *        Apache Software Foundation (http://www.apache.org/)."
>>   *    Alternately, this acknowledgment may appear in the software
>>itself,
>>   *    if and wherever such third-party acknowledgments normally appear.
>>   *
>>   * 4. The names "Apache" and "Apache Software Foundation" and
>>   *    "Apache ObjectRelationalBridge" must not be used to endorse or
>>promote products
>>   *    derived from this software without prior written permission. For
>>   *    written permission, please contact apache@apache.org.
>>   *
>>   * 5. Products derived from this software may not be called "Apache",
>>   *    "Apache ObjectRelationalBridge", nor may "Apache" appear in their
>>name, without
>>   *    prior written permission of the Apache Software Foundation.
>>   *
>>   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
>>   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
>>   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
>>   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
>>   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
>>   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
>>   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
>>   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
>>   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
>>   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
>>   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
>>   * SUCH DAMAGE.
>>   * ====================================================================
>>   *
>>   * This software consists of voluntary contributions made by many
>>   * individuals on behalf of the Apache Software Foundation.  For more
>>   * information on the Apache Software Foundation, please see
>>   * <http://www.apache.org/>.
>>   */
>>
>>
>>
>>  /**
>>   * @author Thomas Mahler
>>   *
>>   * this is a helper class providing convenience methods.
>>   */
>>  class Helper
>>  {
>>  	static JDOClass getJDOClass(Class c)
>>  	{
>>  		JDOClass rc = null;
>>  		try
>>  		{
>>  			ClassLoader cl = c.getClassLoader();
> 
>                         ^^^^^^^^^^^^^
> 
> In the rest of the code we don't use it at all.
> 
> Best Regards,
> 
> Antonio Gallardo
> 
> 
>>  			JavaModelFactory javaModelFactory =
>>RuntimeJavaModelFactory.getInstance();
>>  			JavaModel javaModel =
>>javaModelFactory.getJavaModel(c.getClassLoader());
>>  			JDOModel m =
>>JDOModelFactoryImpl.getInstance().getJDOModel(javaModel);
>>  			rc = m.getJDOClass(c.getName());
>>  		}
>>  		catch (RuntimeException ex)
>>  		{
>>  			throw new JDOFatalInternalException("Not a JDO class: " +
>>c.getName());
>>  		}
>>  		return rc;
>>  	}
>>
>>  	/**
>>  	 * @return the LifeCycleState of a StateManager instance
>>  	 */
>>  	static Object getLCState(StateManagerInternal sm)
>>  	{
>>  		// unfortunately the LifeCycleState classes are package private.
>>  		// so we have to do some dirty reflection hack to access them
>>  		try
>>  		{
>>  			Field myLC = sm.getClass().getDeclaredField("myLC");
>>  			myLC.setAccessible(true);
>>  			return myLC.get(sm);
>>  		}
>>  		catch (NoSuchFieldException e)
>>  		{
>>  			return e;
>>  		}
>>  		catch (IllegalAccessException e)
>>  		{
>>  			return e;
>>  		}
>>  	}
>>
>>  }
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-dev-help@db.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org