test_class.declarator: LOGGER = LoggerFactory.getLogger(OakpalPlanTest.class)
test_class.modifier: private static final
test_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(OakpalPlanTest.class);
test_class.type: Logger
test_class.var_name: LOGGER
test_class.declarator: BASE_PATH = "src/test/resources/OakpalPlanTest"
test_class.modifier: private final
test_class.original_string: private final String BASE_PATH = "src/test/resources/OakpalPlanTest";
test_class.type: String
test_class.var_name: BASE_PATH
test_class.declarator: CHECK_NOTHING = "OakpalPlanTest/checkNothing.js"
test_class.modifier: private final
test_class.original_string: private final String CHECK_NOTHING = "OakpalPlanTest/checkNothing.js";
test_class.type: String
test_class.var_name: CHECK_NOTHING
test_class.declarator: base = new File(BASE_PATH)
test_class.modifier: private final
test_class.original_string: private final File base = new File(BASE_PATH);
test_class.type: File
test_class.var_name: base
test_class.declarator: baseUrl
test_class.modifier: private
test_class.original_string: private URL baseUrl;
test_class.type: URL
test_class.var_name: baseUrl
test_class.declarator: resolver = new DefaultNamePathResolver(JsonCnd.BUILTIN_MAPPINGS)
test_class.modifier: private
test_class.original_string: private NamePathResolver resolver = new DefaultNamePathResolver(JsonCnd.BUILTIN_MAPPINGS);
test_class.type: NamePathResolver
test_class.var_name: resolver
test_class.declarator: NS_FOO_PREFIX = "foo"
test_class.modifier: private static final
test_class.original_string: private static final String NS_FOO_PREFIX = "foo";
test_class.type: String
test_class.var_name: NS_FOO_PREFIX
test_class.declarator: NS_BAR_PREFIX = "bar"
test_class.modifier: private static final
test_class.original_string: private static final String NS_BAR_PREFIX = "bar";
test_class.type: String
test_class.var_name: NS_BAR_PREFIX
test_class.declarator: NS_FOO_URI = "http://foo.com"
test_class.modifier: private static final
test_class.original_string: private static final String NS_FOO_URI = "http://foo.com";
test_class.type: String
test_class.var_name: NS_FOO_URI
test_class.declarator: NS_BAR_URI = "http://bar.com"
test_class.modifier: private static final
test_class.original_string: private static final String NS_BAR_URI = "http://bar.com";
test_class.type: String
test_class.var_name: NS_BAR_URI
test_class.declarator: ns = Arrays.asList(
              JcrNs.create(NS_BAR_PREFIX, NS_BAR_URI),
              JcrNs.create(NS_FOO_PREFIX, NS_FOO_URI)
      )
test_class.modifier: private static final
test_class.original_string: private static final List<JcrNs> ns = Arrays.asList(
              JcrNs.create(NS_BAR_PREFIX, NS_BAR_URI),
              JcrNs.create(NS_FOO_PREFIX, NS_FOO_URI)
      );
test_class.type: List<JcrNs>
test_class.var_name: ns
test_class.file: core/src/test/java/net/adamcin/oakpal/core/OakpalPlanTest.java
test_class.identifier: OakpalPlanTest
test_case.body: @Test
      public void testRelativizeToBaseParent() throws Exception {
          final URI fooOpaque = new URI("mailto:foo@bar.com");
          final URI barOpaque = new URL("http://bar.com").toURI();
          assertSame("return uri when opaque",
                  barOpaque, OakpalPlan.relativizeToBaseParent(fooOpaque, barOpaque));
  
          final URI barOneJson = new URL("http://bar.com/one.json").toURI();
          final URI barTwoJson = new URL("http://bar.com/two.json").toURI();
          final URI barTwoRel = new URI("two.json");
          assertEquals("return relative uri when base is not json",
                  barTwoRel, OakpalPlan.relativizeToBaseParent(barOneJson, barTwoJson));
  
          final URI fooRoot = new URL("http://foo.com/").toURI();
          final URI fooAbs = new URL("http://foo.com/file.json").toURI();
          final URI fooRel = new URI("file.json");
          assertEquals("return relative uri when base is not json",
                  fooRel, OakpalPlan.relativizeToBaseParent(fooRoot, fooAbs));
      }
test_case.class_method_signature: OakpalPlanTest.testRelativizeToBaseParent()
test_case.full_signature: @Test public void testRelativizeToBaseParent()
test_case.identifier: testRelativizeToBaseParent
test_case.invocations: toURI assertSame relativizeToBaseParent toURI toURI assertEquals relativizeToBaseParent toURI toURI assertEquals relativizeToBaseParent
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testRelativizeToBaseParent()
focal_class.declarator: KEYS = new JsonKeys() {
          @Override
          public String runModes() {
              return "runModes";
          }
  
          @Override
          public String checklists() {
              return "checklists";
          }
  
          @Override
          public String checks() {
              return "checks";
          }
  
          @Override
          public String repoInits() {
              return "repoInits";
          }
  
          @Override
          public String repoInitUrls() {
              return "repoInitUrls";
          }
  
          @Override
          public String forcedRoots() {
              return "forcedRoots";
          }
  
          @Override
          public String jcrNamespaces() {
              return "jcrNamespaces";
          }
  
          @Override
          public String jcrNodetypes() {
              return "jcrNodetypes";
          }
  
          @Override
          public String jcrPrivileges() {
              return "jcrPrivileges";
          }
  
          @Override
          public String preInstallUrls() {
              return "preInstallUrls";
          }
  
          @Override
          public String enablePreInstallHooks() {
              return "enablePreInstallHooks";
          }
  
          @Override
          public String installHookPolicy() {
              return "installHookPolicy";
          }
      }
focal_class.modifier: private static final
focal_class.original_string: private static final JsonKeys KEYS = new JsonKeys() {
          @Override
          public String runModes() {
              return "runModes";
          }
  
          @Override
          public String checklists() {
              return "checklists";
          }
  
          @Override
          public String checks() {
              return "checks";
          }
  
          @Override
          public String repoInits() {
              return "repoInits";
          }
  
          @Override
          public String repoInitUrls() {
              return "repoInitUrls";
          }
  
          @Override
          public String forcedRoots() {
              return "forcedRoots";
          }
  
          @Override
          public String jcrNamespaces() {
              return "jcrNamespaces";
          }
  
          @Override
          public String jcrNodetypes() {
              return "jcrNodetypes";
          }
  
          @Override
          public String jcrPrivileges() {
              return "jcrPrivileges";
          }
  
          @Override
          public String preInstallUrls() {
              return "preInstallUrls";
          }
  
          @Override
          public String enablePreInstallHooks() {
              return "enablePreInstallHooks";
          }
  
          @Override
          public String installHookPolicy() {
              return "installHookPolicy";
          }
      };
focal_class.type: JsonKeys
focal_class.var_name: KEYS
focal_class.declarator: LOGGER = LoggerFactory.getLogger(OakpalPlan.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(OakpalPlan.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: EMPTY_PLAN_URL = OakpalPlan.class.getResource("empty-plan.json")
focal_class.modifier: public static final
focal_class.original_string: public static final URL EMPTY_PLAN_URL = OakpalPlan.class.getResource("empty-plan.json");
focal_class.type: URL
focal_class.var_name: EMPTY_PLAN_URL
focal_class.declarator: BASIC_PLAN_URL = OakpalPlan.class.getResource("basic-plan.json")
focal_class.modifier: public static final
focal_class.original_string: public static final URL BASIC_PLAN_URL = OakpalPlan.class.getResource("basic-plan.json");
focal_class.type: URL
focal_class.var_name: BASIC_PLAN_URL
focal_class.declarator: DEFAULT_PLAN_NAME = "plan.json"
focal_class.modifier: public static final
focal_class.original_string: public static final String DEFAULT_PLAN_NAME = "plan.json";
focal_class.type: String
focal_class.var_name: DEFAULT_PLAN_NAME
focal_class.declarator: base
focal_class.modifier: private final
focal_class.original_string: private final URL base;
focal_class.type: URL
focal_class.var_name: base
focal_class.declarator: name
focal_class.modifier: private final
focal_class.original_string: private final String name;
focal_class.type: String
focal_class.var_name: name
focal_class.declarator: originalJson
focal_class.modifier: private final
focal_class.original_string: private final JsonObject originalJson;
focal_class.type: JsonObject
focal_class.var_name: originalJson
focal_class.declarator: runModes
focal_class.modifier: private final
focal_class.original_string: private final List<String> runModes;
focal_class.type: List<String>
focal_class.var_name: runModes
focal_class.declarator: checklists
focal_class.modifier: private final
focal_class.original_string: private final List<String> checklists;
focal_class.type: List<String>
focal_class.var_name: checklists
focal_class.declarator: preInstallUrls
focal_class.modifier: private final
focal_class.original_string: private final List<URL> preInstallUrls;
focal_class.type: List<URL>
focal_class.var_name: preInstallUrls
focal_class.declarator: jcrNamespaces
focal_class.modifier: private final
focal_class.original_string: private final List<JcrNs> jcrNamespaces;
focal_class.type: List<JcrNs>
focal_class.var_name: jcrNamespaces
focal_class.declarator: jcrNodetypes
focal_class.modifier: private final
focal_class.original_string: private final List<QNodeTypeDefinition> jcrNodetypes;
focal_class.type: List<QNodeTypeDefinition>
focal_class.var_name: jcrNodetypes
focal_class.declarator: jcrPrivileges
focal_class.modifier: private final
focal_class.original_string: private final List<PrivilegeDefinition> jcrPrivileges;
focal_class.type: List<PrivilegeDefinition>
focal_class.var_name: jcrPrivileges
focal_class.declarator: forcedRoots
focal_class.modifier: private final
focal_class.original_string: private final List<ForcedRoot> forcedRoots;
focal_class.type: List<ForcedRoot>
focal_class.var_name: forcedRoots
focal_class.declarator: checks
focal_class.modifier: private final
focal_class.original_string: private final List<CheckSpec> checks;
focal_class.type: List<CheckSpec>
focal_class.var_name: checks
focal_class.declarator: enablePreInstallHooks
focal_class.modifier: private final
focal_class.original_string: private final boolean enablePreInstallHooks;
focal_class.type: boolean
focal_class.var_name: enablePreInstallHooks
focal_class.declarator: installHookPolicy
focal_class.modifier: private final
focal_class.original_string: private final InstallHookPolicy installHookPolicy;
focal_class.type: InstallHookPolicy
focal_class.var_name: installHookPolicy
focal_class.declarator: repoInitUrls
focal_class.modifier: private final
focal_class.original_string: private final List<URL> repoInitUrls;
focal_class.type: List<URL>
focal_class.var_name: repoInitUrls
focal_class.declarator: repoInits
focal_class.modifier: private final
focal_class.original_string: private final List<String> repoInits;
focal_class.type: List<String>
focal_class.var_name: repoInits
focal_class.file: core/src/main/java/net/adamcin/oakpal/core/OakpalPlan.java
focal_class.identifier: OakpalPlan
focal_class.interfaces: implements JsonObjectConvertible
focal_class.class_method_signature: OakpalPlan.keys()
focal_class.full_signature: @NotNull public static JsonKeys keys()
focal_class.identifier: keys
focal_class.modifiers: @NotNull public static
focal_class.parameters: ()
focal_class.return: JsonKeys
focal_class.signature: JsonKeys keys()
focal_class.class_method_signature: OakpalPlan.OakpalPlan(final @Nullable URL base,
                         final @Nullable JsonObject originalJson,
                         final @NotNull String name,
                         final @NotNull List<String> runModes,
                         final @NotNull List<String> checklists,
                         final @NotNull List<URL> preInstallUrls,
                         final @NotNull List<JcrNs> jcrNamespaces,
                         final @NotNull List<QNodeTypeDefinition> jcrNodetypes,
                         final @NotNull List<PrivilegeDefinition> jcrPrivileges,
                         final @NotNull List<ForcedRoot> forcedRoots,
                         final @NotNull List<CheckSpec> checks,
                         final boolean enablePreInstallHooks,
                         final @Nullable InstallHookPolicy installHookPolicy,
                         final @NotNull List<URL> repoInitUrls,
                         final @NotNull List<String> repoInits)
focal_class.full_signature: private  OakpalPlan(final @Nullable URL base,
                         final @Nullable JsonObject originalJson,
                         final @NotNull String name,
                         final @NotNull List<String> runModes,
                         final @NotNull List<String> checklists,
                         final @NotNull List<URL> preInstallUrls,
                         final @NotNull List<JcrNs> jcrNamespaces,
                         final @NotNull List<QNodeTypeDefinition> jcrNodetypes,
                         final @NotNull List<PrivilegeDefinition> jcrPrivileges,
                         final @NotNull List<ForcedRoot> forcedRoots,
                         final @NotNull List<CheckSpec> checks,
                         final boolean enablePreInstallHooks,
                         final @Nullable InstallHookPolicy installHookPolicy,
                         final @NotNull List<URL> repoInitUrls,
                         final @NotNull List<String> repoInits)
focal_class.identifier: OakpalPlan
focal_class.modifiers: private
focal_class.parameters: (final @Nullable URL base,
                         final @Nullable JsonObject originalJson,
                         final @NotNull String name,
                         final @NotNull List<String> runModes,
                         final @NotNull List<String> checklists,
                         final @NotNull List<URL> preInstallUrls,
                         final @NotNull List<JcrNs> jcrNamespaces,
                         final @NotNull List<QNodeTypeDefinition> jcrNodetypes,
                         final @NotNull List<PrivilegeDefinition> jcrPrivileges,
                         final @NotNull List<ForcedRoot> forcedRoots,
                         final @NotNull List<CheckSpec> checks,
                         final boolean enablePreInstallHooks,
                         final @Nullable InstallHookPolicy installHookPolicy,
                         final @NotNull List<URL> repoInitUrls,
                         final @NotNull List<String> repoInits)
focal_class.signature:  OakpalPlan(final @Nullable URL base,
                         final @Nullable JsonObject originalJson,
                         final @NotNull String name,
                         final @NotNull List<String> runModes,
                         final @NotNull List<String> checklists,
                         final @NotNull List<URL> preInstallUrls,
                         final @NotNull List<JcrNs> jcrNamespaces,
                         final @NotNull List<QNodeTypeDefinition> jcrNodetypes,
                         final @NotNull List<PrivilegeDefinition> jcrPrivileges,
                         final @NotNull List<ForcedRoot> forcedRoots,
                         final @NotNull List<CheckSpec> checks,
                         final boolean enablePreInstallHooks,
                         final @Nullable InstallHookPolicy installHookPolicy,
                         final @NotNull List<URL> repoInitUrls,
                         final @NotNull List<String> repoInits)
focal_class.class_method_signature: OakpalPlan.getBase()
focal_class.full_signature: public URL getBase()
focal_class.identifier: getBase
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: URL
focal_class.signature: URL getBase()
focal_class.class_method_signature: OakpalPlan.getName()
focal_class.full_signature: public String getName()
focal_class.identifier: getName
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getName()
focal_class.class_method_signature: OakpalPlan.getOriginalJson()
focal_class.full_signature: public JsonObject getOriginalJson()
focal_class.identifier: getOriginalJson
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: JsonObject
focal_class.signature: JsonObject getOriginalJson()
focal_class.class_method_signature: OakpalPlan.getRunModes()
focal_class.full_signature: public List<String> getRunModes()
focal_class.identifier: getRunModes
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getRunModes()
focal_class.class_method_signature: OakpalPlan.getChecklists()
focal_class.full_signature: public List<String> getChecklists()
focal_class.identifier: getChecklists
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getChecklists()
focal_class.class_method_signature: OakpalPlan.getPreInstallUrls()
focal_class.full_signature: public List<URL> getPreInstallUrls()
focal_class.identifier: getPreInstallUrls
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<URL>
focal_class.signature: List<URL> getPreInstallUrls()
focal_class.class_method_signature: OakpalPlan.getJcrNamespaces()
focal_class.full_signature: public List<JcrNs> getJcrNamespaces()
focal_class.identifier: getJcrNamespaces
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<JcrNs>
focal_class.signature: List<JcrNs> getJcrNamespaces()
focal_class.class_method_signature: OakpalPlan.getJcrNodetypes()
focal_class.full_signature: public List<QNodeTypeDefinition> getJcrNodetypes()
focal_class.identifier: getJcrNodetypes
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<QNodeTypeDefinition>
focal_class.signature: List<QNodeTypeDefinition> getJcrNodetypes()
focal_class.class_method_signature: OakpalPlan.getJcrPrivileges()
focal_class.full_signature: public List<PrivilegeDefinition> getJcrPrivileges()
focal_class.identifier: getJcrPrivileges
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<PrivilegeDefinition>
focal_class.signature: List<PrivilegeDefinition> getJcrPrivileges()
focal_class.class_method_signature: OakpalPlan.getForcedRoots()
focal_class.full_signature: public List<ForcedRoot> getForcedRoots()
focal_class.identifier: getForcedRoots
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<ForcedRoot>
focal_class.signature: List<ForcedRoot> getForcedRoots()
focal_class.class_method_signature: OakpalPlan.getChecks()
focal_class.full_signature: public List<CheckSpec> getChecks()
focal_class.identifier: getChecks
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<CheckSpec>
focal_class.signature: List<CheckSpec> getChecks()
focal_class.class_method_signature: OakpalPlan.isEnablePreInstallHooks()
focal_class.full_signature: public boolean isEnablePreInstallHooks()
focal_class.identifier: isEnablePreInstallHooks
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isEnablePreInstallHooks()
focal_class.class_method_signature: OakpalPlan.getInstallHookPolicy()
focal_class.full_signature: public InstallHookPolicy getInstallHookPolicy()
focal_class.identifier: getInstallHookPolicy
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: InstallHookPolicy
focal_class.signature: InstallHookPolicy getInstallHookPolicy()
focal_class.class_method_signature: OakpalPlan.getRepoInitUrls()
focal_class.full_signature: public List<URL> getRepoInitUrls()
focal_class.identifier: getRepoInitUrls
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<URL>
focal_class.signature: List<URL> getRepoInitUrls()
focal_class.class_method_signature: OakpalPlan.getRepoInits()
focal_class.full_signature: public List<String> getRepoInits()
focal_class.identifier: getRepoInits
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getRepoInits()
focal_class.class_method_signature: OakpalPlan.relativizeToBaseParent(final @NotNull URI baseUri, final @NotNull URI uri)
focal_class.full_signature: static URI relativizeToBaseParent(final @NotNull URI baseUri, final @NotNull URI uri)
focal_class.identifier: relativizeToBaseParent
focal_class.modifiers: static
focal_class.parameters: (final @NotNull URI baseUri, final @NotNull URI uri)
focal_class.return: URI
focal_class.signature: URI relativizeToBaseParent(final @NotNull URI baseUri, final @NotNull URI uri)
focal_class.class_method_signature: OakpalPlan.relativizeUrlsForJson(final @Nullable URL base,
                                                final @NotNull List<URL> urls,
                                                final @NotNull String jsonKey)
focal_class.full_signature: static List<String> relativizeUrlsForJson(final @Nullable URL base,
                                                final @NotNull List<URL> urls,
                                                final @NotNull String jsonKey)
focal_class.identifier: relativizeUrlsForJson
focal_class.modifiers: static
focal_class.parameters: (final @Nullable URL base,
                                                final @NotNull List<URL> urls,
                                                final @NotNull String jsonKey)
focal_class.return: List<String>
focal_class.signature: List<String> relativizeUrlsForJson(final @Nullable URL base,
                                                final @NotNull List<URL> urls,
                                                final @NotNull String jsonKey)
focal_class.class_method_signature: OakpalPlan.toJson()
focal_class.full_signature: @Override public JsonObject toJson()
focal_class.identifier: toJson
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: JsonObject
focal_class.signature: JsonObject toJson()
focal_class.class_method_signature: OakpalPlan.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: OakpalPlan.toInitStage()
focal_class.full_signature:  InitStage toInitStage()
focal_class.identifier: toInitStage
focal_class.parameters: ()
focal_class.return: InitStage
focal_class.signature: InitStage toInitStage()
focal_class.class_method_signature: OakpalPlan.toOakMachineBuilder(final @Nullable ErrorListener errorListener,
                                                    final @NotNull ClassLoader classLoader)
focal_class.full_signature: public OakMachine.Builder toOakMachineBuilder(final @Nullable ErrorListener errorListener,
                                                    final @NotNull ClassLoader classLoader)
focal_class.identifier: toOakMachineBuilder
focal_class.modifiers: public
focal_class.parameters: (final @Nullable ErrorListener errorListener,
                                                    final @NotNull ClassLoader classLoader)
focal_class.return: OakMachine.Builder
focal_class.signature: OakMachine.Builder toOakMachineBuilder(final @Nullable ErrorListener errorListener,
                                                    final @NotNull ClassLoader classLoader)
focal_class.class_method_signature: OakpalPlan.initResourceBundle(final ViolationReporter reporter, final Locale locale, final ClassLoader classLoader)
focal_class.full_signature:  void initResourceBundle(final ViolationReporter reporter, final Locale locale, final ClassLoader classLoader)
focal_class.identifier: initResourceBundle
focal_class.parameters: (final ViolationReporter reporter, final Locale locale, final ClassLoader classLoader)
focal_class.return: void
focal_class.signature: void initResourceBundle(final ViolationReporter reporter, final Locale locale, final ClassLoader classLoader)
focal_class.class_method_signature: OakpalPlan.fromJson(final @NotNull Builder builder,
                                         final @NotNull JsonObject json)
focal_class.full_signature: private static OakpalPlan fromJson(final @NotNull Builder builder,
                                         final @NotNull JsonObject json)
focal_class.identifier: fromJson
focal_class.modifiers: private static
focal_class.parameters: (final @NotNull Builder builder,
                                         final @NotNull JsonObject json)
focal_class.return: OakpalPlan
focal_class.signature: OakpalPlan fromJson(final @NotNull Builder builder,
                                         final @NotNull JsonObject json)
focal_class.class_method_signature: OakpalPlan.fromJson(final @NotNull JsonObject json)
focal_class.full_signature: public static OakpalPlan fromJson(final @NotNull JsonObject json)
focal_class.identifier: fromJson
focal_class.modifiers: public static
focal_class.parameters: (final @NotNull JsonObject json)
focal_class.return: OakpalPlan
focal_class.signature: OakpalPlan fromJson(final @NotNull JsonObject json)
focal_class.class_method_signature: OakpalPlan.fromJson(final @NotNull URL jsonUrl)
focal_class.full_signature: public static Result<OakpalPlan> fromJson(final @NotNull URL jsonUrl)
focal_class.identifier: fromJson
focal_class.modifiers: public static
focal_class.parameters: (final @NotNull URL jsonUrl)
focal_class.return: Result<OakpalPlan>
focal_class.signature: Result<OakpalPlan> fromJson(final @NotNull URL jsonUrl)
focal_method.body: static URI relativizeToBaseParent(final @NotNull URI baseUri, final @NotNull URI uri) throws URISyntaxException {
          if (baseUri.isOpaque() || uri.isOpaque()) {
              return uri;
          } else if (baseUri.getPath().contains("/") && baseUri.getPath().endsWith(".json")) {
              final String basePath = baseUri.getPath().substring(0, baseUri.getPath().lastIndexOf("/") + 1);
              final URI newBase = new URI(baseUri.getScheme(), baseUri.getUserInfo(), baseUri.getHost(),
                      baseUri.getPort(), basePath, baseUri.getQuery(), baseUri.getFragment());
              return newBase.relativize(uri);
          } else {
              return baseUri.relativize(uri);
          }
      }
focal_method.class_method_signature: OakpalPlan.relativizeToBaseParent(final @NotNull URI baseUri, final @NotNull URI uri)
focal_method.full_signature: static URI relativizeToBaseParent(final @NotNull URI baseUri, final @NotNull URI uri)
focal_method.identifier: relativizeToBaseParent
focal_method.invocations: isOpaque isOpaque contains getPath endsWith getPath substring getPath lastIndexOf getPath getScheme getUserInfo getHost getPort getQuery getFragment relativize relativize
focal_method.modifiers: static
focal_method.parameters: (final @NotNull URI baseUri, final @NotNull URI uri)
focal_method.return: URI
focal_method.signature: URI relativizeToBaseParent(final @NotNull URI baseUri, final @NotNull URI uri)