View Javadoc

1   /*
2    * Copyright 2009 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.osedu.org/licenses/ECL-2.0
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.contract.command.run;
17  
18  import java.util.ArrayList;
19  import java.util.Collection;
20  import java.util.List;
21  
22  import org.kuali.student.contract.model.ServiceContractModel;
23  import org.kuali.student.contract.model.impl.ServiceContractModelCache;
24  import org.kuali.student.contract.model.impl.ServiceContractModelQDoxLoader;
25  import org.kuali.student.contract.model.validation.ServiceContractModelValidator;
26  import org.kuali.student.contract.writer.service.PureJavaInfcWriter;
27  
28  /**
29   *
30   * @author nwright
31   */
32  public class PureJavaInterfaceWriterRun {
33  
34      public PureJavaInterfaceWriterRun() {
35      }
36      private static final String CORE_DIRECTORY =
37              "C:/svn/student/ks-core/ks-core-api/src/main/java";
38      private static final String ENROLL_DIRECTORY =
39              "C:/svn/ks-1.3-services/ks-enroll/ks-enroll-api/src/main/java";
40  //                           "C:/svn/maven-dictionary-generator/trunk/src/main/java/org/kuali/student/core";
41      private static final String COMMON_DIRECTORY =
42              "C:/svn/student/ks-common/ks-common-api/src/main/java";
43      private static final String LUM_DIRECTORY =
44              "C:/svn/student/ks-lum/ks-lum-api/src/main/java";
45  
46      private static ServiceContractModel getModel() {
47          List<String> srcDirs = new ArrayList();
48          srcDirs.add(ENROLL_DIRECTORY);
49          ServiceContractModel instance = new ServiceContractModelQDoxLoader(srcDirs);
50          return new ServiceContractModelCache(instance);
51      }
52  
53      private static void validate(ServiceContractModel model) {
54          Collection<String> errors =
55                  new ServiceContractModelValidator(model).validate();
56          if (errors.size() > 0) {
57              StringBuffer buf = new StringBuffer();
58              buf.append(errors.size() + " errors found while validating the data.");
59              int cnt = 0;
60              for (String msg : errors) {
61                  cnt++;
62                  buf.append("\n");
63                  buf.append("*error*" + cnt + ":" + msg);
64              }
65  
66              throw new IllegalArgumentException(buf.toString());
67          }
68      }
69  
70      public static void main(String[] args) {
71          ServiceContractModel model = getModel();
72          validate(model);
73  //   List<String> servicesToProcess = new ArrayList ();
74  //   servicesToProcess.add ("atp");
75  //   servicesToProcess.add ("lu");
76  //   servicesToProcess.add ("lo");
77  //   servicesToProcess.add ("organization");
78  //   servicesToProcess.add ("proposal");
79  ////   servicesToProcess.add ("comment");
80  //   servicesToProcess.add ("dictionary");
81  //   servicesToProcess.add ("document");
82  //   servicesToProcess.add ("enumerable");
83  //   servicesToProcess.add ("search");
84  //   ServicesFilter filter = new ServicesFilterByKeys (servicesToProcess);
85          String targetDir = "target/gen-src";
86  //  targetDir = "src/main/java";
87          PureJavaInfcWriter instance =
88                  new PureJavaInfcWriter(model,
89                  targetDir,
90                  PureJavaInfcWriter.DEFAULT_ROOT_PACKAGE,
91                  null);
92          instance.write();
93  
94      }
95  }