Sure, send it out.

Thanks,
Rick

On Fri, Mar 23, 2012 at 8:22 AM, Matthew Adams <matt...@matthewadams.me>wrote:

> Note:  Sorry for the delay.  Forgot to hit send on this
> email...thought I'd sent it long ago...
>
> I can't really boil it down (partly because I'm not sure what the
> problem is, exactly), but it's a pretty small project -- only a few
> persistent classes.  I'd be happy to send you the whole project off
> the list.  Let me know, ok?
>
> Thanks,
> Matthew
>
> On Fri, Mar 16, 2012 at 11:25 AM, Rick Curtis <curti...@gmail.com> wrote:
> > Matthew -
> >
> >> Rick, if you want me to send you the whole project offline, I'd be happy
> > to.
> > Is it possible that you could boil this scenario down to a small unit
> test?
> > Sorry about the slow replies, I'm swamped with other work.
> >
> > Thanks,
> > Rick
> >
> > On Thu, Mar 15, 2012 at 8:51 AM, Matthew Adams <matt...@matthewadams.me
> >wrote:
> >
> >> Note:  I fixed the "down level" entity by updating the version of
> >> openjpa used by the enhancer.  Exception remains, though.
> >>
> >> Rick, if you want me to send you the whole project offline, I'd be happy
> >> to.
> >>
> >> -matthew
> >>
> >> On Thu, Mar 15, 2012 at 8:39 AM, Matthew Adams <matt...@matthewadams.me
> >
> >> wrote:
> >> > Sure thing.  I just noticed something suspicious:  "A down level
> >> > Entity was detected and logged".  Could that have something to do with
> >> > the problem?
> >> >
> >> > 19:00:31,348  INFO ClassPathXmlApplicationContext:495 - Refreshing
> >> >
> >>
> org.springframework.context.support.ClassPathXmlApplicationContext@2f833eca
> >> :
> >> > startup date [Wed Mar 14 19:00:31 CDT 2012]; root of context hierarchy
> >> > 19:00:31,417  INFO XmlBeanDefinitionReader:315 - Loading XML bean
> >> > definitions from file
> >> >
> >>
> [/home/matthew/dev/statthing/statthing/backend/model/target/classes/META-INF/spring/applicationContext.xml]
> >> > 19:00:31,964  INFO PropertySourcesPlaceholderConfigurer:177 - Loading
> >> > properties file from file
> >> >
> >>
> [/home/matthew/dev/statthing/statthing/backend/model/target/classes/META-INF/spring/database.properties]
> >> > 19:00:31,985  INFO DefaultListableBeanFactory:557 - Pre-instantiating
> >> > singletons in
> >>
> org.springframework.beans.factory.support.DefaultListableBeanFactory@11dfc8a0
> >> :
> >> > defining beans
> >>
> [org.springframework.context.support.PropertySourcesPlaceholderConfigurer#0,org.springframework.context.config.internalBeanConfigurerAspect,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,transactionManager,org.springframework.transaction.config.internalTransactionAspect,dataSource,entityManagerFactory,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0];
> >> > root of factory hierarchy
> >> > 19:00:32,146  INFO LocalContainerEntityManagerFactoryBean:253 -
> >> > Building JPA container EntityManagerFactory for persistence unit
> >> > 'persistenceUnit'
> >> > 20  persistenceUnit  WARN   [main] openjpa.Runtime - An error occurred
> >> > while registering a ClassTransformer with PersistenceUnitInfo: name
> >> > 'persistenceUnit', root URL
> >> >
> >>
> [file:/home/matthew/dev/statthing/statthing/backend/model/target/classes/].
> >> > The error has been consumed. To see it, set your openjpa.Runtime log
> >> > level to TRACE. Load-time class transformation will not be available.
> >> > 82  persistenceUnit  INFO   [main] openjpa.Runtime - OpenJPA
> >> > dynamically loaded a validation provider.
> >> > 156  persistenceUnit  INFO   [main] openjpa.Runtime - Starting OpenJPA
> >> 2.2.0
> >> > 187  persistenceUnit  INFO   [main] openjpa.jdbc.JDBC - Using
> >> > dictionary class "org.apache.openjpa.jdbc.sql.MySQLDictionary".
> >> > 1087  persistenceUnit  INFO   [main] openjpa.Runtime - The Entity
> >> > "com.statthing.model.volleyball.FloorRegionList" was enhanced at level
> >> > "1,055,128", but the current level of enhancement is "1,241,207".
> >> > 1090  persistenceUnit  INFO   [main] openjpa.Runtime - A down level
> >> > Entity was detected and logged. Please enable RUNTIME trace to see all
> >> > down level Entities.
> >> > Exception in thread "main"
> >> > org.springframework.orm.jpa.JpaSystemException: The transaction has
> >> > been rolled back.  See the nested exceptions for details on the errors
> >> > that occurred.; nested exception is <openjpa-2.2.0-r422266:1244990
> >> > fatal general error>
> >> > org.apache.openjpa.persistence.PersistenceException: The transaction
> >> > has been rolled back.  See the nested exceptions for details on the
> >> > errors that occurred.
> >> >        at
> >>
> org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:326)
> >> >        at
> >>
> org.springframework.orm.jpa.DefaultJpaDialect.translateExceptionIfPossible(DefaultJpaDialect.java:120)
> >> >        at
> >>
> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
> >> >        at
> >>
> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
> >> >        at
> >>
> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
> >> >        at
> >>
> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
> >> >        at
> >>
> org.springframework.transaction.aspectj.AbstractTransactionAspect.ajc$afterReturning$org_springframework_transaction_aspectj_AbstractTransactionAspect$3$2a73e96c(AbstractTransactionAspect.aj:78)
> >> >        at
> >>
> com.statthing.model.volleyball.FloorConfiguration_Roo_Jpa_ActiveRecord.ajc$interMethod$com_statthing_model_volleyball_FloorConfiguration_Roo_Jpa_ActiveRecord$com_statthing_model_volleyball_FloorConfiguration$persist(FloorConfiguration_Roo_Jpa_ActiveRecord.aj:44)
> >> >        at
> >>
> com.statthing.model.volleyball.FloorConfiguration.persist(FloorConfiguration.java:1)
> >> >        at
> >>
> com.statthing.model.volleyball.FloorConfiguration_Roo_Jpa_ActiveRecord.ajc$interMethodDispatch1$com_statthing_model_volleyball_FloorConfiguration_Roo_Jpa_ActiveRecord$com_statthing_model_volleyball_FloorConfiguration$persist(FloorConfiguration_Roo_Jpa_ActiveRecord.aj)
> >> >        at
> >> com.statthing.model.volleyball.seeder.Seeder.seed(Seeder.java:78)
> >> >        at
> >> com.statthing.model.volleyball.seeder.Seeder$1.doInJpa(Seeder.java:43)
> >> >        at
> >> org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:187)
> >> >        at
> >> org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:150)
> >> >        at
> >> com.statthing.model.volleyball.seeder.Seeder.execute(Seeder.java:38)
> >> >        at
> >> com.statthing.model.volleyball.seeder.Seeder.main(Seeder.java:24)
> >> > Caused by: <openjpa-2.2.0-r422266:1244990 fatal general error>
> >> > org.apache.openjpa.persistence.PersistenceException: The transaction
> >> > has been rolled back.  See the nested exceptions for details on the
> >> > errors that occurred.
> >> >        at
> >>
> org.apache.openjpa.kernel.BrokerImpl.newFlushException(BrokerImpl.java:2337)
> >> >        at
> >> org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2174)
> >> >        at
> >> org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072)
> >> >        at
> >>
> org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990)
> >> >        at
> >>
> org.apache.openjpa.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:81)
> >> >        at
> >> org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1514)
> >> >        at
> >>
> org.apache.openjpa.kernel.DelegatingBroker.commit(DelegatingBroker.java:933)
> >> >        at
> >>
> org.apache.openjpa.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:570)
> >> >        at
> >>
> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
> >> >        ... 13 more
> >> > Caused by: <openjpa-2.2.0-r422266:1244990 fatal user error>
> >> > org.apache.openjpa.persistence.InvalidStateException: Attempt to set
> >> > column "FloorRegion.version" to two different values: (null)"null",
> >> > (class java.lang.Integer)"1" This can occur when you fail to set both
> >> > sides of a two-sided relation between objects, or when you map
> >> > different fields to the same column, but you do not keep the values of
> >> > these fields in synch.
> >> >        at
> >> org.apache.openjpa.jdbc.sql.PrimaryRow.setObject(PrimaryRow.java:344)
> >> >        at
> org.apache.openjpa.jdbc.sql.RowImpl.setObject(RowImpl.java:510)
> >> >        at
> >>
> org.apache.openjpa.jdbc.meta.strats.ColumnVersionStrategy.insert(ColumnVersionStrategy.java:192)
> >> >        at
> org.apache.openjpa.jdbc.meta.Version.insert(Version.java:293)
> >> >        at
> >>
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.insert(AbstractUpdateManager.java:236)
> >> >        at
> >>
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.populateRowManager(AbstractUpdateManager.java:162)
> >> >        at
> >>
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:95)
> >> >        at
> >>
> org.apache.openjpa.jdbc.kernel.AbstractUpdateManager.flush(AbstractUpdateManager.java:76)
> >> >        at
> >>
> org.apache.openjpa.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:713)
> >> >        at
> >>
> org.apache.openjpa.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:131)
> >> >        ... 21 more
> >> >
> >> >
> >> > On Thu, Mar 15, 2012 at 8:09 AM, Rick Curtis <curti...@gmail.com>
> wrote:
> >> >> Matthew-
> >> >>
> >> >> Could you post the full exception stack?
> >> >>
> >> >> Thanks,
> >> >> Rick
> >> >>
> >> >> On Wed, Mar 14, 2012 at 7:19 PM, Matthew Adams <
> matt...@matthewadams.me
> >> >wrote:
> >> >>
> >> >>> Hi all,
> >> >>>
> >> >>> Vitals:  Maven 3.0.3, Roo 1.2.1.RELEASE, OpenJPA 2.2.0, MySQL 5.1.x,
> >> >>> Ubuntu 11.10 64-bit, JDK 6 (1.6.0_30) 64-bit
> >> >>>
> >> >>> I'm getting an error with OpenJPA 2.2.0 that seems to have popped
> up a
> >> >>> fair bit with other folks out on the Internet over the years.  Can
> >> >>> anyone see anything in my mappings that is either wrong or would
> cause
> >> >>> this exception?  I've been struggling with this for hours, trying
> all
> >> >>> sorts of different mappings and nothing seems to help!
> >> >>>
> >> >>> Here's the exception snippet:
> >> >>> =====
> >> >>> <openjpa-2.2.0-r422266:1244990 fatal user error>
> >> >>> org.apache.openjpa.persistence.InvalidStateException: Attempt to set
> >> >>> column "FloorRegion.version" to two different values: (null)"null",
> >> >>> (class java.lang.Integer)"1" This can occur when you fail to set
> both
> >> >>> sides of a two-sided relation between objects, or when you map
> >> >>> different fields to the same column, but you do not keep the values
> of
> >> >>> these fields in synch.
> >> >>> =====
> >> >>>
> >> >>> The class in question, FloorRegion, is the target of a
> unidirectional
> >> >>> one-to-many relationship, owned by class FloorRegionList.  Here's
> the
> >> >>> relevant part of FloorRegionList:
> >> >>> =====
> >> >>> @Table(name = "FloorRegionList")
> >> >>> public class FloorRegionList implements HasCourtSize {
> >> >>>
> >> >>>    @OneToMany(cascade = { CascadeType.PERSIST, CascadeType.DETACH,
> >> >>>            CascadeType.MERGE, CascadeType.REFRESH })
> >> >>>    // unidirectional one-to-many using join column
> >> >>>    @JoinColumn(name = "owner", referencedColumnName = "id",
> nullable =
> >> >>> true)
> >> >>>    protected List<FloorRegion> regions = new
> ArrayList<FloorRegion>();
> >> >>> =====
> >> >>>
> >> >>> The FloorRegion class doesn't know anything whatsoever about
> >> >>> FloorRegionList; it just has a couple of ints and five embedded
> >> >>> FloorPoint instances:
> >> >>> =====
> >> >>> @Table(name = "FloorRegion")
> >> >>> public class FloorRegion implements HasCourtSize {
> >> >>>
> >> >>>    @Column(nullable = false)
> >> >>>    protected int width;
> >> >>>
> >> >>>    @Column(nullable = false)
> >> >>>    protected int length;
> >> >>>
> >> >>>    @Embedded
> >> >>>    @AttributeOverrides({
> >> >>>            @AttributeOverride(name = "w", column = @Column(name =
> >> >>> "lfw", nullable = false)),
> >> >>>            @AttributeOverride(name = "l", column = @Column(name =
> >> >>> "lfl", nullable = false)) })
> >> >>>    protected FloorPoint leftFront;
> >> >>>
> >> >>>    @Embedded
> >> >>>    @AttributeOverrides({
> >> >>>            @AttributeOverride(name = "w", column = @Column(name =
> >> >>> "lbw", nullable = false)),
> >> >>>            @AttributeOverride(name = "l", column = @Column(name =
> >> >>> "lbl", nullable = false)) })
> >> >>>    protected FloorPoint leftBack;
> >> >>>
> >> >>>    @Embedded
> >> >>>    @AttributeOverrides({
> >> >>>            @AttributeOverride(name = "w", column = @Column(name =
> >> >>> "rfw", nullable = false)),
> >> >>>            @AttributeOverride(name = "l", column = @Column(name =
> >> >>> "rfl", nullable = false)) })
> >> >>>    protected FloorPoint rightFront;
> >> >>>
> >> >>>    @Embedded
> >> >>>    @AttributeOverrides({
> >> >>>            @AttributeOverride(name = "w", column = @Column(name =
> >> >>> "rbw", nullable = false)),
> >> >>>            @AttributeOverride(name = "l", column = @Column(name =
> >> >>> "rbl", nullable = false)) })
> >> >>>    protected FloorPoint rightBack;
> >> >>>
> >> >>>    @Embedded
> >> >>>    @AttributeOverrides({
> >> >>>            @AttributeOverride(name = "w", column = @Column(name =
> >> >>> "cw", nullable = false)),
> >> >>>            @AttributeOverride(name = "l", column = @Column(name =
> >> >>> "cl", nullable = false)) })
> >> >>>    protected FloorPoint center;
> >> >>> =====
> >> >>>
> >> >>> Here's my persistence.xml (note addition of foreign key
> constraints):
> >> >>> =====
> >> >>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> >> >>> <persistence
> >> >>>    xmlns="http://java.sun.com/xml/ns/persistence";
> >> >>>    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >> >>>    version="2.0"
> >> >>>    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> >> >>> http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd";>
> >> >>>    <persistence-unit
> >> >>>        name="persistenceUnit"
> >> >>>        transaction-type="RESOURCE_LOCAL">
> >> >>>
> >> >>>
> >>
>  <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
> >> >>>        <properties>
> >> >>>            <property
> >> >>>                name="openjpa.jdbc.DBDictionary"
> >> >>>                value="org.apache.openjpa.jdbc.sql.MySQLDictionary"
> />
> >> >>>            <!-- value="buildSchema" to runtime forward map the DDL
> SQL;
> >> >>>                value="validate" makes no changes to the database -->
> >> >>>            <property
> >> >>>                name="openjpa.jdbc.SynchronizeMappings"
> >> >>>                value="validate" />
> >> >>>            <property
> >> >>>                name="openjpa.RuntimeUnenhancedClasses"
> >> >>>                value="unsupported" />
> >> >>>            <property
> >> >>>                name="openjpa.jdbc.MappingDefaults"
> >> >>>                value="ForeignKeyDeleteAction=restrict,
> >> >>> JoinForeignKeyDeleteAction=restrict" />
> >> >>>        </properties>
> >> >>>    </persistence-unit>
> >> >>> </persistence>
> >> >>> =====
> >> >>>
> >> >>> Here's a snippet from my pom.xml that has to do with OpenJPA
> >> >>> enhancement.  It enhances, generates a clean schema DDL file, a
> >> >>> differential one, connects to the database & refreshes it (during
> the
> >> >>> process-classes phase), and then during the post-integration-test
> >> >>> phase, runs a main class that seeds the database with an initial set
> >> >>> of entities.
> >> >>> =====
> >> >>>            <plugin>
> >> >>>                <groupId>org.codehaus.mojo</groupId>
> >> >>>                <artifactId>openjpa-maven-plugin</artifactId>
> >> >>>                <version>1.2</version>
> >> >>>                <executions>
> >> >>>                    <execution>
> >> >>>                        <id>enhance-classes</id>
> >> >>>                        <phase>process-classes</phase>
> >> >>>                        <goals>
> >> >>>                            <goal>enhance</goal>
> >> >>>                        </goals>
> >> >>>                        <configuration>
> >> >>>
> >> >>> <includes>${statthing.entities.ant.pathspec}</includes>
> >> >>>                            <excludes>**/*_Roo_*.class</excludes>
> >> >>>
> >> >>>  <addDefaultConstructor>true</addDefaultConstructor>
> >> >>>                        </configuration>
> >> >>>                    </execution>
> >> >>>                    <execution>
> >> >>>                        <id>generate-ddl-file-complete</id>
> >> >>>                        <phase>process-classes</phase>
> >> >>>                        <goals>
> >> >>>                            <goal>sql</goal>
> >> >>>                        </goals>
> >> >>>                        <configuration>
> >> >>>
> >> >>> <includes>${statthing.entities.ant.pathspec}</includes>
> >> >>>                            <excludes>**/*_Roo_*.class</excludes>
> >> >>>                            <sqlAction>build</sqlAction>
> >> >>>                            <foreignKeys>true</foreignKeys>
> >> >>>
> >> >>>  <sqlFile>${statthing.db.ddl.file.complete}</sqlFile>
> >> >>>                        </configuration>
> >> >>>                    </execution>
> >> >>>                    <execution>
> >> >>>                        <id>generate-ddl-file-diff</id>
> >> >>>                        <phase>process-classes</phase>
> >> >>>                        <goals>
> >> >>>                            <goal>sql</goal>
> >> >>>                        </goals>
> >> >>>                        <configuration>
> >> >>>
> >> >>> <includes>${statthing.entities.ant.pathspec}</includes>
> >> >>>                            <excludes>**/*_Roo_*.class</excludes>
> >> >>>                            <sqlAction>refresh</sqlAction>
> >> >>>                            <foreignKeys>true</foreignKeys>
> >> >>>
> >>  <sqlFile>${statthing.db.ddl.file.diff}</sqlFile>
> >> >>>
> >> >>> <connectionDriverName>${statthing.db.connection.driver.name
> >> >>> }</connectionDriverName>
> >> >>>
> >> >>>
> >> >>>
> >>
> <connectionDriverName>com.mchange.v2.c3p0.ComboPooledDataSource</connectionDriverName>
> >> >>>
> >> >>>
> >> >>>
> >>
> <connectionProperties>${statthing.db.connection.properties}</connectionProperties>
> >> >>>                        </configuration>
> >> >>>                    </execution>
> >> >>>                    <execution>
> >> >>>                        <id>generate-ddl-db</id>
> >> >>>                        <phase>process-classes</phase>
> >> >>>                        <goals>
> >> >>>                            <goal>sql</goal>
> >> >>>                        </goals>
> >> >>>                        <configuration>
> >> >>>
> >> >>> <includes>${statthing.entities.ant.pathspec}</includes>
> >> >>>                            <excludes>**/*_Roo_*.class</excludes>
> >> >>>                            <sqlAction>refresh</sqlAction>
> >> >>>                            <foreignKeys>true</foreignKeys>
> >> >>>                            <modifyDatabase>true</modifyDatabase>
> >> >>>
> >> >>> <connectionDriverName>${statthing.db.connection.driver.name
> >> >>> }</connectionDriverName>
> >> >>>
> >> >>>
> >> >>>
> >>
> <connectionDriverName>com.mchange.v2.c3p0.ComboPooledDataSource</connectionDriverName>
> >> >>>
> >> >>>
> >> >>>
> >>
> <connectionProperties>${statthing.db.connection.properties}</connectionProperties>
> >> >>>                        </configuration>
> >> >>>                    </execution>
> >> >>>                </executions>
> >> >>>                <dependencies>
> >> >>>                    <dependency>
> >> >>>                        <groupId>org.apache.openjpa</groupId>
> >> >>>                        <artifactId>openjpa</artifactId>
> >> >>>                        <version>2.1.1</version>
> >> >>>                        <exclusions>
> >> >>>                            <exclusion>
> >> >>>                                <groupId>commons-logging</groupId>
> >> >>>
>  <artifactId>commons-logging</artifactId>
> >> >>>                            </exclusion>
> >> >>>                            <exclusion>
> >> >>>
> >>  <groupId>org.apache.geronimo.specs</groupId>
> >> >>>
> >> >>>  <artifactId>geronimo-jms_1.1_spec</artifactId>
> >> >>>                            </exclusion>
> >> >>>                        </exclusions>
> >> >>>                    </dependency>
> >> >>>                </dependencies>
> >> >>>            </plugin>
> >> >>>            <plugin>
> >> >>>                <groupId>org.codehaus.mojo</groupId>
> >> >>>                <artifactId>exec-maven-plugin</artifactId>
> >> >>>                <version>1.2.1</version>
> >> >>>                <executions>
> >> >>>                    <execution>
> >> >>>                        <id>seed-database</id>
> >> >>>                        <goals>
> >> >>>                            <goal>exec</goal>
> >> >>>                        </goals>
> >> >>>                        <phase>post-integration-test</phase>
> >> >>>                    </execution>
> >> >>>                </executions>
> >> >>>                <configuration>
> >> >>>                    <executable>java</executable>
> >> >>>                    <classpathScope>test</classpathScope>
> >> >>>                    <arguments>
> >> >>>                        <argument>-Xdebug</argument>
> >> >>>
> >> >>>
> >> >>>
> >>
> <argument>-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005</argument>
> >> >>>                        <argument>-classpath</argument>
> >> >>>                        <classpath />
> >> >>>
> >> >>> <argument>com.statthing.model.volleyball.seeder.Seeder</argument>
> >> >>>                    </arguments>
> >> >>>                </configuration>
> >> >>>            </plugin>
> >> >>>
> >> >>> =====
> >> >>>
> >> >>> Thanks,
> >> >>> Matthew
> >> >>>
> >> >>> --
> >> >>> @matthewadams12
> >> >>> mailto:matt...@matthewadams.me
> >> >>> skype:matthewadams12
> >> >>> yahoo:matthewadams
> >> >>> aol:matthewadams12
> >> >>> google-talk:matthewadam...@gmail.com
> >> >>> msn:matt...@matthewadams.me
> >> >>> http://matthewadams.me
> >> >>> http://www.linkedin.com/in/matthewadams
> >> >>>
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> *Rick Curtis*
> >> >
> >> >
> >> >
> >> > --
> >> > @matthewadams12
> >> > mailto:matt...@matthewadams.me
> >> > skype:matthewadams12
> >> > yahoo:matthewadams
> >> > aol:matthewadams12
> >> > google-talk:matthewadam...@gmail.com
> >> > msn:matt...@matthewadams.me
> >> > http://matthewadams.me
> >> > http://www.linkedin.com/in/matthewadams
> >>
> >>
> >>
> >> --
> >> @matthewadams12
> >> mailto:matt...@matthewadams.me
> >> skype:matthewadams12
> >> yahoo:matthewadams
> >> aol:matthewadams12
> >> google-talk:matthewadam...@gmail.com
> >> msn:matt...@matthewadams.me
> >> http://matthewadams.me
> >> http://www.linkedin.com/in/matthewadams
> >>
> >
> >
> >
> > --
> > *Rick Curtis*
>
>
>
> --
> @matthewadams12
> mailto:matt...@matthewadams.me
> skype:matthewadams12
> yahoo:matthewadams
> aol:matthewadams12
> google-talk:matthewadam...@gmail.com
> msn:matt...@matthewadams.me
> http://matthewadams.me
> http://www.linkedin.com/in/matthewadams
>



-- 
*Rick Curtis*

Reply via email to