You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2013/09/26 23:06:07 UTC
svn commit: r1526683 -
/cxf/branches/2.7.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractCodegenMoho.java
Author: dkulp
Date: Thu Sep 26 21:06:06 2013
New Revision: 1526683
URL: http://svn.apache.org/r1526683
Log:
Merged revisions 1526680 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1526680 | dkulp | 2013-09-26 17:00:39 -0400 (Thu, 26 Sep 2013) | 2 lines
[CXF-5286] Use a hash of the URL for the marker file to keep file name shorter and also allow for all kinds of funky characters.
........
Modified:
cxf/branches/2.7.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractCodegenMoho.java
Modified: cxf/branches/2.7.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractCodegenMoho.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractCodegenMoho.java?rev=1526683&r1=1526682&r2=1526683&view=diff
==============================================================================
--- cxf/branches/2.7.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractCodegenMoho.java (original)
+++ cxf/branches/2.7.x-fixes/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/AbstractCodegenMoho.java Thu Sep 26 21:06:06 2013
@@ -26,6 +26,7 @@ import java.net.Authenticator;
import java.net.PasswordAuthentication;
import java.net.URI;
import java.net.URL;
+import java.security.MessageDigest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -609,17 +610,27 @@ public abstract class AbstractCodegenMoh
protected File getDoneFile(URI basedir, URI wsdlURI, String mojo) {
String doneFileName = wsdlURI.toString();
- // Strip the basedir from the doneFileName
- if (doneFileName.startsWith(basedir.toString())) {
- doneFileName = doneFileName.substring(basedir.toString().length());
- }
-
- // If URL to WSDL, replace ? and & since they're invalid chars for file names
- // Not to mention slashes.
- doneFileName = doneFileName.replace('?', '_').replace('&', '_').replace('/', '_').replace('\\', '_')
- .replace(':', '_');
- return new File(markerDirectory, "." + doneFileName + "." + mojo + ".DONE");
+ try {
+ MessageDigest cript = MessageDigest.getInstance("SHA-1");
+ cript.reset();
+ cript.update(doneFileName.getBytes("utf8"));
+ doneFileName = new javax.xml.bind.annotation.adapters.HexBinaryAdapter().marshal(cript.digest());
+ } catch (Exception e) {
+ //ignore,we'll try and fake it based on the wsdl
+
+ // Strip the basedir from the doneFileName
+ if (doneFileName.startsWith(basedir.toString())) {
+ doneFileName = doneFileName.substring(basedir.toString().length());
+ }
+ // If URL to WSDL, replace ? and & since they're invalid chars for file names
+ // Not to mention slashes.
+ doneFileName = doneFileName.replace('?', '_').replace('&', '_').replace('/', '_').replace('\\', '_')
+ .replace(':', '_');
+ doneFileName += ".DONE";
+ }
+
+ return new File(markerDirectory, "." + doneFileName);
}
protected abstract File getGeneratedSourceRoot();