use of org.mybatis.generator.exception.ShellException in project generator by mybatis.
the class EclipseShellCallback method getFirstSourceFolder.
/**
* This method returns the first modifiable package fragment root in the
* java project
*
* @param javaProject
* @return
*/
private IPackageFragmentRoot getFirstSourceFolder(IJavaProject javaProject) throws ShellException {
// find the first non-JAR package fragment root
IPackageFragmentRoot[] roots;
try {
roots = javaProject.getPackageFragmentRoots();
} catch (CoreException e) {
throw new ShellException(e.getStatus().getMessage(), e);
}
IPackageFragmentRoot srcFolder = null;
for (int i = 0; i < roots.length; i++) {
if (roots[i].isArchive() || roots[i].isReadOnly() || roots[i].isExternal()) {
continue;
} else {
srcFolder = roots[i];
break;
}
}
if (srcFolder == null) {
StringBuffer sb = new StringBuffer();
sb.append("Cannot find source folder for project ");
sb.append(javaProject.getElementName());
throw new ShellException(sb.toString());
}
return srcFolder;
}
use of org.mybatis.generator.exception.ShellException in project generator by mybatis.
the class EclipseShellCallback method getFolder.
private IFolder getFolder(String targetProject, String targetPackage) throws ShellException {
String key = targetProject + targetPackage;
IFolder folder = folders.get(key);
if (folder == null) {
IPackageFragmentRoot root = getSourceFolder(targetProject);
IPackageFragment packageFragment = getPackage(root, targetPackage);
try {
folder = (IFolder) packageFragment.getCorrespondingResource();
folders.put(key, folder);
} catch (CoreException e) {
throw new ShellException(e.getStatus().getMessage(), e);
}
}
return folder;
}
Aggregations