On Monday 19 July 2010 9:04:55 pm Gary Gregory wrote:
> I can now report that this build fixes our big bug [CXF-2900] and that our
> build is 'green'.
> 
> Is there any schedule for 2.2.10 so we do not have to keep a snapshot build
> in our deliverable?

Probably in a week or two.      2.2.9 was released first week of June so I 
would expect early august or so.    That said, I may be travelling the first 
week of Aug so I may do it earlier or later.   

Of course, another committer could jump in and do a release as well.  :-)

Dan



> 
> Thank you,
> 
> Gary Gregory
> Senior Software Engineer
> Seagull Software
> email: [email protected]
> email: [email protected]
> www.seagullsoftware.com
> 
> > -----Original Message-----
> > From: Gary Gregory [mailto:[email protected]]
> > Sent: Monday, July 19, 2010 13:06
> > To: Daniel Kulp
> > Cc: [email protected]
> > Subject: RE: [CXF-2900] WSDLValidator through Stax2DOM leaves input
> > streams open which causes input files to be locked.
> > 
> > Ah, great, thank you. I can also see the console output here:
> > 
> > http://hudson.zones.apache.org/hudson/job/CXF-2.2-
> > deploy/224/org.apache.cxf$apache-cxf/console
> > 
> > Gary Gregory
> > Senior Software Engineer
> > Seagull Software
> > email: [email protected]
> > email: [email protected]
> > www.seagullsoftware.com
> > 
> > > -----Original Message-----
> > > From: Daniel Kulp [mailto:[email protected]]
> > > Sent: Monday, July 19, 2010 12:34
> > > To: Gary Gregory
> > > Cc: [email protected]
> > > Subject: Re: [CXF-2900] WSDLValidator through Stax2DOM leaves input
> > > streams open which causes input files to be locked.
> > > 
> > > On Monday 19 July 2010 3:22:02 pm Gary Gregory wrote:
> > > > > -----Original Message-----
> > > > > From: Daniel Kulp [mailto:[email protected]]
> > > > > Sent: Monday, July 19, 2010 07:14
> > > > > To: [email protected]
> > > > > Cc: Gary Gregory
> > > > > Subject: Re: [CXF-2900] WSDLValidator through Stax2DOM leaves input
> > > > > streams open which causes input files to be locked.
> > > > > 
> > > > > On Saturday 17 July 2010 4:23:36 pm Gary Gregory wrote:
> > > > > > Will there be a snapshot build today?
> > > > > > 
> > > > > > http://repository.apache.org/snapshots/org/apache/cxf/apache-
> > 
> > cxf/2.2.10
> > 
> > > > > > -SNA PSHOT/
> > > > > 
> > > > > Looks like the node that does the deploys from Apache's Hudson
> > > > > instance got stuck or hung or something.   I restarted it and it
> > > > > seems to be executing jobs again, but there is a pretty big queue
> > > > > of builds it needs to work through.
> > > > > 
> > > > > Dan
> > > > 
> > > > I can now see that checksum files are dated today but the product
> > > > files
> > 
> > are
> > 
> > > > still dated Friday.
> > > > 
> > > > Is there another CXF 2.2.10-SNAPSHOT build in the queue?
> > > 
> > > I think it's building now.   You can kind of watch it at:
> > > 
> > > http://hudson.zones.apache.org/hudson/job/CXF-2.2-deploy/224/
> > > 
> > > 
> > > Dan
> > > 
> > > > Thank you,
> > > > Gary
> > > > 
> > > > > > ?
> > > > > > 
> > > > > > Gary Gregory
> > > > > > Senior Software Engineer
> > > > > > Seagull Software
> > > > > > email: [email protected]
> > > > > > email: [email protected]
> > > > > > www.seagullsoftware.com
> > > > > > 
> > > > > > > -----Original Message-----
> > > > > > > From: Daniel Kulp [mailto:[email protected]]
> > > > > > > Sent: Friday, July 16, 2010 08:04
> > > > > > > To: [email protected]
> > > > > > > Cc: Gary Gregory
> > > > > > > Subject: Re: [CXF-2900] WSDLValidator through Stax2DOM leaves
> > > > > > > input streams open which causes input files to be locked.
> > > > > > > 
> > > > > > > 
> > > > > > > You might want to try a "mvn clean" in there first.   It looks
> > > > > > > like the class file was built with eclipse, but eclipse found
> > > > > > > an error.
> > > > > > > 
> > > > > > >  That would be my guess.
> > > > > > > 
> > > > > > > Dan
> > > > > > > 
> > > > > > > On Friday 16 July 2010 12:06:00 am Gary Gregory wrote:
> > > > > > > > Hi All,
> > > > > > > > 
> > > > > > > > I am trying to do a local build out of
> > > > > > > > cxf/branches/2.2.x-fixes to include my patch to:
> > > > > > > > 
> > > > > > > > https://issues.apache.org/jira/browse/CXF-2900 WSDLValidator
> > > > > > > > through Stax2DOM leaves input streams open which causes input
> > > > > > > > files to be locked.
> > > > > > > > 
> > > > > > > > I get an unrelated (I think) error:
> > > > > > > > 
> > > > > > > > org.springframework.beans.factory.BeanCreationException:
> > > > > > > > Error creating bean with name 'proxyBean': Cannot create
> > > > > > > > inner bean '(inner bean)' of type
> > > > > > > > [org.apache.cxf.service.fac
> > > > > > > > tory.HelloServiceProxyFactory] while setting bean property
> > > > > > > > 'serviceBean'; nested exception is
> > > > > > > > org.springframework.beans.factory.BeanCreationException:
> > > > > > > > Error creating bean with name '(inner bean)#3' defined in
> > > > > > > > class path resource
> > > > > > > > [org/apache/cxf/frontend/spring/servers.xml]: Instantiation
> > > > > > > > of bean failed; nested exception is
> > > > > > > > org.springframework.beans
> > > > > > > > .BeanInstantiationException: Could not instantiate bean class
> > > > > > > > [org.apache.cxf.service.factory.HelloServiceProxyFactory]:
> > > > > > > > Constructor threw exception; nested exception is java.
> > > > > > > > lang.Error: Unresolved
> > > > > > > > 
> > > > > > > > compilation problems:
> > > > > > > >         The import org.springframework.aop cannot be resolved
> > > > > > > >         ProxyFactory cannot be resolved to a type
> > > > > > > > 
> > > > > > > > I've updated my local SVN sandbox to make sure I have the
> > > > > > > > latest (At revision: 964666). I am building on Windows Vista
> > > > > > > > 64 bits with Sun Java 1.6.0_20.
> > > > > > > > 
> > > > > > > > Is this a POM issue?
> > > > > > > > 
> > > > > > > > Thank you in advance for your help.
> > > > > > > > 
> > > > > > > > The relevant portion of the build output is:
> > > > > > > > 
> > > > > > > > -------------------------------------------------------
> > > > > > > > 
> > > > > > > >  T E S T S
> > > > > > > > 
> > > > > > > > -------------------------------------------------------
> > > > > > > > Running org.apache.cxf.frontend.soap.SoapBindingSelectionTest
> > > > > > > > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time
> > > > > > > > elapsed: 1.882 sec Running
> > > > > > > > org.apache.cxf.service.factory.ServerFactoryTest Tests run:
> > > > > > > > 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.709
> > > > > > > > sec Running org.apache.cxf.service.factory.RountripTest
> > > > > > > > Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time
> > > > > > > > elapsed: 0.251 sec Running
> > > > > > > > org.apache.cxf.service.stax.StaxDatabindingTest Tests run:
> > > > > > > > 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.196
> > > > > > > > sec Running org.apache.cxf.frontend.spring.ClientServerTest
> > > > > > > > Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time
> > > > > > > > elapsed: 0.522 sec Running
> > > > > > > > org.apache.cxf.service.factory.ReflectionServiceFactoryTest
> > > > > > > > Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time
> > > > > > > > elapsed: 0.242 sec Running
> > > > > > > > org.apache.cxf.service.factory.ClientFactoryBeanTest Tests
> > > > > > > > run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
> > > > > > > > 0.173 sec Running
> > > > > > > > org.apache.cxf.frontend.spring.SpringBeansTest Tests run: 2,
> > > > > > > > Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.58 sec
> > > > > > > > <<< FAILURE!
> > > > > > > > testServers(org.apache.cxf.frontend.spring.SpringBeansTest)
> > > > > > > > Time elapsed: 0.383 sec  <<< ERROR!
> > > > > > > > org.springframework.beans.factory.BeanCreationException:
> > > > > > > > Error creating bean with name 'proxyBean': Cannot create
> > > > > > > > inner bean '(inner bean)' of type
> > > > > > > > [org.apache.cxf.service.fac
> > > > > > > > tory.HelloServiceProxyFactory] while setting bean property
> > > > > > > > 'serviceBean'; nested exception is
> > > > > > > > org.springframework.beans.factory.BeanCreationException:
> > > > > > > > Error creating bean with name '(inner bean)#3' defined in
> > > > > > > > class path resource
> > > > > > > > [org/apache/cxf/frontend/spring/servers.xml]: Instantiation
> > > > > > > > of bean failed; nested exception is
> > > > > > > > org.springframework.beans
> > > > > > > > .BeanInstantiationException: Could not instantiate bean class
> > > > > > > > [org.apache.cxf.service.factory.HelloServiceProxyFactory]:
> > > > > > > > Constructor threw exception; nested exception is java.
> > > > > > > > lang.Error: Unresolved
> > > > > > > > 
> > > > > > > > compilation problems:
> > > > > > > >         The import org.springframework.aop cannot be resolved
> > > > > > > >         ProxyFactory cannot be resolved to a type
> > > > > > > >         
> > > > > > > >         at
> > 
> > org.springframework.beans.factory.support.BeanDefinitionValueResolv
> > 
> > > > > > > > er.r eso lveInnerBean(BeanDefinitionValueResolver.java:230)
> > > > > > > > at
> > 
> > org.springframework.beans.factory.support.BeanDefinitionValueResolv
> > 
> > > > > > > > er.r eso
> > > > > > > > lveValueIfNecessary(BeanDefinitionValueResolver.java:122) at
> > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCap
> > > > > > > > ableB eanFa cto
> > 
> > ry.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245
> > 
> > > > > > > > ) at
> > 
> > org.springframework.beans.factory.support.AbstractAutowireCapableBe
> > 
> > > > > > > > anF acto
> > > > > > > > ry.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
> > > > > > > > at
> > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCa
> > > > > > > > pableB eanF acto
> > > > > > > > ry.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
> > > > > > > > at
> > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCa
> > > > > > > > pableB eanF acto
> > > > > > > > ry$1.run(AbstractAutowireCapableBeanFactory.java:409) at
> > > > > > > > java.security.AccessController.doPrivileged(Native Method)
> > > > > > > > at
> > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCa
> > > > > > > > pableB eanFa cto
> > > > > > > > ry.createBean(AbstractAutowireCapableBeanFactory.java:380) at
> > > > > > > > org.springframework.beans.factory.support.AbstractBeanFactory
> > > > > > > > $1.ge tObje ct( AbstractBeanFactory.java:264) at
> > 
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegis
> > 
> > > > > > > > try. get Singleton(DefaultSingletonBeanRegistry.java:222) at
> > 
> > org.springframework.beans.factory.support.AbstractBeanFactory.doGet
> > 
> > > > > > > > Bean (Ab stractBeanFactory.java:261) at
> > 
> > org.springframework.beans.factory.support.AbstractBeanFactory.getBe
> > 
> > > > > > > > an(A bst ractBeanFactory.java:185) at
> > 
> > org.springframework.beans.factory.support.AbstractBeanFactory.getBe
> > 
> > > > > > > > an(A bst ractBeanFactory.java:164) at
> > 
> > org.springframework.beans.factory.support.DefaultListableBeanFactor
> > 
> > > > > > > > y.pr eIn
> > > > > > > > stantiateSingletons(DefaultListableBeanFactory.java:429) at
> > > > > > > > org.springframework.context.support.AbstractApplicationContex
> > > > > > > > t.fin ishBe anF
> > 
> > actoryInitialization(AbstractApplicationContext.java:728)
> > 
> > > > > > > > at
> > > > > > > > org.springframework.context.support.AbstractApplicationContex
> > > > > > > > t.ref resh( Abs tractApplicationContext.java:380) at
> > 
> > org.springframework.context.support.ClassPathXmlApplicationContext.
> > 
> > > > > > > > <ini t>( ClassPathXmlApplicationContext.java:139) at
> > 
> > org.springframework.context.support.ClassPathXmlApplicationContext.
> > 
> > > > > > > > <ini t>( ClassPathXmlApplicationContext.java:93) at
> > 
> > org.apache.cxf.frontend.spring.SpringBeansTest.testServers(SpringBe
> > 
> > > > > > > > ansT est .java:51) at
> > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > > > > > > at
> > 
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImp
> > 
> > > > > > > > l.j ava: 39) at
> > 
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
> > 
> > > > > > > > esso rIm pl.java:25) at
> > > > > > > > java.lang.reflect.Method.invoke(Method.java:597)
> > > > > > > > 
> > > > > > > >         at
> > 
> > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(Framewo
> > 
> > > > > > > > rkMe tho d.java:44) at
> > 
> > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveC
> > 
> > > > > > > > alla ble .java:15) at
> > 
> > org.junit.runners.model.FrameworkMethod.invokeExplosively(Framework
> > 
> > > > > > > > Meth od. java:41) at
> > 
> > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeM
> > 
> > > > > > > > etho d.j ava:20) at
> > 
> > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassR
> > 
> > > > > > > > unne r.j ava:76) at
> > 
> > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassR
> > 
> > > > > > > > unne r.j ava:50) at
> > > > > > > > org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> > > > > > > > at
> > > > > > > > org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:
> > > > > > > > 52) at
> > > > > > > > org.junit.runners.ParentRunner.runChildren(ParentRunner.java
> > > > > > > > :191) at
> > > > > > > > org.junit.runners.ParentRunner.access$000(ParentRunner.java:
> > > > > > > > 42) at
> > > > > > > > org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:1
> > > > > > > > 84) at
> > > > > > > > org.junit.runners.ParentRunner.run(ParentRunner.java:236) at
> > > > > > > > org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit
> > > > > > > > 4TestS et.ja va: 59) at
> > 
> > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeT
> > 
> > > > > > > > estS et( AbstractDirectoryTestSuite.java:115) at
> > 
> > org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(
> > 
> > > > > > > > Abst rac tDirectoryTestSuite.java:102) at
> > > > > > > > org.apache.maven.surefire.Surefire.run(Surefire.java:180) at
> > > > > > > > sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > > > > > > at
> > 
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImp
> > 
> > > > > > > > l.ja va: 39) at
> > 
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcc
> > 
> > > > > > > > esso rIm pl.java:25) at
> > > > > > > > java.lang.reflect.Method.invoke(Method.java:597)
> > > > > > > > 
> > > > > > > >         at
> > 
> > org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(
> > 
> > > > > > > > Sure fir eBooter.java:350) at
> > 
> > org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter
> > 
> > > > > > > > .jav a:1 021) Caused by:
> > > > > > > > org.springframework.beans.factory.BeanCreationException:
> > > > > > > > Error creating bean with name '(inner bean)#3' defined in
> > > > > > > > class path resource [org/apache/cxf/frontend/spri
> > > > > > > > ng/servers.xml]: Instantiation of bean failed; nested
> > > > > > > > exception is
> > > > > > > > org.springframework.beans.BeanInstantiationException: Could
> > > > > > > > not instantiate bean class [org.apache.cxf.servi
> > > > > > > > ce.factory.HelloServiceProxyFactory]: Constructor threw
> > > > > > > > exception; nested exception is java.lang.Error: Unresolved
> > > > > > > > compilation problems: The import org.springframework.aop
> > > > > > > > cannot be resolved
> > > > > > > > 
> > > > > > > >         ProxyFactory cannot be resolved to a type
> > > > > > > >         
> > > > > > > >         at
> > 
> > org.springframework.beans.factory.support.AbstractAutowireCapableBe
> > 
> > > > > > > > anFa cto
> > > > > > > > ry.instantiateBean(AbstractAutowireCapableBeanFactory.java:88
> > > > > > > > 3) at
> > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCa
> > > > > > > > pableB eanF acto
> > > > > > > > ry.createBeanInstance(AbstractAutowireCapableBeanFactory.java
> > > > > > > > :839) at
> > 
> > org.springframework.beans.factory.support.AbstractAutowireCapableBe
> > 
> > > > > > > > anF acto
> > > > > > > > ry.doCreateBean(AbstractAutowireCapableBeanFactory.java:440)
> > > > > > > > at
> > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCa
> > > > > > > > pableB eanF acto
> > > > > > > > ry$1.run(AbstractAutowireCapableBeanFactory.java:409) at
> > > > > > > > java.security.AccessController.doPrivileged(Native Method)
> > > > > > > > at
> > > > > > > > org.springframework.beans.factory.support.AbstractAutowireCa
> > > > > > > > pableB eanFa cto
> > > > > > > > ry.createBean(AbstractAutowireCapableBeanFactory.java:380) at
> > > > > > > > org.springframework.beans.factory.support.BeanDefinitionValue
> > > > > > > > Resol ver.r eso
> > > > > > > > lveInnerBean(BeanDefinitionValueResolver.java:219) ...
> > 
> > 44
> > 
> > > > > > > > more Caused by:
> > > > > > > > org.springframework.beans.BeanInstantiationException: Could
> > > > > > > > not instantiate bean class
> > > > > > > > [org.apache.cxf.service.factory.HelloServiceProxyFactory]:
> > > > > > > > Constructor threw exception; nested exception is
> > > > > > > > java.lang.Error: Unresolved compilation problems: The import
> > > > > > > > org.springframework.aop cannot be resolved
> > > > > > > > 
> > > > > > > >         ProxyFactory cannot be resolved to a type
> > > > > > > >         
> > > > > > > >         at
> > 
> > org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java
> > 
> > > > > > > > :115 ) at
> > 
> > org.springframework.beans.factory.support.SimpleInstantiationStrate
> > 
> > > > > > > > gy.i nst antiate(SimpleInstantiationStrategy.java:61) at
> > 
> > org.springframework.beans.factory.support.AbstractAutowireCapableBe
> > 
> > > > > > > > anFa cto
> > > > > > > > ry.instantiateBean(AbstractAutowireCapableBeanFactory.java:87
> > > > > > > > 7) ... 50 more
> > > > > > > > 
> > > > > > > > Caused by: java.lang.Error: Unresolved compilation problems:
> > > > > > > >         The import org.springframework.aop cannot be resolved
> > > > > > > >         ProxyFactory cannot be resolved to a type
> > > > > > > >         
> > > > > > > >         at
> > 
> > org.apache.cxf.service.factory.HelloServiceProxyFactory.<init>(Hell
> > 
> > > > > > > > oSer vic eProxyFactory.java:21) at
> > > > > > > > sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > > > > > > > Method) at
> > 
> > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstru
> > 
> > > > > > > > cto rAcc essorImpl.java:39) at
> > 
> > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Delegatin
> > 
> > > > > > > > gCon str uctorAccessorImpl.java:27) at
> > > > > > > > java.lang.reflect.Constructor.newInstance(Constructor.java:51
> > > > > > > > 3) at
> > 
> > org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java
> > 
> > > > > > > > :100 ) ... 52 more
> > > > > > > > 
> > > > > > > > Results :
> > > > > > > > 
> > > > > > > > Tests in error:
> > > > > > > >   testServers(org.apache.cxf.frontend.spring.SpringBeansTest)
> > > > > > > > 
> > > > > > > > Tests run: 17, Failures: 0, Errors: 1, Skipped: 0
> > > > > > > > 
> > > > > > > > [INFO]
> > > > > > > > -------------------------------------------------------------
> > > > > > > > -----
> > 
> > -
> > 
> > > > > > > > ---- - [ERROR] BUILD FAILURE
> > > > > > > > [INFO]
> > > > > > > > -------------------------------------------------------------
> > > > > > > > -----
> > 
> > -
> > 
> > > > > > > > ---- - [INFO] There are test failures.
> > > > > > > > 
> > > > > > > > Please refer to
> > > > > > > > C:\Users\ggregory\b\svn\apache.org\cxf\branches\2.2.x-
> > 
> > fixes\rt\fron
> > 
> > > > > > > > tend \si mple\target\surefire-reports for the individual test
> > > > > > > > results. [INFO]
> > > > > > > > -------------------------------------------------------------
> > > > > > > > -----
> > 
> > -
> > 
> > > > > > > > --- -- [INFO] For more information, run Maven with the -e
> > > > > > > > switch [INFO]
> > > > > > > > -------------------------------------------------------------
> > > > > > > > -----
> > 
> > -
> > 
> > > > > > > > ---- - [INFO] Total time: 5 minutes 31 seconds
> > > > > > > > [INFO] Finished at: Thu Jul 15 18:10:02 PDT 2010
> > > > > > > > [INFO] Final Memory: 143M/322M
> > > > > > > > [INFO]
> > > > > > > > -------------------------------------------------------------
> > > > > > > > -----
> > 
> > -
> > 
> > > > > > > > ---- -
> > > > > > > > 
> > > > > > > > Gary Gregory
> > > > > > > > Senior Software Engineer
> > > > > > > > Seagull Software
> > > > > > > > email: [email protected]
> > > > > > > > email: [email protected]
> > > > > > > > www.seagullsoftware.com
> > > > > > > 
> > > > > > > --
> > > > > > > Daniel Kulp
> > > > > > > [email protected]
> > > > > > > http://dankulp.com/blog
> > > > > 
> > > > > --
> > > > > Daniel Kulp
> > > > > [email protected]
> > > > > http://dankulp.com/blog
> > > 
> > > --
> > > Daniel Kulp
> > > [email protected]
> > > http://dankulp.com/blog

-- 
Daniel Kulp
[email protected]
http://dankulp.com/blog

Reply via email to