private void checkMandatory( final PlainSchema schema, final PlainAttr<?> attr, final Any<?> any, final SyncopeClientException reqValMissing) { if (attr == null && !schema.isReadonly() && JexlUtils.evaluateMandatoryCondition(schema.getMandatoryCondition(), any)) { LOG.error("Mandatory schema " + schema.getKey() + " not provided with values"); reqValMissing.getElements().add(schema.getKey()); } }
protected void parseOrderByForPlainSchema( final SearchSupport svs, final OrderBySupport obs, final OrderBySupport.Item item, final OrderByClause clause, final PlainSchema schema, final String fieldName) { // keep track of involvement of non-mandatory schemas in the order by clauses obs.nonMandatorySchemas = !"true".equals(schema.getMandatoryCondition()); if (schema.isUniqueConstraint()) { obs.views.add(svs.asSearchViewSupport().uniqueAttr()); item.select = new StringBuilder(). append(svs.asSearchViewSupport().uniqueAttr().alias).append('.'). append(svs.fieldName(schema.getType())). append(" AS ").append(fieldName).toString(); item.where = new StringBuilder(). append(svs.asSearchViewSupport().uniqueAttr().alias). append(".schema_id='").append(fieldName).append("'").toString(); item.orderBy = fieldName + " " + clause.getDirection().name(); } else { obs.views.add(svs.asSearchViewSupport().attr()); item.select = new StringBuilder(). append(svs.asSearchViewSupport().attr().alias).append('.').append(svs.fieldName(schema.getType())). append(" AS ").append(fieldName).toString(); item.where = new StringBuilder(). append(svs.asSearchViewSupport().attr().alias). append(".schema_id='").append(fieldName).append("'").toString(); item.orderBy = fieldName + " " + clause.getDirection().name(); } }
&& Boolean.parseBoolean(JexlUtils.evaluate(schema.getMandatoryCondition(), jexlContext))) {
@Override public PlainSchemaTO getPlainSchemaTO(final String key) { PlainSchema schema = plainSchemaDAO.find(key); if (schema == null) { throw new NotFoundException("Schema '" + key + "'"); } PlainSchemaTO schemaTO = new PlainSchemaTO(); schemaTO.setKey(schema.getKey()); schemaTO.setType(schema.getType()); schemaTO.setCipherAlgorithm(schema.getCipherAlgorithm()); schemaTO.setConversionPattern(schema.getConversionPattern()); schemaTO.setEnumerationKeys(schema.getEnumerationKeys()); schemaTO.setEnumerationValues(schema.getEnumerationValues()); schemaTO.setMandatoryCondition(schema.getMandatoryCondition()); schemaTO.setMimeType(schema.getMimeType()); schemaTO.setMultivalue(schema.isMultivalue()); schemaTO.setReadonly(schema.isReadonly()); schemaTO.setSecretKey(schema.getSecretKey()); schemaTO.setUniqueConstraint(schema.isUniqueConstraint()); labels(schema, schemaTO); schemaTO.setAnyTypeClass(schema.getAnyTypeClass() == null ? null : schema.getAnyTypeClass().getKey()); if (schema.getValidator() != null) { schemaTO.setValidator(schema.getValidator().getKey()); } return schemaTO; }