public <E extends Exception> R getOrElseThrow(Function<L, E> exceptionFn) throws E { if (isRight()) { return right.orElse(null); } else { throw exceptionFn.apply(left.get()); } }
@Test public void testLocateInNSAliased() { final Import i = makeImport("nsA", "aliased", "m1"); final List<QName> available = Arrays.asList(new QName("nsA", "m1"), new QName("nsA", "m2"), new QName("nsB", "m3")); final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity()); assertTrue(result.isRight()); assertEquals(new QName("nsA", "m1"), result.getOrElse(null)); }
@Test public void testNSandModelName() { final Import i = makeImport("ns1", null, "m1"); final List<QName> available = Arrays.asList(new QName("ns1", "m1"), new QName("ns2", "m2"), new QName("ns3", "m3")); final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity()); assertTrue(result.isRight()); assertEquals(new QName("ns1", "m1"), result.getOrElse(null)); }
@Test public void testNSnoModelNameWithAlias() { final Import i = makeImport("ns1", "mymodel", null); final List<QName> available = Arrays.asList(new QName("ns1", "m1"), new QName("ns2", "m2"), new QName("ns3", "m3")); final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity()); assertTrue(result.isRight()); assertEquals(new QName("ns1", "m1"), result.getOrElse(null)); }
@Test public void testNSonly() { final Import i = makeImport("ns1", null, null); final List<QName> available = Arrays.asList(new QName("ns1", "m1"), new QName("ns2", "m2"), new QName("ns3", "m3")); final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity()); assertTrue(result.isRight()); assertEquals(new QName("ns1", "m1"), result.getOrElse(null)); }
@Test public void testNSandModelNameWithAlias() { final Import i = makeImport("ns1", "aliased", "m1"); final List<QName> available = Arrays.asList(new QName("ns1", "m1"), new QName("ns2", "m2"), new QName("ns3", "m3")); final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity()); assertTrue(result.isRight()); assertEquals(new QName("ns1", "m1"), result.getOrElse(null)); }
@Test public void testNSnoModelNameDefaultWithAlias2() { final Import i = makeImport("ns1", "boh", null); final List<QName> available = Arrays.asList(new QName("ns1", "m1"), new QName("ns2", "m2"), new QName("ns3", "m3")); final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity()); assertTrue(result.isRight()); assertEquals(new QName("ns1", "m1"), result.getOrElse(null)); }
@Test public void testLocateInNS() { final Import i = makeImport("nsA", null, "m1"); final List<QName> available = Arrays.asList(new QName("nsA", "m1"), new QName("nsA", "m2"), new QName("nsB", "m3")); final Either<String, QName> result = ImportDMNResolverUtil.resolveImportDMN(i, available, Function.identity()); assertTrue(result.isRight()); assertEquals(new QName("nsA", "m1"), result.getOrElse(null)); }