You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2006/10/18 00:11:52 UTC
svn commit: r465075 -
/incubator/activemq/activemq-cpp/trunk/activemq-cpp/temp-scripts/AmqCppClassesGenerator.java
Author: tabish
Date: Tue Oct 17 15:11:50 2006
New Revision: 465075
URL: http://svn.apache.org/viewvc?view=rev&rev=465075
Log:
Store in progress openwire generator scripts here for now
Modified:
incubator/activemq/activemq-cpp/trunk/activemq-cpp/temp-scripts/AmqCppClassesGenerator.java
Modified: incubator/activemq/activemq-cpp/trunk/activemq-cpp/temp-scripts/AmqCppClassesGenerator.java
URL: http://svn.apache.org/viewvc/incubator/activemq/activemq-cpp/trunk/activemq-cpp/temp-scripts/AmqCppClassesGenerator.java?view=diff&rev=465075&r1=465074&r2=465075
==============================================================================
--- incubator/activemq/activemq-cpp/trunk/activemq-cpp/temp-scripts/AmqCppClassesGenerator.java (original)
+++ incubator/activemq/activemq-cpp/trunk/activemq-cpp/temp-scripts/AmqCppClassesGenerator.java Tue Oct 17 15:11:50 2006
@@ -281,10 +281,9 @@
out.println("////////////////////////////////////////////////////////////////////////////////");
out.println(className+"* "+className+"::clone() const {");
- String newInstance = decapitalize(className);
+ String newInstance = decapitalize( className );
-out.println(" "+className+"* "+newInstance+" = ");
-out.println(" new "+className+"();");
+out.println(" "+className+"* "+newInstance+" = new "+className+"();");
out.println("");
for( Iterator iter = properties.iterator(); iter.hasNext(); ) {
@@ -299,10 +298,10 @@
!type.startsWith("std::vector") ) {
out.println(" "+newInstance+"->"+parameterName+" = this->get"+propertyName+"();");
- } else if( property.getType().getSimpleName().startsWith("std::vector") &&
- type.contains( "*" ) ) {
+ } else if( property.getType().isArrayType() &&
+ !property.getType().getArrayComponentType().isPrimitiveType() ) {
out.println(" for( size_t i" + parameterName + " = 0; i" + parameterName + " < " + parameterName + ".size(); ++i" + parameterName + " ) {");
-out.println(" "+newInstance+"->"+parameterName+".psuh_back( ");
+out.println(" "+newInstance+"->get"+propertyName+"().push_back( ");
out.println(" this->"+parameterName+"[i"+parameterName+"]->clone();");
out.println(" }");
} else {
@@ -310,12 +309,38 @@
}
}
+out.println("");
+out.println(" return "+newInstance);
out.println("}");
out.println("");
out.println("////////////////////////////////////////////////////////////////////////////////");
out.println("void "+className+"::copy( "+className+"* dest ) const {");
out.println("");
+
+ for( Iterator iter = properties.iterator(); iter.hasNext(); ) {
+ JProperty property = (JProperty) iter.next();
+ String type = toCppType(property.getType());
+ String propertyName = property.getSimpleName();
+ String parameterName = decapitalize(propertyName);
+ String constNess = "";
+
+ if( !property.getType().isPrimitiveType() &&
+ !property.getType().getSimpleName().equals("ByteSequence") &&
+ !type.startsWith("std::vector") ) {
+
+ out.println(" dest->set"+propertyName+"( this->get"+propertyName+"() );");
+ } else if( property.getType().isArrayType() &&
+ !property.getType().getArrayComponentType().isPrimitiveType() ) {
+ out.println(" for( size_t i" + parameterName + " = 0; i" + parameterName + " < " + parameterName + ".size(); ++i" + parameterName + " ) {");
+ out.println(" dest->get"+propertyName+"().push_back( ");
+ out.println(" this->"+parameterName+"[i"+parameterName+"]->clone() );");
+ out.println(" }");
+ } else {
+ out.println(" dest->set"+propertyName+"( this->get"+propertyName+"()->clone() );");
+ }
+ }
+
out.println("}");