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.contract.mojo;
017    
018    import java.io.File;
019    import java.util.ArrayList;
020    import java.util.List;
021    import org.junit.After;
022    import org.junit.AfterClass;
023    import org.junit.Before;
024    import org.junit.BeforeClass;
025    import org.junit.Test;
026    import static org.junit.Assert.*;
027    /**
028     *
029     * @author nwright
030     */
031    public class KSDictionaryCreatorMojoTest {
032    
033        private static final String CORE_DIRECTORY =
034                "C:/svn/ks-1.3/ks-core/ks-core-api/src/main/java";
035        // "C:/svn/maven-dictionary-generator/trunk/src/main/java/org/kuali/student/core";
036        private static final String COMMON_DIRECTORY =
037                "C:/svn/ks-1.3/ks-common/ks-common-api/src/main/java";
038        private static final String ENROLL_SRC_MAIN = "C:/svn/ks-1.3/ks-enroll/ks-enroll-api/src/main";
039        private static final String ENROLL_JAVA_DIRECTORY = ENROLL_SRC_MAIN + "/java";
040        private static final String ENROLL_RESOURCES_DIRECTORY = ENROLL_SRC_MAIN + "/resources";
041        ;      
042        private static final String LUM_DIRECTORY =
043                "C:/svn/ks-1.3/ks-lum/ks-lum-api/src/main/java";
044        private static final String RICE_DIRECTORY =
045                "C:/svn/rice/rice-release-1-0-2-1-br/api/src/main/java";
046        private static final String TEST_SOURCE_DIRECTORY =
047                "src/test/java/org/kuali/student/contract/model/test/source";
048        private static final String XML_DICTIONARY_DIRECTORY = "target/xml/dictionary";
049        private static final String RESOURCES_DIRECTORY =
050                // "C:/svn/student/ks-core/ks-core-api/src/main/java";
051                "src/main/resources";
052        private static final String PESC_CORE_MAIN = RESOURCES_DIRECTORY
053                + "/CoreMain_v1.8.0.xsd";
054    
055        public KSDictionaryCreatorMojoTest() {
056        }
057    
058        @BeforeClass
059        public static void setUpClass() throws Exception {
060        }
061    
062        @AfterClass
063        public static void tearDownClass() throws Exception {
064        }
065    
066        @Before
067        public void setUp() {
068        }
069    
070        @After
071        public void tearDown() {
072        }
073    
074        /**
075         * Test of execute method, of class KSDictionaryCreatorMojo.
076         */
077        @Test
078        public void testExecute() throws Exception {
079            System.out.println("execute");
080            List<String> srcDirs = new ArrayList<String>();
081    //        srcDirs.add(TEST_SOURCE_DIRECTORY);
082            srcDirs.add(ENROLL_JAVA_DIRECTORY);
083    //              srcDirs.add(CORE_DIRECTORY);
084    //              srcDirs.add(COMMON_DIRECTORY);
085    //              srcDirs.add(LUM_DIRECTORY);
086            KSDictionaryCreatorMojo instance = new KSDictionaryCreatorMojo();
087            instance.setSourceDirs(srcDirs);
088            instance.setOutputDirectory(new File (XML_DICTIONARY_DIRECTORY)); 
089            // Be careful when you uncomment this one 
090    //        instance.setOutputDirectory(new File(ENROLL_RESOURCES_DIRECTORY));
091            instance.setWriteManual(true);
092            instance.setWriteGenerated(false);
093            List<String> classNames = new ArrayList();
094            // Atp
095            classNames.add("AtpInfo");
096            classNames.add("MilestoneInfo");
097            classNames.add("AtpMilestoneRelationInfo");
098            classNames.add("AtpAtpRelationInfo");
099            // Acal
100            classNames.add("AcademicCalendarInfo");
101            classNames.add("CampusCalendarInfo");
102            classNames.add("TermInfo");
103            classNames.add("RegistrationDateGroupInfo");
104            classNames.add("HolidayInfo");
105            classNames.add("KeyDateInfo");
106            // LPR 
107            classNames.add("LuiPersonRelationInfo");
108            // Hold
109            classNames.add("HoldInfo");
110            classNames.add("IssueInfo");
111            classNames.add("RestrictionInfo");
112            // LUI 
113            classNames.add("LuiInfo");
114            classNames.add("LuiLuiRelationInfo");
115            classNames.add("LuiCapacityInfo");
116            // Course Offering
117            classNames.add("CourseOfferingInfo");
118            classNames.add("ActivityOfferingInfo");
119            classNames.add("RegistrationGroupInfo");
120            classNames.add("SeatPoolDefinitionInfo");
121            instance.setClassNames(classNames);
122            instance.execute();
123            assertTrue(new File(instance.getOutputDirectory() + "/" + "ks-AtpInfo-dictionary.xml").exists());
124        }
125    }