Dozer is a powerful, but simple Java Bean to Java Bean mapper that recursively copies data from one object to another.
Dozer supports simple property mapping, complex type mapping, bi-directional mapping, implicit-explicit mapping, as well as recursive mapping. This includes mapping collection attributes that also need mapping at the element level.
This is different from Bean utils, which copies the data recursively for the object which has the same property names. Bean-Utils has a restriction for working with complex data types.
Dozer tool can be found here
here’s some of the key advantages found on Dozer
- Can define the mapping / exlude mapping in a configuration mapping file.
- Support for Spring (tested Dozer 3.0/ 3.1 with Spring 2.0).
Recommanded Usage Scenario:
- Highly recommanded for the scenarios, where the usage of design patterns for Data Transfer Object (Dto) and Business Objects (Bo).
- For scenario of Data transfer from UI form elements to Data transfer objects (Dto).
Disadvantages for Dozer
- I used this tool under Java 5/ Spring 2.0. Dozer was instantiated using Spring. our architecture was like, all the business Objects (Bo) were placed in one project. Had a facade (facade has Dto) for a set of functionalitie. Now the problem was the definition of spring configuration for the dozer, as Dto and Bo were present in various projects, so this created a need for the definition spring configuration definition on a top level project than at leaf level.
Written by Ravi Nallakukkala on March 25th, 2007 with no comments.
Read more articles on Spring and Tools.
PHP Designer 2007 - Personal is a free IDE for PHP for both beginner- and professional developers. PHP Designer 2007 is designed to boost your productivity and enhance the process of editing, debugging, analyzing and publishing application- and Websites powered by PHP, HTML, MySQL, XML, CSS, JavaScript, VBScript, Java, C#, Perl, Python and Ruby.
Download PHP Designer 2007 - Personal Edition here
PHP Designer 2007 editor has a good class browser and debuger for PHP, to have the debugger enabled you need have php installed in your machine (tested with PHP Designer 2007 - Personal 5.0.2 and php5.2.1).
Not satisfied with this editor, never mind. Click here for some more list of PHP Editors.
Written by Ravi Nallakukkala on March 25th, 2007 with no comments.
Read more articles on Editors.
Need less to say this is a extreamly popular free java editor, http://www.eclipse.org/
WSAD/ RSA 6.x are based on Eclipse technology.
Please look here for any Eclipse plugins
Written by Ravi Nallakukkala on March 25th, 2007 with no comments.
Read more articles on Editors.
You can use “for each” java syntax for iterating through the arrays, probably you are already aware you can definitely use for each syntax for iterating over classes implementing iterator.
here’s an example for iterating a array using for each syntax
public class test{
public static void main(String[]arg){
String []arr = new String[]{”one”,”two”};
for(String each: arr) System.out.println(each);
}
}
Output:
one
two
Written by Ravi Nallakukkala on March 25th, 2007 with no comments.
Read more articles on Java/ J2EE.
Environment Maven 2.0/ Windows XP/ Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_09-b03)
I had a peculiar problem with Maven 2.0, my builds were working fine and one fine monday morning, I got a problem
Caused by: java.lang.RuntimeException: Not a valid URL: file:/C:/Documents and Settings/rnallakukkala/.m2
/repository/com/dpwn/newops/server/core/model/1.0-SNAPSHOT/model- 1.0-SNAPSHOT.jar
at org.jboss.util.file.ArchiveBrowser.getBrowser(Unknown Source)
at org.hibernate.ejb.Ejb3Configuration.scanForClasses(Ejb3Configuration.java:588)
… 75 more
Caused by: java.net.URISyntaxException : Illegal character in path at index 18: file:/C:/Documents and Settings/rnallakukkala/.m2/repository/com/dpwn/newops/server/core/model/1.0-SNAPSHOT/model-1.0-SNAPSHOT.jar
at java.net.URI$Parser.fail(URI.java:2816)
at java.net.URI$Parser.checkChars(URI.java:2989)
at java.net.URI$Parser.parseHierarchical(URI.java:3073)
at java.net.URI$Parser.parse(URI.java:3021)
at java.net.URI.<init>(URI.java:578)
when trying to look for a dependency jar (this dependency jar is available in my local repository)
Additional Information for this problem
- Found that this problem has been reported to maven here
- Root problem is that there is a space in the maven repository path location.
- Related bug has been raised in Java here, unfortunately closed as “will not be fixed”.
Solution
- Change the local repository location to a different path without spaces.
Configuring your Local Repository
- You can specify your user configuration in ${user.home}/.m2/settings.xml
- Location can be modified through the following configuration changes (to the above file)
<settings>
...
<localRepository>/path/to/local/repo/</localRepository>
...
</settings>
Written by Ravi Nallakukkala on March 25th, 2007 with no comments.
Read more articles on Build.
Advantages:
- Hibernate Beans are easier to implement since you don’t need any interface coding.
- Queries can be dynamic and perform faster (at least on WebLogic and JBoss)
- Hibernate offers a more object-oriented approach. You can map is-a relationships as subclasses.
- For data transfer you can use Hibernate Beans as DTOs if you want (and if it’s applicable). You can even fill ‘custom’ DTOs with query results just with one line of code using the select-new construct.
Disadvantages:
- Hibernate Beans are not automatically ‘locked’ for others while used during a transaction. This can lead to inconsistent data when more clients concurrently modify the same data.
-Object Pooling is an Issue
Written by Ravi Nallakukkala on March 25th, 2007 with no comments.
Read more articles on Hibernate and Java/ J2EE.