diff --git a/src/main/java/dk/cs/aau/huppaal/logging/LogRegex.java b/src/main/java/dk/cs/aau/huppaal/logging/LogRegex.java index e23d75e5..00e47e9e 100644 --- a/src/main/java/dk/cs/aau/huppaal/logging/LogRegex.java +++ b/src/main/java/dk/cs/aau/huppaal/logging/LogRegex.java @@ -21,8 +21,8 @@ private static Pattern getPattern() { sb.append(sep).append(quantifier.name().toLowerCase()); } // For humans: - // [](:/?) - var x = "\\[(?[^]]+)]\\((?"+sb+"):(?(?[^/]+)/?(?\\S+)?)\\)"; - return Pattern.compile(x); + // [](:/?) + var z = "\\[(?[^]]+)]\\((?"+sb+"):(?((?[^/]+?)/)?(?(\\([^)]*\\))|[^(]+?)+?)\\)"; + return Pattern.compile(z); } } diff --git a/src/main/java/dk/cs/aau/huppaal/presentations/LogTabPresentation.java b/src/main/java/dk/cs/aau/huppaal/presentations/LogTabPresentation.java index fdd28830..26e49d34 100644 --- a/src/main/java/dk/cs/aau/huppaal/presentations/LogTabPresentation.java +++ b/src/main/java/dk/cs/aau/huppaal/presentations/LogTabPresentation.java @@ -52,8 +52,11 @@ private void onLinkClick(Hyperlink link) { throw new RuntimeException("Not a valid %s link pattern: '%s'".formatted(BuildConfig.NAME,link.getLink())); // TODO: When syntactic elements have UUIDs to identify them, we should look at those IDs (instead/aswell) var regexLink = matcher.group("link"); + System.out.println(regexLink); var regexComponent = matcher.group("component"); + System.out.println(regexComponent); var regexIdentifier = Optional.ofNullable(matcher.group("identifier")); + System.out.println(regexIdentifier); var notValidLink = "Not a valid %s link: %s".formatted(link.getQuantifier().name().toLowerCase(), link.getLink()); switch (link.getQuantifier()) { case LOCATION -> { @@ -62,7 +65,7 @@ private void onLinkClick(Hyperlink link) { var component = SelectHelper.selectComponent(regexComponent); regexIdentifier.ifPresent(s -> SelectHelper.selectLocation(component, s)); } - case COMPONENT -> SelectHelper.selectComponent(regexComponent); + case COMPONENT -> SelectHelper.selectComponent(regexLink); case SUBCOMPONENT -> { if(regexIdentifier.isEmpty()) Log.addWarning(notValidLink);