1 package org.apache.maven.continuum.web.validator;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import com.opensymphony.xwork2.validator.ValidationException;
23 import com.opensymphony.xwork2.validator.validators.ValidatorSupport;
24
25 import java.net.MalformedURLException;
26 import java.net.URL;
27
28
29
30
31
32
33 public class WagonUrlValidator
34 extends ValidatorSupport
35 {
36
37 public void validate( Object object )
38 throws ValidationException
39 {
40 String url = (String) getFieldValue( "url", object );
41
42 if ( ( url == null ) || ( url.length() == 0 ) )
43 {
44 return;
45 }
46
47 if ( url.startsWith( "dav:" ) )
48 {
49 url = url.substring( 4 );
50 }
51
52 if ( ( url.startsWith( "scp://" ) ) || ( url.startsWith( "sftp://" ) ) )
53 {
54
55 url = "http://" + url.substring( url.indexOf( "://" ) + 3 );
56 }
57
58 try
59 {
60 new URL( url );
61 }
62 catch ( MalformedURLException m )
63 {
64 addFieldError( "url", object );
65 }
66 }
67 }