return false; if ((!(role instanceof Role)) || ((role instanceof RoleLink) && (role.getContract() == null))) return false;
c.traceErrors(); assertTrue(c.isOk()); assertEquals(c, (c.getPermissions().getFirst("revoke").getRole()).getContract()); assertEquals(c2.getRevoking().get(0), c2.getRevoking().get(0).getPermissions().getFirst("revoke").getRole().getContract()); c2.seal(); c2.check();
c.traceErrors(); assertTrue(c.isOk()); assertEquals(c, (c.getPermissions().getFirst("split_join").getRole()).getContract()); c2.createRole("creator", c2.getRole("owner")); c2.getNew().get(0).createRole("creator", c2.getNew().get(0).getRole("owner")); assertEquals(c2, c2.getPermissions().getFirst("split_join").getRole().getContract()); c3.getNew().get(0).createRole("creator", c3.getNew().get(0).getRole("owner")); c3.addNewItems(jobCertificate); assertEquals(c3, c3.getPermissions().getFirst("split_join").getRole().getContract());
c.traceErrors(); assertTrue(c.isOk()); assertEquals(c, (c.getPermissions().getFirst("decrement_permission").getRole()).getContract()); assertEquals(c2, c2.getPermissions().getFirst("decrement_permission").getRole().getContract()); c3.getStateData().set("units", c.getStateData().getIntOrThrow("units") - 1); c3.addNewItems(jobCertificate); assertEquals(c3, c3.getPermissions().getFirst("decrement_permission").getRole().getContract());
c.traceErrors(); assertTrue(c.isOk()); assertEquals(c, (c.getPermissions().getFirst("change_owner").getRole()).getContract()); assertEquals(c2, c2.getPermissions().getFirst("change_owner").getRole().getContract()); assertNotEquals(c.getOwner(), c2.getOwner()); c2.seal(); c3.setOwnerKey(ownerKey3); c3.addNewItems(jobCertificate); assertEquals(c3, c3.getPermissions().getFirst("change_owner").getRole().getContract()); assertNotEquals(c.getOwner(), c3.getOwner());