Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.estgweb.domain.utils;
import java.io.*;
import java.text.MessageFormat;
import java.util.List;
import java.util.ArrayList;
/**
* User: Jorge Machado machadofisher@gmail.com
* Date: 24/Mai/2007
* Time: 21:46:31
* To change this template use File | Settings | File Templates.
*/
public class BuildMappings
{
public static void writeFileFromString
(1.5.0/docs/api/java/lang/String.html">String str,
1.5.0/docs/api/java/lang/String.html">String location
) throws 1.5.0/docs/api/java/io/IOException.html">IOException {
try{
1.5.0/docs/api/java/io/FileWriter.html">FileWriter fw =
new 1.5.0/docs/api/java/io/FileWriter.html">FileWriter(location
);
fw.
write(str
);
fw.
close();
}catch(1.5.0/docs/api/java/io/IOException.html">IOException e
)
{
throw e
;
}
}
public static 1.5.0/docs/api/java/lang/String.html">String getNoComentData
(1.5.0/docs/api/java/lang/String.html">String fileName,
1.5.0/docs/api/java/lang/String.html">String encoding
) throws 1.5.0/docs/api/java/lang/Exception.html">Exception
{
1.5.0/docs/api/java/lang/StringBuffer.html">StringBuffer contentBuffer =
new 1.5.0/docs/api/java/lang/StringBuffer.html">StringBuffer();
try{
// Read in template
1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader reader =
new 1.5.0/docs/api/java/io/BufferedReader.html">BufferedReader(new 1.5.0/docs/api/java/io/InputStreamReader.html">InputStreamReader(new 1.5.0/docs/api/java/io/FileInputStream.html">FileInputStream(fileName
),encoding
));
//BufferedReader reader = new BufferedReader(new FileReader(fileName));
boolean more =
true;
while (more
)
{
1.5.0/docs/api/java/lang/String.html">String line = reader.
readLine();
if (line==
null)
{
more =
false;
}
else if(!line.
startsWith("#"))
{
// Add non-comment lines to the content
contentBuffer.
append(line
);
contentBuffer.
append("\n");
}
}
}
catch(1.5.0/docs/api/java/lang/Exception.html">Exception e
)
{
throw new 1.5.0/docs/api/java/lang/Exception.html">Exception("getNoCommentData",e
);
}
return contentBuffer.
toString();
}
/**
*
* @param args [src.dir; hibernateCfgXml; build.dir]
* @throws Exception
*/
public static void main
(1.5.0/docs/api/java/lang/String.html">String[]args
) throws 1.5.0/docs/api/java/lang/Exception.html">Exception
{
1.5.0/docs/api/java/lang/String.html">String mappingXml =
"";
1.5.0/docs/api/java/lang/String.html">String buildDir = args
[0].
replace('/',
1.5.0/docs/api/java/io/File.html">File.
separatorChar);
1.5.0/docs/api/java/lang/String.html">String hibernateCfgXml = args
[1].
replace('/',
1.5.0/docs/api/java/io/File.html">File.
separatorChar);
1.5.0/docs/api/java/lang/String.html">String packageDir = args
[2
];
1.5.0/docs/api/java/lang/String.html">String encoding =
"ISO-8859-1";
if(args.
length > 3
)
encoding = args
[3
];
mappingXml = buildDir
(buildDir,packageDir
);
5+0%2Fdocs%2Fapi+List">List text =
new 1.5.0/docs/api/java/util/ArrayList.html">ArrayList();
text.
add(mappingXml
);
1.5.0/docs/api/java/lang/String.html">String fileStr =
1.5.0/docs/api/java/text/MessageFormat.html">MessageFormat.
format(getNoComentData
(hibernateCfgXml,encoding
),text.
toArray());
writeFileFromString
(fileStr,buildDir +
"/" +
new 1.5.0/docs/api/java/io/File.html">File(hibernateCfgXml
).
getName());
}
public static 1.5.0/docs/api/java/lang/String.html">String buildDir
(1.5.0/docs/api/java/lang/String.html">String path,
1.5.0/docs/api/java/lang/String.html">String packageDirDest
)
{
1.5.0/docs/api/java/lang/String.html">String mappingXml =
"";
1.5.0/docs/api/java/io/File.html">File dir =
new 1.5.0/docs/api/java/io/File.html">File(path
);
1.5.0/docs/api/java/io/File.html">File[] files = dir.
listFiles();
for(int i =
0; i
< files.
length; i++
)
{
1.5.0/docs/api/java/io/File.html">File file = files
[i
];
if(file.
isDirectory())
mappingXml += buildDir
(path +
"/" + file.
getName(), packageDirDest +
"/" + file.
getName() +
"/");
else
{
if(file.
getName().
endsWith("hbm.xml"))
{
mappingXml = mappingXml.
concat("\t\t<mapping resource=\"" + packageDirDest + files
[i
].
getName() +
"\"/>\n");
}
}
}
return mappingXml
;
}
}