You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by pk...@apache.org on 2015/06/25 16:55:42 UTC
svn commit: r1687542 - in
/uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator:
LanguageCheckerVisitor.java RutaCheckerProblemFactory.java
Author: pkluegl
Date: Thu Jun 25 14:55:41 2015
New Revision: 1687542
URL: http://svn.apache.org/r1687542
Log:
UIMA-4485
- added reporter for package
Modified:
uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/LanguageCheckerVisitor.java
uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerProblemFactory.java
Modified: uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/LanguageCheckerVisitor.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/LanguageCheckerVisitor.java?rev=1687542&r1=1687541&r2=1687542&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/LanguageCheckerVisitor.java (original)
+++ uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/LanguageCheckerVisitor.java Thu Jun 25 14:55:41 2015
@@ -189,6 +189,10 @@ public class LanguageCheckerVisitor exte
private ClassLoader classLoader;
+ private String packagePathString;
+
+ private boolean packageChecked = false;
+
public LanguageCheckerVisitor(IProblemReporter problemReporter, ISourceLineTracker linetracker,
ISourceModule sourceModule, ClassLoader classLoader) {
super();
@@ -204,10 +208,20 @@ public class LanguageCheckerVisitor exte
knownLocalVariables = new Stack<Map<String, Integer>>();
knownLocalVariables.push(new HashMap<String, Integer>());
blocks = new Stack<String>();
+ packagePathString = "";
initializePredefinedInformation();
initializeExtensionInformation();
+ IProject project = sourceModule.getScriptProject().getProject();
+ IPath location = sourceModule.getResource().getLocation();
+ try {
+ IPath packagePath = RutaProjectUtils.getPackagePath(location, project);
+ packagePathString = packagePath.toPortableString().replaceAll("/", ".");
+ } catch (CoreException e) {
+ RutaIdeUIPlugin.error(e);
+ }
+
IPreferenceStore store = RutaIdeUIPlugin.getDefault().getPreferenceStore();
reportWarningOnShortNames = !store
.getBoolean(RutaCorePreferences.BUILDER_IGNORE_DUPLICATE_SHORTNAMES);
@@ -218,6 +232,7 @@ public class LanguageCheckerVisitor exte
public boolean visit(Statement s) throws Exception {
if (s instanceof RutaPackageDeclaration) {
this.packageName = ((RutaPackageDeclaration) s).getName();
+ checkPackage(s);
return false;
}
if (s instanceof RutaImportTypesStatement) {
@@ -396,6 +411,13 @@ public class LanguageCheckerVisitor exte
return true;
}
+ private void checkPackage(ASTNode node) {
+ if(!StringUtils.equals(packageName, packagePathString) && !packageChecked) {
+ pr.reportProblem(problemFactory.createWrongPackageProblem(node));
+ }
+ packageChecked = true;
+ }
+
private void processCompleteTypeSystemImport(SimpleReference sRef, String localPath)
throws CoreException {
processCompleteTypeSystemImport(sRef, localPath, null, null, null);
@@ -795,6 +817,9 @@ public class LanguageCheckerVisitor exte
if (s instanceof RutaDeclareDeclarationsStatement) {
parentTypeInDeclaration = null;
}
+ if(!packageChecked) {
+ checkPackage(null);
+ }
return super.endvisit(s);
}
@@ -865,7 +890,7 @@ public class LanguageCheckerVisitor exte
|| t.equals(UIMAConstants.TYPE_LONG) || t.equals(UIMAConstants.TYPE_SHORT))
&& RutaTypeConstants.RUTA_TYPE_N == kind) {
return true;
- } else if ( RutaTypeConstants.RUTA_TYPE_AT == kind) {
+ } else if (RutaTypeConstants.RUTA_TYPE_AT == kind) {
return true;
}
return false;
Modified: uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerProblemFactory.java
URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerProblemFactory.java?rev=1687542&r1=1687541&r2=1687542&view=diff
==============================================================================
--- uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerProblemFactory.java (original)
+++ uima/ruta/trunk/ruta-ep-ide-ui/src/main/java/org/apache/uima/ruta/ide/validator/RutaCheckerProblemFactory.java Thu Jun 25 14:55:41 2015
@@ -99,6 +99,16 @@ public class RutaCheckerProblemFactory i
getLine(node));
}
+ public IProblem createWrongPackageProblem(ASTNode node) {
+ String message = "The package declaration does not match the project structure.";
+ if(node != null) {
+ return new RutaCheckerDefaultProblem(this.fileName, message,node, getLine(node));
+ } else {
+ return new RutaCheckerDefaultProblem(this.fileName, message);
+ }
+ }
+
+
public IProblem createTypeProblem(RutaVariableReference ref, ISourceModule currentFile) {
String errMsgHead = "Type \"";