[jgentle] r79 committed - completed StackPool

1 view
Skip to first unread message

codesite...@google.com

unread,
Jul 30, 2009, 10:25:16 PM7/30/09
to jgentl...@googlegroups.com
Revision: 79
Author: Skydunkpro
Date: Thu Jul 30 17:59:31 2009
Log: completed StackPool
http://code.google.com/p/jgentle/source/detail?r=79

Modified:

/trunk/JGentleProject/src/org/jgentleframework/core/reflection/FieldIdentification.java

/trunk/JGentleProject/src/org/jgentleframework/core/reflection/MethodIdentification.java

/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/AnnoMetaImpl.java

/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/DefinitionCore.java

/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetaDataFactory.java

/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetadataControl.java

/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetadataController.java

/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/AbstractBaseFactory.java

/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/StackPool.java

/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/context/PoolScope.java
/trunk/JGentleProject/src/org/jgentleframework/utils/ReflectUtils.java

=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/FieldIdentification.java
Fri May 15 05:16:41 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/FieldIdentification.java
Thu Jul 30 17:59:31 2009
@@ -20,15 +20,17 @@
import java.lang.reflect.Field;

/**
- * This interface represents the <code>field identification</code>,
- * designates a field or a set of fields corresponding to declaring class
and
- * one <code>regular expression</code> of name. The
- * <code>identification data</code> shall be used conjointly with
reflection
- * tools in order to access specified fields.
+ * This interface represents the <code>field identification</code>,
designates a
+ * field or a set of fields corresponding to declaring class and one
+ * <code>regular expression</code> of name. The <code>identification
data</code>
+ * shall be used conjointly with reflection tools in order to access
specified
+ * fields.
*
* @author LE QUOC CHUNG - mailto: <a
* href="mailto:skydu...@yahoo.com">skydu...@yahoo.com</a>
* @date Jul 21, 2008
+ * @see MemberIdentification
+ * @see Identification
*/
public interface FieldIdentification extends MemberIdentification<Field> {
/**
=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/MethodIdentification.java
Fri May 15 05:16:41 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/MethodIdentification.java
Thu Jul 30 17:59:31 2009
@@ -34,14 +34,6 @@
* @see Method
*/
public interface MethodIdentification extends MemberIdentification<Method>
{
- /*
- * (non-Javadoc)
- * @see
- * org.jgentleframework.general.reflection.MemberIdentification#setName(
- * java.lang.String)
- */
- public void setName(String name);
-
/**
* Gets the declaring class.
*/
=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/AnnoMetaImpl.java
Sun Jul 26 11:58:11 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/AnnoMetaImpl.java
Thu Jul 30 17:59:31 2009
@@ -39,23 +39,23 @@
*/
class AnnoMetaImpl extends MetadataImpl implements Metadata, AnnoMeta {
/**
- * The {@link HashMap} containing all {@link Metadata} objects of this
- * {@link AnnoMeta}
+ * The {@link Map map} containing all {@link Metadata metadata} objects of
+ * this {@link AnnoMeta annotation metadata}
*/
- HashMap<Object, Metadata> metaList = new HashMap<Object, Metadata>();
+ Map<Object, Metadata> metaList = new HashMap<Object, Metadata>();

/** The current name of this {@link AnnoMeta} */
- String name = "";
+ String name = "";

/**
* The {@link AnnoMeta} parents of this {@link AnnoMeta} if it exists, if
* not, this mean current {@link AnnoMeta} is a {@link AnnoMeta} of one
* {@link Definition} and its value will be <code>null</code>.
*/
- AnnoMeta parents;
+ AnnoMeta parents;

/** The type. */
- Class<?> type = null;
+ Class<?> type = null;

/**
* The Constructor.
=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/DefinitionCore.java
Thu Jul 23 01:43:47 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/DefinitionCore.java
Thu Jul 30 17:59:31 2009
@@ -34,7 +34,7 @@
*/
public interface DefinitionCore extends MetadataControl {
/**
- * Create {@link AnnoMeta} content.
+ * Create {@link AnnoMeta annotation metadata} content.
*/
public void buildAnnoMeta();

=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetaDataFactory.java
Fri May 15 05:16:41 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetaDataFactory.java
Thu Jul 30 17:59:31 2009
@@ -32,13 +32,12 @@
*/
public abstract class MetaDataFactory {
/**
- * Create a new {@link Definition}
+ * Create a new {@link Definition definition}
*
* @param key
- * key of {@link Definition}
+ * key of {@link Definition definition}
* @param visitor
- * the visitor
- * @return Definition
+ * the {@link IAnnotationVisitor visitor}
*/
public static Definition createDefinition(Object key,
IAnnotationVisitor visitor) {
@@ -47,15 +46,15 @@
}

/**
- * Create a new {@link Definition}
+ * Create a new {@link Definition definition}
*
* @param key
- * key of {@link Definition}
+ * key of {@link Definition definition}
* @param annoList
- * an array of original annotations of {@link Definition}
+ * an array of original annotations of {@link Definition
+ * definition}
* @param visitor
* the visitor
- * @return Definition
*/
public static Definition createDefinition(Object key,
Annotation[] annoList, IAnnotationVisitor visitor) {
@@ -64,13 +63,12 @@
}

/**
- * Create a new {@link AnnoMeta}
+ * Create a new {@link AnnoMeta annotation metadata}
*
* @param key
- * key of {@link AnnoMeta}
+ * key of {@link AnnoMeta annotation metadata}
* @param value
- * value of {@link AnnoMeta}
- * @return AnnoMeta
+ * value of {@link AnnoMeta annotation metadata}
*/
public static AnnoMeta createAnnoMeta(Object key, Object value) {

@@ -78,15 +76,15 @@
}

/**
- * Create a new {@link AnnoMeta}
+ * Create a new {@link AnnoMeta annotation metadata}
*
* @param key
- * key of {@link AnnoMeta}
+ * key of {@link AnnoMeta annotation metadata}
* @param value
- * value of {@link AnnoMeta}
+ * value of {@link AnnoMeta annotation metadata}
* @param annoParents
- * annoMeta parents of {@link AnnoMeta} need to be created.
- * @return AnnoMeta
+ * annoMeta parents of {@link AnnoMeta annotation metadata}
need
+ * to be created.
*/
public static AnnoMeta createAnnoMeta(Object key, Object value,
AnnoMeta annoParents) {
@@ -95,17 +93,17 @@
}

/**
- * Create a new {@link AnnoMeta}
+ * Create a new {@link AnnoMeta annotation metadata}
*
* @param key
- * key of {@link AnnoMeta}
+ * key of {@link AnnoMeta annotation metadata}
* @param value
- * value of {@link AnnoMeta}
+ * value of {@link AnnoMeta annotation metadata}
* @param annoParents
- * annoMeta parents of {@link AnnoMeta} need to be created.
+ * annoMeta parents of {@link AnnoMeta annotation metadata}
need
+ * to be created.
* @param name
- * name of desired annoMeta.
- * @return AnnoMeta
+ * name of desired annotation metadata.
*/
public static AnnoMeta createAnnoMeta(Object key, Object value,
AnnoMeta annoParents, String name) {
@@ -114,11 +112,10 @@
}

/**
- * Create a new {@link Metadata}
+ * Create a new {@link Metadata metadata}
*
* @param key
- * key of {@link AnnoMeta}
- * @return MetaData
+ * key of {@link AnnoMeta annotation metadata}
*/
public static Metadata createMetaData(Object key) {

@@ -126,13 +123,12 @@
}

/**
- * Create a new {@link Metadata}
+ * Create a new {@link Metadata metadata}
*
* @param key
- * key of {@link Metadata}
+ * key of {@link Metadata metadata}
* @param value
- * value of {@link Metadata}
- * @return MetaData
+ * value of {@link Metadata metadata}
*/
public static Metadata createMetaData(Object key, Object value) {

=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetadataControl.java
Fri May 15 05:16:41 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetadataControl.java
Thu Jul 30 17:59:31 2009
@@ -32,14 +32,11 @@
*
* @param key
* the key
- * @return the metadata
*/
Metadata getMetadata(Object key);

/**
* Returns all the metadatas that are associated to the current object.
- *
- * @return the metadatas
*/
Metadata[] getMetadatas();

=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetadataController.java
Fri May 15 05:16:41 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/core/reflection/metadata/MetadataController.java
Thu Jul 30 17:59:31 2009
@@ -19,6 +19,7 @@

import java.io.Serializable;
import java.util.HashMap;
+import java.util.Map;

import org.aopalliance.reflect.Metadata;
import org.jgentleframework.core.reflection.ReflectException;
@@ -70,7 +71,7 @@
}

/** The metadata list. */
- protected HashMap<Object, Metadata> metadataList = new HashMap<Object,
Metadata>();
+ protected Map<Object, Metadata> metadataList = new HashMap<Object,
Metadata>();

/*
* (non-Javadoc)
=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/AbstractBaseFactory.java
Wed Jul 15 04:51:31 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/AbstractBaseFactory.java
Thu Jul 30 17:59:31 2009
@@ -63,7 +63,11 @@
}
synchronized (this) {
if (isEnable() && success) {
- pool.add(new TimestampObjectBean<Object>(obj));
+// if (ReflectUtils.isCast(Stack.class, pool))
+// ((Stack<TimestampObjectBean<Object>>) pool)
+// .push(new TimestampObjectBean<Object>(obj));
+// else
+ pool.add(new TimestampObjectBean<Object>(obj));
}
}
if (decrementNumActive) {
=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/StackPool.java
Wed Jul 15 04:51:31 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/StackPool.java
Thu Jul 30 17:59:31 2009
@@ -17,6 +17,7 @@
*/
package org.jgentleframework.services.objectpooling;

+import java.util.EmptyStackException;
import java.util.NoSuchElementException;
import java.util.Stack;

@@ -95,8 +96,13 @@
TimestampObjectBean<Object> pair = null;
synchronized (this) {
assertDisable();
- pair = (TimestampObjectBean<Object>)
((Stack<TimestampObjectBean<Object>>) pool)
- .pop();
+ try {
+ pair = (TimestampObjectBean<Object>)
((Stack<TimestampObjectBean<Object>>) pool)
+ .pop();
+ }
+ catch (EmptyStackException e1) {
+ pair = null;
+ }
if (pair == null) {
if (this.maxPoolSize < 0
|| this.getNumActive() < this.maxPoolSize) {
=======================================
---
/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/context/PoolScope.java
Wed Jul 29 17:21:08 2009
+++
/trunk/JGentleProject/src/org/jgentleframework/services/objectpooling/context/PoolScope.java
Thu Jul 30 17:59:31 2009
@@ -40,6 +40,7 @@
import org.jgentleframework.core.intercept.JGentleNamingPolicy;
import org.jgentleframework.core.interceptor.ReturnScopeName;
import org.jgentleframework.core.reflection.metadata.Definition;
+import org.jgentleframework.services.objectpooling.PoolOperationException;
import org.jgentleframework.services.objectpooling.PoolType;
import org.jgentleframework.services.objectpooling.annotation.Pooling;
import
org.jgentleframework.services.objectpooling.support.PoolInvocationMethodInterceptor;
@@ -177,7 +178,9 @@
if (pool == null) {
if (log.isInfoEnabled()) {
log
- .info("The instance bean was not created by this pool !!");
+ .info(
+ "The instance bean was not created by this pool !!",
+ new PoolOperationException());
}
return false;
}
=======================================
--- /trunk/JGentleProject/src/org/jgentleframework/utils/ReflectUtils.java
Wed Jul 29 18:40:31 2009
+++ /trunk/JGentleProject/src/org/jgentleframework/utils/ReflectUtils.java
Thu Jul 30 17:59:31 2009
@@ -1330,7 +1330,7 @@
/**
* Sets new value to static final field.
* <p>
- * <b>Note</b>: this method only works on Sun JDK
+ * <b>Note</b>: this method only run on Sun JDK
*
* @param field
* the field

Reply all
Reply to author
Forward
0 new messages