1 package org.apache.maven.scm.command;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.scm.CommandParameters;
23 import org.apache.maven.scm.ScmException;
24 import org.apache.maven.scm.ScmFileSet;
25 import org.apache.maven.scm.ScmResult;
26 import org.apache.maven.scm.provider.ScmProviderRepository;
27 import org.slf4j.Logger;
28 import org.slf4j.LoggerFactory;
29
30
31
32
33
34
35 public abstract class AbstractCommand
36 implements Command
37 {
38 protected Logger logger = LoggerFactory.getLogger( getClass() );
39
40 protected abstract ScmResult executeCommand( ScmProviderRepository repository, ScmFileSet fileSet,
41 CommandParameters parameters )
42 throws ScmException;
43
44
45 public final ScmResult execute( ScmProviderRepository repository, ScmFileSet fileSet, CommandParameters parameters )
46 throws ScmException
47 {
48 if ( repository == null )
49 {
50 throw new NullPointerException( "repository cannot be null" );
51 }
52
53 if ( fileSet == null )
54 {
55 throw new NullPointerException( "fileSet cannot be null" );
56 }
57
58 try
59 {
60 return executeCommand( repository, fileSet, parameters );
61 }
62 catch ( Exception ex )
63 {
64 throw new ScmException( "Exception while executing SCM command.", ex );
65 }
66 }
67 }