Skip to content

Commit 74cae11

Browse files
committed
Moved JCA latest ruleset eclipse path to Constants
Signed-off-by: Rakshit Krishnappa Ravi <rakshitkrishnapparavi@gmail.com> - created a new constant named JCA_LATEST_ECLIPSE_RULES_DIR for retrieve latest JCA ruleset - used it for content proposal & code generation
1 parent d530756 commit 74cae11

3 files changed

Lines changed: 11 additions & 11 deletions

File tree

plugins/de.cognicrypt.codegenerator/src/main/java/de/cognicrypt/codegenerator/ui/contentassist/CustomCompletionProposalComputer.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,13 @@
1717

1818
import de.cognicrypt.codegenerator.Activator;
1919
import de.cognicrypt.core.Constants;
20-
import de.cognicrypt.utils.CrySLUtils;
2120

2221

2322
@SuppressWarnings("restriction")
2423
public class CustomCompletionProposalComputer extends JavaCompletionProposalComputer {
2524

26-
static private String rulesDir = Constants.ECLIPSE_RULES_DIR + Constants.innerFileSeparator + Constants.Rules.JavaCryptographicArchitecture.toString() + Constants.innerFileSeparator +
27-
CrySLUtils.getRuleVersions(Constants.Rules.JavaCryptographicArchitecture.toString())[CrySLUtils.getRuleVersions(Constants.Rules.JavaCryptographicArchitecture.toString()).length - 1] +
28-
Constants.innerFileSeparator + Constants.Rules.JavaCryptographicArchitecture.toString();
2925

30-
static private List<String> ruleNames = readClassnames(rulesDir);
26+
static private List<String> ruleNames = readClassnames(Constants.JCA_LATEST_ECLIPSE_RULES_DIR);
3127

3228
@Override
3329
public List<ICompletionProposal> computeCompletionProposals(ContentAssistInvocationContext context, IProgressMonitor monitor) {
@@ -78,7 +74,7 @@ private static List<String> readClassnames(String rulesFolder) {
7874

7975
private static String readClassnameFromRule(File ruleFile) throws IOException {
8076
final String fileName = ruleFile.getName();
81-
if (!fileName.endsWith(".crysl")) {
77+
if (!fileName.endsWith(Constants.cryslFileEnding)) {
8278
return null;
8379
}
8480

plugins/de.cognicrypt.core/src/de/cognicrypt/core/Constants.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import org.eclipse.swt.graphics.Point;
1111
import org.eclipse.swt.graphics.Rectangle;
1212

13+
import de.cognicrypt.utils.CrySLUtils;
14+
1315
/**
1416
* This class comprises all constants that are used by the plugin.
1517
*/
@@ -581,6 +583,10 @@ public String toString() {
581583
public static final int JDT_PROBLEM_ID = 10000000;
582584
public final static String RELATIVE_RULES_DIR = "resources/CrySLRules";
583585
public final static String ECLIPSE_RULES_DIR = System.getProperty("user.dir");
586+
public final static String JCA_LATEST_ECLIPSE_RULES_DIR = Constants.ECLIPSE_RULES_DIR + Constants.innerFileSeparator + Constants.Rules.JavaCryptographicArchitecture.toString() + Constants.innerFileSeparator +
587+
CrySLUtils.getRuleVersions(Constants.Rules.JavaCryptographicArchitecture.toString())[CrySLUtils.getRuleVersions(Constants.Rules.JavaCryptographicArchitecture.toString()).length - 1] +
588+
Constants.innerFileSeparator + Constants.Rules.JavaCryptographicArchitecture.toString();
589+
584590
public static final String cryslFileEnding = ".crysl";
585591
public static final String cryslEditorID = "de.darmstadt.tu.crossing.CrySL";
586592
public static final String HEALTHY = "Secure";

plugins/de.cognicrypt.core/src/de/cognicrypt/utils/CrySLUtils.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
import java.util.regex.Matcher;
1010
import java.util.stream.Collectors;
1111
import java.util.stream.Stream;
12+
1213
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
14+
1315
import crypto.analysis.CrySLRulesetSelector.RuleFormat;
1416
import crypto.cryslhandler.CrySLModelReader;
1517
import crypto.rules.CrySLRule;
1618
import crypto.rules.CrySLRuleReader;
1719
import crypto.rules.StateNode;
1820
import crypto.rules.TransitionEdge;
19-
import de.cognicrypt.core.Activator;
2021
import de.cognicrypt.core.Constants;
21-
import de.cognicrypt.core.Constants.Rules;
2222

2323
public class CrySLUtils {
2424

@@ -72,9 +72,7 @@ public static List<CrySLRule> readCrySLRules() {
7272
*/
7373

7474
public static CrySLRule getCrySLRule(String cryslRule) throws MalformedURLException {
75-
File ruleRes = new File(Constants.ECLIPSE_RULES_DIR + Constants.innerFileSeparator + Constants.Rules.JavaCryptographicArchitecture.toString() + Constants.innerFileSeparator +
76-
CrySLUtils.getRuleVersions(Constants.Rules.JavaCryptographicArchitecture.toString())[CrySLUtils.getRuleVersions(Constants.Rules.JavaCryptographicArchitecture.toString()).length - 1] +
77-
Constants.innerFileSeparator + Constants.Rules.JavaCryptographicArchitecture.toString() + Constants.innerFileSeparator + cryslRule + RuleFormat.SOURCE.toString());
75+
File ruleRes = new File(Constants.JCA_LATEST_ECLIPSE_RULES_DIR + Constants.innerFileSeparator + cryslRule + RuleFormat.SOURCE.toString());
7876
if (ruleRes == null || !ruleRes.exists() || !ruleRes.canRead()) {
7977
ruleRes = Utils.getResourceFromWithin(Constants.RELATIVE_CUSTOM_RULES_DIR + Constants.innerFileSeparator + cryslRule + RuleFormat.SOURCE.toString(), de.cognicrypt.core.Activator.PLUGIN_ID);
8078
}

0 commit comments

Comments
 (0)