You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2008/04/13 19:52:15 UTC
svn commit: r647596 - in
/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src:
main/java/org/apache/cayenne/ main/java/org/apache/cayenne/access/
main/java/org/apache/cayenne/access/jdbc/
main/java/org/apache/cayenne/access/types/ main/java/org...
Author: aadamchik
Date: Sun Apr 13 10:52:03 2008
New Revision: 647596
URL: http://svn.apache.org/viewvc?rev=647596&view=rev
Log:
CAY-1026 Drop commons-lang dependency
(replacing ToStringBuilder)
Added:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ToStringBuilder.java
Modified:
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/types/AbstractType.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Attribute.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbJoin.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Entity.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjRelationship.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Relationship.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/AbstractQuery.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/FieldResult.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/ClientChannel.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/RemoteSession.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbJoinTest.java
cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/TestObject.java
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/DataRow.java Sun Apr 13 10:52:03 2008
@@ -27,8 +27,8 @@
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.DbRelationship;
import org.apache.cayenne.map.ObjEntity;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.Util;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* DataRow a map that holds values retrieved from the database for a given query row.
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/DataDomain.java Sun Apr 13 10:52:03 2008
@@ -42,9 +42,9 @@
import org.apache.cayenne.map.EntitySorter;
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.QueryChain;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.Util;
import org.apache.commons.collections.Transformer;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* DataDomain performs query routing functions in Cayenne. DataDomain creates single data
@@ -172,8 +172,7 @@
// backwards compatibility mode... only possible in a single-node case
// see TODO above
if (nodes.size() == 1) {
- entitySorter = nodes.values().iterator().next()
- .getEntitySorter();
+ entitySorter = nodes.values().iterator().next().getEntitySorter();
}
else {
entitySorter = new AshwoodEntitySorter(getDataMaps());
@@ -256,8 +255,9 @@
if (queryCacheFactory != null
&& dataContextFactory != null
&& !Util.isEmptyString(dataContextFactory.toString())) {
- queryCacheFactory = createInstance(queryCacheFactory
- .toString(), QueryCacheFactory.class);
+ queryCacheFactory = createInstance(
+ queryCacheFactory.toString(),
+ QueryCacheFactory.class);
}
else {
queryCacheFactory = null;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/jdbc/ColumnDescriptor.java Sun Apr 13 10:52:03 2008
@@ -27,9 +27,9 @@
import org.apache.cayenne.map.DbAttribute;
import org.apache.cayenne.map.ObjAttribute;
import org.apache.cayenne.map.ProcedureParameter;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* A descriptor of a ResultSet column.
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/types/AbstractType.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/types/AbstractType.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/types/AbstractType.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/access/types/AbstractType.java Sun Apr 13 10:52:03 2008
@@ -23,8 +23,8 @@
import java.sql.PreparedStatement;
import java.sql.ResultSet;
-import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.cayenne.map.DbAttribute;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.validation.BeanValidationFailure;
import org.apache.cayenne.validation.ValidationResult;
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Attribute.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Attribute.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Attribute.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Attribute.java Sun Apr 13 10:52:03 2008
@@ -17,15 +17,14 @@
* under the License.
****************************************************************/
-
package org.apache.cayenne.map;
import java.io.Serializable;
import org.apache.cayenne.util.CayenneMapEntry;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.XMLEncoder;
import org.apache.cayenne.util.XMLSerializable;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* Defines a property descriptor that is a part of an Entity. Two examples of things that
@@ -50,12 +49,12 @@
public Attribute(String name) {
this.name = name;
}
-
+
@Override
public String toString() {
return new ToStringBuilder(this).append("name", getName()).toString();
}
-
+
public abstract void encodeAsXML(XMLEncoder encoder);
/**
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DataMap.java Sun Apr 13 10:52:03 2008
@@ -39,10 +39,10 @@
import org.apache.cayenne.query.NamedQuery;
import org.apache.cayenne.query.Query;
import org.apache.cayenne.query.SQLResultSetMapping;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.Util;
import org.apache.cayenne.util.XMLEncoder;
import org.apache.cayenne.util.XMLSerializable;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* Stores a collection of related mapping objects that describe database and object layers
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbJoin.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbJoin.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbJoin.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/DbJoin.java Sun Apr 13 10:52:03 2008
@@ -20,9 +20,9 @@
package org.apache.cayenne.map;
import org.apache.cayenne.CayenneRuntimeException;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.XMLEncoder;
import org.apache.cayenne.util.XMLSerializable;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* Defines a join between two attributes of a given relationship.
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Entity.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Entity.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Entity.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Entity.java Sun Apr 13 10:52:03 2008
@@ -31,8 +31,8 @@
import org.apache.cayenne.exp.Expression;
import org.apache.cayenne.exp.ExpressionException;
import org.apache.cayenne.util.CayenneMapEntry;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.XMLSerializable;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* An Entity is an abstract descriptor for an entity mapping concept. Entity can represent
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjRelationship.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjRelationship.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjRelationship.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/ObjRelationship.java Sun Apr 13 10:52:03 2008
@@ -30,9 +30,9 @@
import org.apache.cayenne.exp.parser.ASTDbPath;
import org.apache.cayenne.map.event.RelationshipEvent;
import org.apache.cayenne.util.CayenneMapEntry;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.Util;
import org.apache.cayenne.util.XMLEncoder;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* Describes an association between two Java classes mapped as source and target
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Relationship.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Relationship.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Relationship.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/map/Relationship.java Sun Apr 13 10:52:03 2008
@@ -23,8 +23,8 @@
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.util.CayenneMapEntry;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.XMLSerializable;
-import org.apache.commons.lang.builder.ToStringBuilder;
/**
* Defines a relationship between two entities. In a DataMap graph relationships represent
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/AbstractQuery.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/AbstractQuery.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/AbstractQuery.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/AbstractQuery.java Sun Apr 13 10:52:03 2008
@@ -19,13 +19,13 @@
package org.apache.cayenne.query;
-import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.map.DataMap;
import org.apache.cayenne.map.DbEntity;
import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.map.ObjEntity;
import org.apache.cayenne.map.Procedure;
+import org.apache.cayenne.util.ToStringBuilder;
/**
* A common superclass of Cayenne queries.
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/FieldResult.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/FieldResult.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/FieldResult.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/query/FieldResult.java Sun Apr 13 10:52:03 2008
@@ -18,7 +18,7 @@
****************************************************************/
package org.apache.cayenne.query;
-import org.apache.commons.lang.builder.ToStringBuilder;
+import org.apache.cayenne.util.ToStringBuilder;
/**
* A metadata object that maps a result set column to an ObjAttribute or DbAttribute. Used
@@ -36,7 +36,7 @@
FieldResult(String entityName, String attributeName, String column,
boolean dbAttribute) {
-
+
this.entityName = entityName;
this.attributeName = attributeName;
this.column = column;
@@ -46,7 +46,7 @@
public String getEntityName() {
return entityName;
}
-
+
public String getAttributeName() {
return attributeName;
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/ClientChannel.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/ClientChannel.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/ClientChannel.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/ClientChannel.java Sun Apr 13 10:52:03 2008
@@ -22,7 +22,6 @@
import java.util.List;
import java.util.ListIterator;
-import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.DataChannel;
import org.apache.cayenne.ObjectContext;
@@ -41,6 +40,7 @@
import org.apache.cayenne.query.QueryMetadata;
import org.apache.cayenne.reflect.ClassDescriptor;
import org.apache.cayenne.util.DeepMergeOperation;
+import org.apache.cayenne.util.ToStringBuilder;
/**
* A {@link org.apache.cayenne.DataChannel} implementation that accesses a remote server
@@ -170,7 +170,7 @@
ObjectContext originatingContext,
GraphDiff changes,
int syncType) {
-
+
changes = diffCompressor.compress(changes);
GraphDiff replyDiff = (GraphDiff) send(new SyncMessage(
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/RemoteSession.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/RemoteSession.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/RemoteSession.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/remote/RemoteSession.java Sun Apr 13 10:52:03 2008
@@ -25,13 +25,13 @@
import java.util.Collections;
import java.util.Map;
-import org.apache.commons.lang.builder.HashCodeBuilder;
-import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.cayenne.CayenneRuntimeException;
import org.apache.cayenne.DataChannel;
import org.apache.cayenne.event.EventBridge;
import org.apache.cayenne.event.EventBridgeFactory;
import org.apache.cayenne.event.EventSubject;
+import org.apache.cayenne.util.ToStringBuilder;
+import org.apache.commons.lang.builder.HashCodeBuilder;
/**
* A descriptor used by default service implementation to pass session parameters to the
Added: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ToStringBuilder.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ToStringBuilder.java?rev=647596&view=auto
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ToStringBuilder.java (added)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/main/java/org/apache/cayenne/util/ToStringBuilder.java Sun Apr 13 10:52:03 2008
@@ -0,0 +1,224 @@
+/*****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ ****************************************************************/
+package org.apache.cayenne.util;
+
+import java.util.Collection;
+import java.util.Map;
+
+/**
+ * A utility class to simplify implementation of Object toString methods. This
+ * implementation is a trimmed version of commons-lang ToStringBuilder.
+ *
+ * @since 3.0
+ * @author Andrus Adamchik
+ */
+public class ToStringBuilder {
+
+ protected StringBuilder buffer;
+ protected Object object;
+ protected int fieldCount;
+
+ public ToStringBuilder(Object object) {
+ this.object = object;
+ this.buffer = new StringBuilder(128);
+
+ appendClassName();
+ appendIdentityHashCode();
+ buffer.append('[');
+ }
+
+ public ToStringBuilder append(String fieldName, Object value) {
+
+ if (fieldCount++ > 0) {
+ buffer.append(',');
+ }
+
+ buffer.append(fieldName).append('=');
+
+ if (value == null) {
+ buffer.append("<null>");
+ }
+ else {
+ appendDetail(value);
+ }
+
+ return this;
+ }
+
+ protected void appendDetail(Object value) {
+
+ if (value instanceof Collection) {
+ buffer.append(value);
+ }
+ else if (value instanceof Map) {
+ buffer.append(value);
+ }
+ else if (value instanceof long[]) {
+ appendArray((long[]) value);
+ }
+ else if (value instanceof int[]) {
+ appendArray((int[]) value);
+ }
+ else if (value instanceof short[]) {
+ appendArray((short[]) value);
+ }
+ else if (value instanceof byte[]) {
+ appendArray((byte[]) value);
+ }
+ else if (value instanceof char[]) {
+ appendArray((char[]) value);
+ }
+ else if (value instanceof double[]) {
+ appendArray((double[]) value);
+ }
+ else if (value instanceof float[]) {
+ appendArray((float[]) value);
+ }
+ else if (value instanceof boolean[]) {
+ appendArray((boolean[]) value);
+ }
+ else if (value.getClass().isArray()) {
+ appendArray((Object[]) value);
+ }
+ else {
+ buffer.append(value);
+ }
+ }
+
+ protected void appendArray(short[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ buffer.append(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendArray(int[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ buffer.append(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendArray(float[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ buffer.append(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendArray(long[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ buffer.append(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendArray(byte[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ buffer.append(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendArray(double[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ buffer.append(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendArray(char[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ buffer.append(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendArray(boolean[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ buffer.append(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendArray(Object[] array) {
+ buffer.append('{');
+ for (int i = 0; i < array.length; i++) {
+ if (i > 0) {
+ buffer.append(',');
+ }
+ appendDetail(array[i]);
+ }
+ buffer.append('}');
+ }
+
+ protected void appendClassName() {
+ if (object != null) {
+ buffer.append(object.getClass().getName());
+ }
+ }
+
+ protected void appendIdentityHashCode() {
+ if (object != null) {
+ buffer.append('@');
+ buffer.append(Integer.toHexString(System.identityHashCode(object)));
+ }
+ }
+
+ /**
+ * Returns a String built by the earlier invocations.
+ */
+ @Override
+ public String toString() {
+ buffer.append(']');
+ return buffer.toString();
+ }
+}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbJoinTest.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbJoinTest.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbJoinTest.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/map/DbJoinTest.java Sun Apr 13 10:52:03 2008
@@ -17,7 +17,6 @@
* under the License.
****************************************************************/
-
package org.apache.cayenne.map;
import junit.framework.TestCase;
@@ -34,6 +33,17 @@
DbRelationship relationship = new DbRelationship("abc");
join.setRelationship(relationship);
assertSame(relationship, join.getRelationship());
+ }
+
+ public void testToString() {
+ DbJoin join = new DbJoin();
+ join.setSourceName("X");
+ join.setTargetName("Y");
+
+ String string = join.toString();
+
+ assertTrue(string, string.startsWith("org.apache.cayenne.map.DbJoin@"));
+ assertTrue(string, string.endsWith("[source=X,target=Y]"));
}
}
Modified: cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/TestObject.java
URL: http://svn.apache.org/viewvc/cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/TestObject.java?rev=647596&r1=647595&r2=647596&view=diff
==============================================================================
--- cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/TestObject.java (original)
+++ cayenne/main/trunk/framework/cayenne-jdk1.5-unpublished/src/test/java/org/apache/cayenne/xml/TestObject.java Sun Apr 13 10:52:03 2008
@@ -22,8 +22,8 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.cayenne.CayenneDataObject;
+import org.apache.cayenne.util.ToStringBuilder;
import org.apache.cayenne.util.Util;
/**
@@ -34,7 +34,7 @@
protected String name = "";
protected int age;
protected boolean open;
- protected List children = new ArrayList();
+ protected List<TestObject> children = new ArrayList<TestObject>();
protected TestObject parent = null;
public TestObject() {
@@ -70,16 +70,16 @@
public void setOpen(boolean open) {
this.open = open;
}
-
+
public TestObject getParent() {
return parent;
}
-
+
public void setParent(TestObject parent) {
this.parent = parent;
}
- public void setChildren(List children) {
+ public void setChildren(List<TestObject> children) {
this.children = children;
}
@@ -91,7 +91,7 @@
children.remove(child);
}
- public List getChildren() {
+ public List<TestObject> getChildren() {
return children;
}
@@ -106,7 +106,7 @@
if (!Util.nullSafeEquals(name, test.getName())) {
return false;
}
-
+
if (!Util.nullSafeEquals(parent, test.getParent())) {
return false;
}
@@ -117,7 +117,7 @@
@Override
public void encodeAsXML(XMLEncoder encoder) {
encoder.setRoot("Test", this.getClass().getName());
-
+
// "parent" must come first to fully test 1-to-1 relationships, per CAY-597.
encoder.encodeProperty("parent", parent);
encoder.encodeProperty("name", name);
@@ -128,11 +128,11 @@
@Override
public void decodeFromXML(XMLDecoder decoder) {
-
+
if (null != decoder.decodeObject("parent")) {
parent = (TestObject) decoder.decodeObject("parent");
}
-
+
if (null != decoder.decodeInteger("age")) {
age = decoder.decodeInteger("age").intValue();
}
@@ -140,9 +140,9 @@
if (null != decoder.decodeBoolean("open")) {
open = decoder.decodeBoolean("open").booleanValue();
}
-
+
name = decoder.decodeString("name");
- children = (List) decoder.decodeObject("children");
+ children = (List<TestObject>) decoder.decodeObject("children");
}
@Override