private void verifyTypeOperation(Value val, Value param, boolean isNotEqual) { if (val.getPath() == null) return; PCPath path = (PCPath) val.getPath(); Discriminator disc = ((Type) val).getDiscriminator(); if (disc == null || !(val.getMetaData().getPCSuperclass() != null || val.getMetaData().getPCSubclasses().length > 0)) throw new UserException(_loc. get("invalid-type-argument", path.last() != null ? path.getPCPathString() : path.getSchemaAlias())); if (disc.getColumns().length == 0) { if (disc.getStrategy() instanceof NoneDiscriminatorStrategy) { // limited support for table per class inheritance hierarchy if (path.last() != null) throw new UserException(_loc. get("type-argument-unsupported", path.last().getName())); if (isNotEqual) { if (param != null && param instanceof Null) throw new UserException(_loc. get("type-in-expression-unsupported", path.getSchemaAlias())); else throw new UserException(_loc. get("type-not-equal-unsupported", path.getSchemaAlias())); } } if (param != null && param instanceof CollectionParam) throw new UserException(_loc. get("collection-param-unsupported")); } }
private void verifyTypeOperation(Value val, Value param, boolean isNotEqual) { if (val.getPath() == null) return; PCPath path = (PCPath) val.getPath(); Discriminator disc = ((Type) val).getDiscriminator(); if (disc == null || !(val.getMetaData().getPCSuperclass() != null || val.getMetaData().getPCSubclasses().length > 0)) throw new UserException(_loc. get("invalid-type-argument", path.last() != null ? path.getPCPathString() : path.getSchemaAlias())); if (disc.getColumns().length == 0) { if (disc.getStrategy() instanceof NoneDiscriminatorStrategy) { // limited support for table per class inheritance hierarchy if (path.last() != null) throw new UserException(_loc. get("type-argument-unsupported", path.last().getName())); if (isNotEqual) { if (param != null && param instanceof Null) throw new UserException(_loc. get("type-in-expression-unsupported", path.getSchemaAlias())); else throw new UserException(_loc. get("type-not-equal-unsupported", path.getSchemaAlias())); } } if (param != null && param instanceof CollectionParam) throw new UserException(_loc. get("collection-param-unsupported")); } }
private void verifyTypeOperation(Value val, Value param, boolean isNotEqual) { if (val.getPath() == null) return; PCPath path = (PCPath) val.getPath(); Discriminator disc = ((Type) val).getDiscriminator(); if (disc == null || !(val.getMetaData().getPCSuperclass() != null || val.getMetaData().getPCSubclasses().length > 0)) throw new UserException(_loc. get("invalid-type-argument", path.last() != null ? path.getPCPathString() : path.getSchemaAlias())); if (disc.getColumns().length == 0) { if (disc.getStrategy() instanceof NoneDiscriminatorStrategy) { // limited support for table per class inheritance hierarchy if (path.last() != null) throw new UserException(_loc. get("type-argument-unsupported", path.last().getName())); if (isNotEqual) { if (param != null && param instanceof Null) throw new UserException(_loc. get("type-in-expression-unsupported", path.getSchemaAlias())); else throw new UserException(_loc. get("type-not-equal-unsupported", path.getSchemaAlias())); } } if (param != null && param instanceof CollectionParam) throw new UserException(_loc. get("collection-param-unsupported")); } }
private void verifyTypeOperation(Value val, Value param, boolean isNotEqual) { if (val.getPath() == null) return; PCPath path = (PCPath) val.getPath(); Discriminator disc = ((Type) val).getDiscriminator(); if (disc == null || !(val.getMetaData().getPCSuperclass() != null || val.getMetaData().getPCSubclasses().length > 0)) throw new UserException(_loc. get("invalid-type-argument", path.last() != null ? path.getPCPathString() : path.getSchemaAlias())); if (disc.getColumns().length == 0) { if (disc.getStrategy() instanceof NoneDiscriminatorStrategy) { // limited support for table per class inheritance hierarchy if (path.last() != null) throw new UserException(_loc. get("type-argument-unsupported", path.last().getName())); if (isNotEqual) { if (param != null && param instanceof Null) throw new UserException(_loc. get("type-in-expression-unsupported", path.getSchemaAlias())); else throw new UserException(_loc. get("type-not-equal-unsupported", path.getSchemaAlias())); } } if (param != null && param instanceof CollectionParam) throw new UserException(_loc. get("collection-param-unsupported")); } }