
org.kuali.student.common.mojo.AbstractKSMojo Maven / Gradle / Ivy
/**
*
*/
package org.kuali.student.common.mojo;
import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.project.MavenProject;
import org.kuali.student.contract.model.ServiceContractModel;
import org.kuali.student.contract.model.impl.ServiceContractModelCache;
import org.kuali.student.contract.model.impl.ServiceContractModelQDoxLoader;
import org.kuali.student.contract.model.validation.ServiceContractModelValidator;
/**
*
* The basic Kuali Student Mojo that defines things like the source lookup path.
*
* @author ocleirig
*
*/
public abstract class AbstractKSMojo extends AbstractMojo {
/**
* @parameter
**/
private List sourceDirs;
public AbstractKSMojo() {
super();
}
public List getSourceDirs() {
return sourceDirs;
}
public void setSourceDirs(List sourceDirs) {
this.sourceDirs = sourceDirs;
}
protected final ServiceContractModel getModel() {
Set modelSourceDirectories = new LinkedHashSet();
MavenProject project = (MavenProject) getPluginContext().get("project");
/*
* Default to the source directory that the plugin is run from.
*/
if (sourceDirs == null) {
modelSourceDirectories.add(project.getBuild().getSourceDirectory());
} else {
modelSourceDirectories.addAll(sourceDirs);
}
if (modelSourceDirectories.size() == 0)
throw new RuntimeException("No Source Directories are defined");
ServiceContractModel instance = new ServiceContractModelQDoxLoader(
new ArrayList(modelSourceDirectories));
return new ServiceContractModelCache(instance);
}
protected final boolean validate(ServiceContractModel model) {
Collection errors = new ServiceContractModelValidator(model)
.validate();
if (errors.size() > 0) {
StringBuilder buf = new StringBuilder();
buf.append(errors.size()).append(
" errors found while validating the data.");
int cnt = 0;
for (String msg : errors) {
cnt++;
buf.append("\n");
buf.append("*error*").append(cnt).append(":").append(msg);
}
buf.append(errors.size()).append(
" errors found while validating the data.");
return false;
}
return true;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy