001    /*
002     * Copyright 2011 The Kuali Foundation
003     *
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may      obtain a copy of the License at
007     *
008     *      http://www.osedu.org/licenses/ECL-2.0
009     *
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.student.datadictionary.mojo;
017    
018    import java.io.File;
019    import java.util.ArrayList;
020    import java.util.HashMap;
021    import java.util.List;
022    import java.util.Map;
023    import org.apache.maven.project.MavenProject;
024    import org.junit.After;
025    import org.junit.AfterClass;
026    import org.junit.Before;
027    import org.junit.BeforeClass;
028    import org.junit.Test;
029    
030    /**
031     *
032     * @author nwright
033     */
034    public class KSDictionaryCreatorMojoTest {
035    
036        private static final String CORE_DIRECTORY =
037                "C:/svn/ks-1.3/ks-core/ks-core-api/src/main/java";
038        // "C:/svn/maven-dictionary-generator/trunk/src/main/java/org/kuali/student/core";
039        private static final String COMMON_DIRECTORY =
040                "C:/svn/ks-1.3/ks-common/ks-common-api/src/main/java";
041        private static final String ENROLL_PROJECT_SRC_MAIN = "C:/svn/ks-1.3/ks-enroll/ks-enroll-api/src/main";
042        private static final String ENROLL_PROJECT_JAVA_DIRECTORY = ENROLL_PROJECT_SRC_MAIN + "/java";
043        private static final String ENROLL_PROJECT_RESOURCES_DIRECTORY = ENROLL_PROJECT_SRC_MAIN + "/resources";
044        private static final String LUM_DIRECTORY =
045                "C:/svn/ks-1.3/ks-lum/ks-lum-api/src/main/java";
046        private static final String RICE_DIRECTORY =
047                "C:/svn/rice/rice-release-1-0-2-1-br/api/src/main/java";
048        private static final String TEST_SOURCE_DIRECTORY =
049                "src/test/java/org/kuali/student/contract/model/test/source";
050        private static final String TARGET_GENERATED_SOURCES = "target/generated-sources";
051        private static final String RESOURCES_DIRECTORY =
052                // "C:/svn/student/ks-core/ks-core-api/src/main/java";
053                "src/main/resources";
054        private static final String PESC_CORE_MAIN = RESOURCES_DIRECTORY
055                + "/CoreMain_v1.8.0.xsd";
056    
057        public KSDictionaryCreatorMojoTest() {
058        }
059    
060        @BeforeClass
061        public static void setUpClass() throws Exception {
062        }
063    
064        @AfterClass
065        public static void tearDownClass() throws Exception {
066        }
067    
068        @Before
069        public void setUp() {
070        }
071    
072        @After
073        public void tearDown() {
074        }
075    
076        /**
077         * Test of execute method, of class KSDictionaryCreatorMojo.
078         */
079        @Test
080        public void testExecute() throws Exception {
081            System.out.println("execute");
082            List<String> srcDirs = new ArrayList<String>();
083            srcDirs.add(TEST_SOURCE_DIRECTORY);
084    //        srcDirs.add(ENROLL_PROJECT_JAVA_DIRECTORY);
085            
086    //              srcDirs.add(CORE_DIRECTORY);
087    //              srcDirs.add(COMMON_DIRECTORY);
088    //              srcDirs.add(LUM_DIRECTORY);
089            KSDictionaryCreatorMojo instance = new KSDictionaryCreatorMojo();
090            Map pluginContext = new HashMap ();
091            MavenProject project = new MavenProject ();
092            pluginContext.put("project", project);
093            instance.setPluginContext(pluginContext);
094            instance.setSourceDirs(srcDirs);
095            instance.setOutputDirectory(new File(TARGET_GENERATED_SOURCES)); 
096    //        instance.setOutputDirectory(new File(ENROLL_PROJECT_RESOURCES_DIRECTORY));
097            // Be careful when you uncomment this one it will overwrite stuff in another project
098    //        instance.setOutputDirectory(new File(ENROLL_PROJECT_RESOURCES_DIRECTORY));
099            instance.setWriteManual(true);
100            instance.setWriteGenerated(true);
101            instance.setThrowExceptionIfNotAllFilesProcessed(false);
102            List<String> classNames = new ArrayList();
103            // Atp
104    //        classNames.add("AtpInfo");
105    //        classNames.add("MilestoneInfo");
106    //        classNames.add("AtpMilestoneRelationInfo");
107    //        classNames.add("AtpAtpRelationInfo");
108    //        // Acal
109    //        classNames.add("AcademicCalendarInfo");
110    //        classNames.add("CampusCalendarInfo");
111    //        classNames.add("TermInfo");
112    //        classNames.add("RegistrationDateGroupInfo");
113    //        classNames.add("HolidayInfo");
114    //        classNames.add("KeyDateInfo");
115    //        // LPR 
116    //        classNames.add("LuiPersonRelationInfo");
117    //        classNames.add("LprRosterInfo");
118    //        classNames.add("LprRosterEntryInfo");
119    //        classNames.add("LprTransactionInfo");
120    //        classNames.add("LprTransactionItemInfo");
121    //        classNames.add("RequestOptionInfo");
122    //        classNames.add("LprTransactionItemResultInfo");
123    //        // Hold
124    //        classNames.add("HoldInfo");
125    //        classNames.add("IssueInfo");
126    //        classNames.add("RestrictionInfo");
127    //        // LUI 
128    //        classNames.add("LuiInfo");
129    //        classNames.add("LuiIdentifierInfo");
130    //        classNames.add("LuCodeInfo");
131    //        classNames.add("FeeInfo");
132    //        classNames.add("CurrencyAmountInfo");
133    //        classNames.add("RevenueInfo");
134    //        classNames.add("AffiliatedOrgInfo");
135    //        classNames.add("MeetingScheduleInfo");
136    //        classNames.add("LuiLuiRelationInfo");
137    //        classNames.add("LuiCapacityInfo");
138            
139    //        // Course Offering
140    //        classNames.add("CourseOfferingInfo");
141    //        classNames.add("CourseWaitlistEntryInfo");
142    //        classNames.add("OfferingInstructorInfo");
143    //        classNames.add("ActivityOfferingInfo");
144    //        classNames.add("RegistrationGroupInfo");
145    //        classNames.add("SeatPoolDefinitionInfo");
146    //        classNames.add("StatementTreeViewInfo");
147    //        classNames.add("ReqComponentInfo");
148    //        classNames.add("ReqCompFieldInfo");
149    
150    //        // Course registration
151    //        classNames.add("CourseRegistrationInfo");
152    //        classNames.add("ActivityRegistrationInfo");
153    //        classNames.add("RegGroupRegistrationInfo");
154    //        classNames.add("RegRequestInfo");
155    //        classNames.add("RegRequestItemInfo");
156    //        classNames.add("RegResponseInfo");
157    //        classNames.add("RegResponseItemInfo");
158    //
159    //          // Exemption
160    //        classNames.add("ExemptionInfo");
161    //        classNames.add("ExemptionRequestInfo");
162    //
163    //        // Grading
164    //        classNames.add("GradeRosterInfo");
165    //        classNames.add("GradeRosterEntryInfo");
166    //        classNames.add("GradeValuesGroupInfo"); 
167    //        
168    //        // LRR
169    //        classNames.add("LearningResultRecordInfo");
170    //        classNames.add("ResultSourceInfo");       
171    //        
172    //        // LRC
173    //        classNames.add("ResultValuesGroupInfo");
174    //        classNames.add("ResultValueInfo");     
175    //        classNames.add("ResultScaleInfo"); 
176            
177            instance.execute();
178    //        assertTrue(new File(instance.getOutputDirectory() + "/" + "ks-LprInfo-dictionary.xml").exists());
179        }
180    }