View Javadoc
1   /**
2    * Copyright 2004-2014 The Kuali Foundation
3    *
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    * http://www.opensource.org/licenses/ecl2.php
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package org.kuali.student.mock.mojo;
17  
18  import java.util.ArrayList;
19  import java.util.HashMap;
20  import java.util.List;
21  import java.util.Map;
22  
23  import org.apache.maven.plugin.MojoExecutionException;
24  import org.apache.maven.plugin.MojoFailureException;
25  import org.apache.maven.project.MavenProject;
26  import org.kuali.student.admin.ui.mojo.KSCreateAdminUiMojo;
27  import org.kuali.student.common.mojo.AbstractKSMojo;
28  import org.kuali.student.contract.model.ServiceContractModel;
29  import org.kuali.student.contract.model.impl.ServiceContractModelPescXsdLoader;
30  import org.kuali.student.contract.model.util.ServicesFilterByKeys;
31  import org.slf4j.Logger;
32  import org.slf4j.LoggerFactory;
33  
34  /**
35   *
36   * @author nwright
37   * 
38   *  @goal kscreatemock
39   *  @phase site
40   *  @requiresProject true
41   */
42  public class KSCreateMockImplMojo extends AbstractKSMojo {
43  
44      private static Logger log = LoggerFactory.getLogger(KSCreateMockImplMojo.class);
45      
46      public KSCreateMockImplMojo() {
47      }
48   
49      private String targetDir;
50  
51      public String getTargetDir() {
52          return targetDir;
53      }
54  
55      public void setTargetDir(String targetDir) {
56          this.targetDir = targetDir;
57      }
58      
59      
60      
61      @Override
62  	public void execute() throws MojoExecutionException, MojoFailureException {
63          ServiceContractModel model = getModel();
64          validate(model);
65          if (targetDir == null) {
66              targetDir = "target/generated-mock-impls";
67          }
68          List<String> servKeys = new ArrayList<String>();
69  //        servKeys.add("AcademicCalendar");
70          servKeys.add("AcademicRecord");
71  //        servKeys.add("Appointment");
72  //        servKeys.add("Atp");
73  //        servKeys.add("BatchJobResult");
74  //        servKeys.add("Clu");
75  //        servKeys.add("Comment");
76  //        servKeys.add("CourseOffering");
77  //        servKeys.add("CourseOfferingSet");
78  //        servKeys.add("CourseRegistration");
79  //        servKeys.add("Course");
80  //        servKeys.add("CourseWaitlist");
81  //        servKeys.add("DataDictionary");
82  //        servKeys.add("Document");
83  //        servKeys.add("EnumerationManagement");
84  //        servKeys.add("Exemption");
85  //        servKeys.add("Fee");
86  //        servKeys.add("Grading");
87  //        servKeys.add("Hold");
88  //        servKeys.add("LRC");
89  //        servKeys.add("LearningObjective");
90  //        servKeys.add("LearningResultRecord");
91  //        servKeys.add("LprRoster");
92  //        servKeys.add("Lpr");
93  //        servKeys.add("Lui");
94  //        servKeys.add("Message");
95  //        servKeys.add("Organization");
96  //        servKeys.add("Population");
97  //        servKeys.add("Process");
98  //        servKeys.add("Program");
99  //        servKeys.add("Proposal");
100 //        servKeys.add("Room");
101 //        servKeys.add("Scheduling");
102 //        servKeys.add("Search");
103 //        servKeys.add("State");
104 //        servKeys.add("Statement");
105 //        servKeys.add("Type");
106 //        servKeys.add("VersionManagement");
107 //        servKeys.add("Type");
108 //        servKeys.add("State");
109 //        servKeys.add("RICE.Permission");
110 //        servKeys.add("RICE.Role");
111         ServicesFilterByKeys filter = new ServicesFilterByKeys(servKeys);
112         boolean isR1 = false;
113         MockImplWriter instance =
114                 new MockImplWriter(model,
115                 targetDir,
116                 MockImplWriter.ROOT_PACKAGE,
117                 filter,
118                 isR1);
119         instance.write();
120 
121     }
122     
123     
124     
125     private static final String CORE_DIRECTORY = "D:/svn/ks/services/ks-api/ks-core-api/src/main";
126     // "C:/svn/maven-dictionary-generator/trunk/src/main/java/org/kuali/student/core";
127     private static final String COMMON_DIRECTORY = "D:/svn/ks/services/ks-api/ks-common-api/src/main/java";
128     private static final String ENROLL_DIRECTORY = "D:/svn/ks/services/ks-api/ks-enroll-api/src/main/java";
129     private static final String LUM_DIRECTORY = "D:/svn/ks/services/ks-api/ks-lum-api/src/main/java";
130     private static final String RICE_CORE_API_DIRECTORY = "D:/svn/rice/rice-2.2.0/core/api/src/main/java";
131     private static final String RICE_KIM_API_DIRECTORY = "D:/svn/rice/rice-2.2.0/kim/kim-api/src/main/java";
132     private static final String RICE_KRMS_API_DIRECTORY = "D:/svn/rice/rice-2.2.0/krms/api/src/main/java";
133     private static final String TEST_SOURCE_DIRECTORY =
134             "src/test/java/org/kuali/student/contract/model/test/source";
135     private static final String TARGET_GENERATED_SOURCES = "target/generated-sources";
136     private static final String STANDALONE_MAIN_DIRECTORY = "D:/svn/ks/ks-standalone-admin-app/src/main";
137     private static final String SERVICES_ENROLL_IMPL = "D:/svn/ks/services/ks-enroll/ks-enroll-impl/src/main/java";
138     private static final String CM_CORE_API = "D:/svn/ks/CM-2.0/ks-api/ks-core-api/src/main/java";
139     private static final String TRUNK_CORE_IMPL = "D:/svn/ks/trunk/ks-core/ks-core-impl/src/main/java";
140     private static final String TRUNK_ENROLL_IMPL = "D:/svn/ks/trunk/ks-enroll/ks-enroll-impl/src/main/java";
141     private static final String BC_INTEGRATION_FMS_UTIL = "D:/svn/BCAll/Student/trunk/BC-KS-Integrations/bc-integration-master/bc-ksa-fms-integration/src/main/java";
142     private static final String TRUNK_ENROLL_IMPL_KRMS_API = "D:/svn/ks/trunk/ks-enroll/ks-enroll-impl/src/main/java/org/kuali/rice/krms/api";
143                                                    
144 
145     public static void main(String[] args) {
146         log.info("execute");
147         List<String> srcDirs = new ArrayList<String>();
148         srcDirs.add(COMMON_DIRECTORY);
149         srcDirs.add(CORE_DIRECTORY);
150         srcDirs.add(LUM_DIRECTORY);
151         srcDirs.add(ENROLL_DIRECTORY);
152 //        srcDirs.add(RICE_KIM_API_DIRECTORY);
153 //        srcDirs.add(RICE_CORE_API_DIRECTORY);
154 //        srcDirs.add(RICE_KRMS_API_DIRECTORY);
155 //        srcDirs.add(TRUNK_ENROLL_IMPL_KRMS_API);
156         KSCreateMockImplMojo instance = new KSCreateMockImplMojo();
157         Map pluginContext = new HashMap();
158         MavenProject project = new MavenProject();
159         pluginContext.put("project", project);
160         instance.setPluginContext(pluginContext);
161         instance.setSourceDirs(srcDirs);
162 //        instance.setTargetDir(SERVICES_ENROLL_IMPL);
163 //        instance.setTargetDir(CM_CORE_API);
164         instance.setTargetDir(BC_INTEGRATION_FMS_UTIL);
165         try {
166             instance.execute();
167             //        assertTrue(new File(instance.getOutputDirectory() + "/" + "ks-LprInfo-dictionary.xml").exists());  
168         } catch (MojoExecutionException ex) {
169             throw new RuntimeException(ex);
170         } catch (MojoFailureException ex) {
171             throw new RuntimeException(ex);
172         }
173     }
174 }