Everything Java Apache Geospatial Open Source. Hello Shinning Stars!!! Vincent Massol, Raphael Luta, Santiago Gala, Carsten Z.

Thursday, February 26, 2004

When creating DAOs think about using the Statement method setNull if one of the properties of the DTO is null.
Today my lucky NUMBER is 1957.
EVEN HIGHLY EXPERIENCE DEVELOPERS HAVE TROUBLE WITH DECOUPLING TWO OR MORE RESOURCES FROM ONE ANOTHER. A simple example of this is a developer that uses Eclipse to execute a Java class has a hard time creating the batch or shell script which calls Java and the class desired.

Wednesday, February 25, 2004

Try not to use the notion of a type anywhere in your application. Type means special case and special cases are venerable to coding bugs. I've seen an argument sent to a method which mean which type of action to execute. The two types were "C" for create "M" for modify. The create worked fine but the modify took the same arguments as create including unique identifiers. This means that the identifiers could be modified, queer behavior.
This exception was produced while running a web service test. The error message is very ambiguous, it means that a string length exceeds the size of the corresponding column.



java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Les données chaîne ou binaires seront tronquées.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeUpdateInternal(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.executeUpdate(Unknown Source)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:207)
at com.acadomia.sea.daoext.jdbcext.AvoirDao_ImplExt.insert(AvoirDao_ImplExt.java:167)
at com.acadomia.sea.logic.avoir.AvoirLogic.doInsertAvoir(AvoirLogic.java:32)
at com.acadomia.sea.webservice.server.avoir.Avoir.createOrModifyAvoir(Avoir.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2416)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:601)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:536)

Tuesday, February 24, 2004

Struts-upload web application can upload files. Tomcat manager can disable and enable the struts-upload web application.
Tomcat manager can List Web Applications.
I am looking for the shortest availible domain name.
Refactoring is an art. Try doing it for an xml parser. If you want to change the name of a tag for example. The corresponding method which parses the tag must change and the object that contains the data for that tag and so on. Eclipse does the latter part of this example but a major problem with the Eclipse 3 that I use lies in the compliation and refresh of a project. It takes tons of time.

Monday, February 23, 2004

A menu in the form of tree can have parent nodes that don't contain links.


Some developers program fast but don't think much about it. I am the opposite. I think much more about a problem and find a solution that doesn't need to be changed very often.


Logic should be packaged in a logical way with respect to the functionality of the application.

Tuesday, February 17, 2004

I like this ant task, the idea being to use a xsl style sheet to transform an xml document. This could be done to convert a firestorm xml into a clay model.


 <target name="do-style">

  <style in="try-model.xmi"

   out="try-model-20031009.xmi"

   style="poseidon-2.xsl"

   force="no">

  </style>

 </target>


This example transforms a poseidon2 xmi into a poseidon1 xmi to support a version of AndroMDA which was not compatable with poseidon2.

Friday, February 13, 2004

Installing a development platform for Geronimo using Eclipse


1. Window > Open Perspective > [Other...] > CVS Repository Exploring

2. Connect to CVS and right click on incubator-geronimo

Tuesday, February 03, 2004

Search results for 'gml'
Consider this security advice. User A wants to lock the data to an object in a persistant database. User B attempts to change the data. What does the implementation look like. Let's call this Data locking and add it to our list of web application patterns one considers when doing the architecture.


Data locking, Security with Realms, Tab pane taglib, Security taglibs, Internationalization, Session management, Handling dates, Web service daemons, Web context listeners, Menu taglibs or Struts menu, Reporting, GIS web service, Struts action delegates, Performance, Multiple VMs Tomcats, Load balancing, Distributed computing machines, Race conditions, URL rewriting, Cookie management.