package org.cagrid.mms.service; import static org.junit.Assert.assertNotNull; import gov.nih.nci.cagrid.metadata.dataservice.DomainModel; import gov.nih.nci.cagrid.metadata.dataservice.UMLClass; import java.util.Arrays; import java.util.Iterator; import java.util.List; import javax.annotation.Resource; import junit.framework.Assert; import org.cagrid.mms.model.UMLProjectIdentifer; import org.cagrid.mms.test.SpringTestApplicationContextConstants; import org.junit.Before; import org.junit.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.FileSystemXmlApplicationContext; public class ModelSourceMetadataTestCase{ @Resource public MMS mms; @Before public void onSetup() { ApplicationContext ctx = new FileSystemXmlApplicationContext(SpringTestApplicationContextConstants.MMS_BASE_LOCATION); mms = (MMS)ctx.getBean("mms"); assertNotNull(this.mms); } @Test public void testGenerateDomainModel() { UMLProjectIdentifer project = new UMLProjectIdentifer(); project.setIdentifier("caCORE 3.2"); project.setVersion("3.2"); try { DomainModel model = mms.generateDomainModelForProject(project); System.out.println(model.getProjectShortName()); System.out.println(model.getProjectVersion()); for (Iterator iterator = model.getExposedUMLClassCollection().getUMLClass().iterator(); iterator.hasNext();) { UMLClass type = (UMLClass) iterator.next(); System.out.println("\t" + type.getClassName()); } } catch (MMSGeneralException e) { e.printStackTrace(); Assert.fail(e.getMessage()); } catch (InvalidUMLProjectIndentifier e) { e.printStackTrace(); Assert.fail(e.getMessage()); } } @Test public void testGenerateDomainModelForSubPackages() { UMLProjectIdentifer project = new UMLProjectIdentifer(); project.setIdentifier("caCORE 3.2"); project.setVersion("3.2"); try { DomainModel model = mms .generateDomainModelForPackages( project, (List<String>) Arrays .asList(new String[] { "gov.nih.nci.cabio.domain" })); System.out.println(model.getProjectShortName()); System.out.println(model.getProjectVersion()); for (Iterator iterator = model.getExposedUMLClassCollection().getUMLClass().iterator(); iterator.hasNext();) { UMLClass type = (UMLClass) iterator.next(); System.out.println("\t" + type.getClassName()); } } catch (MMSGeneralException e) { e.printStackTrace(); Assert.fail(e.getMessage()); } catch (InvalidUMLProjectIndentifier e) { e.printStackTrace(); Assert.fail(e.getMessage()); } } }