/** * Check validity of role * * @return true if role is valid */ @Override public boolean isValid() { final Role role = resolve(); return (role == null) ? false : role.isValid(); }
addError(BAD_VALUE, "api_level"); Role owner = getRole("owner"); if (owner == null || !owner.isValid()) addError(MISSING_OWNER, "state.owner"); Role issuer = getRole("issuer"); if (issuer == null || !issuer.isValid()) addError(MISSING_ISSUER, "state.issuer"); if (state.revision < 1) addError(BAD_VALUE, "state.revision"); Role createdBy = getRole("creator"); if (createdBy == null || !createdBy.isValid()) addError(BAD_VALUE, "state.created_by"); if (!isSignedBy(createdBy)) {
/** * Create new root contract to be created. It may have parent, but does not have origin, as it is an origin itself. */ private void checkRootContract() throws Quantiser.QuantiserException { // root contract must be issued ny the issuer Role issuer = getRole("issuer"); if (issuer == null || !issuer.isValid()) { addError(BAD_VALUE, "definition.issuer", "missing issuer"); return; } // the bad case - no issuer - should be processed normally without exceptions: Role createdBy = getRole("creator"); if (createdBy == null || !createdBy.isValid()) { addError(BAD_VALUE, "state.created_by", "invalid creator"); return; } if (!issuer.isAllowedForKeys(getEffectiveKeys())) { addError(ISSUER_MUST_CREATE, "issuer.keys"); } if (state.revision != 1) addError(BAD_VALUE, "state.revision", "must be 1 in a root contract"); if (state.createdAt == null) state.createdAt = definition.createdAt; else if (!state.createdAt.equals(definition.createdAt)) addError(BAD_VALUE, "state.created_at", "invalid"); if (state.origin != null) addError(BAD_VALUE, "state.origin", "must be empty in a root contract"); checkRevokePermissions(revokingItems); }
assertFalse(c.getOwner().isValid()); assertFalse(c.getCreator().isValid()); assertFalse(c.isOk()); assertTrue(c.getIssuer().isValid()); assertTrue(c.getOwner().isValid()); assertNull(c.getCreator()); assertFalse(c.isOk()); assertTrue(c.getIssuer().isValid()); assertNull(c.getOwner()); assertTrue(c.getCreator().isValid()); assertTrue(c.getIssuer().isValid()); assertTrue(c.getOwner().isValid()); assertTrue(c.getCreator().isValid()); assertTrue(c.getIssuer().isValid()); assertNull(c.getOwner()); assertFalse(c.getCreator().isValid()); assertFalse(c.getErrors().isEmpty()); assertFalse(c.getIssuer().isValid()); assertFalse(c.getOwner().isValid()); assertFalse(c.getCreator().isValid());