/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
/** * Instantiate the given discriminator's named strategy, or return null * if no named strategy. */ protected DiscriminatorStrategy namedStrategy(Discriminator discrim) { String name = discrim.getMappingInfo().getStrategy(); if (name == null) return null; // if there is a named strategy present, discard it if it matches // the base strategy, so that we won't create an independent instance ClassMapping cls = discrim.getClassMapping(); while (cls.getJoinablePCSuperclassMapping() != null) cls = cls.getJoinablePCSuperclassMapping(); Discriminator base = cls.getDiscriminator(); if (base != discrim && base.getStrategy() != null && name.equals(base.getStrategy().getAlias())) return null; return instantiateDiscriminatorStrategy(name, discrim); }
private boolean needClassCondition(ClassMapping mapping, int subs, OpenJPAStateManager sm) { boolean retVal = false; if(sm == null || sm.getPCState() == PCState.TRANSIENT) { if(subs == Select.SUBS_JOINABLE || subs == Select.SUBS_NONE) { retVal = true; } else { if (mapping.getDiscriminator() != null && SuperclassDiscriminatorStrategy.class.isInstance(mapping.getDiscriminator().getStrategy()) && mapping.getMappingRepository().getConfiguration().getCompatibilityInstance() .getSuperclassDiscriminatorStrategyByDefault()) { retVal = true; } } } return retVal; }
private boolean needClassCondition(ClassMapping mapping, int subs, OpenJPAStateManager sm) { boolean retVal = false; if(sm == null || sm.getPCState() == PCState.TRANSIENT) { if(subs == Select.SUBS_JOINABLE || subs == Select.SUBS_NONE) { retVal = true; } else { if (mapping.getDiscriminator() != null && SuperclassDiscriminatorStrategy.class.isInstance(mapping.getDiscriminator().getStrategy()) && mapping.getMappingRepository().getConfiguration().getCompatibilityInstance() .getSuperclassDiscriminatorStrategyByDefault()) { retVal = true; } } } return retVal; }
private boolean needClassCondition(ClassMapping mapping, int subs, OpenJPAStateManager sm) { boolean retVal = false; if(sm == null || sm.getPCState() == PCState.TRANSIENT) { if(subs == Select.SUBS_JOINABLE || subs == Select.SUBS_NONE) { retVal = true; } else { if (mapping.getDiscriminator() != null && SuperclassDiscriminatorStrategy.class.isInstance(mapping.getDiscriminator().getStrategy()) && mapping.getMappingRepository().getConfiguration().getCompatibilityInstance() .getSuperclassDiscriminatorStrategyByDefault()) { retVal = true; } } } return retVal; }
private boolean needClassCondition(ClassMapping mapping, int subs, OpenJPAStateManager sm) { boolean retVal = false; if(sm == null || sm.getPCState() == PCState.TRANSIENT) { if(subs == Select.SUBS_JOINABLE || subs == Select.SUBS_NONE) { retVal = true; } else { if (mapping.getDiscriminator() != null && SuperclassDiscriminatorStrategy.class.isInstance(mapping.getDiscriminator().getStrategy()) && mapping.getMappingRepository().getConfiguration().getCompatibilityInstance() .getSuperclassDiscriminatorStrategyByDefault()) { retVal = true; } } } return retVal; }
_value = disc.getValue().toString(); if (disc.getStrategy() == null || disc.getStrategy() instanceof SuperclassDiscriminatorStrategy) return; String strat = disc.getStrategy().getAlias(); boolean sync = false;
_value = disc.getValue().toString(); if (disc.getStrategy() == null || disc.getStrategy() instanceof SuperclassDiscriminatorStrategy) return; String strat = disc.getStrategy().getAlias(); boolean sync = false;
public void map(boolean adapt) { // if a superclass maps the discriminator value, so should we. // otherwise assume it's calculated ClassMapping sup = disc.getClassMapping(). getJoinablePCSuperclassMapping(); for (; sup != null; sup = sup.getJoinablePCSuperclassMapping()) { if (sup.getDiscriminator().getValue() != null || sup.getDiscriminator().getStrategy() instanceof ValueMapDiscriminatorStrategy) { disc.setValue(disc.getMappingInfo().getValue(disc, adapt)); break; } } }
public void map(boolean adapt) { // if a superclass maps the discriminator value, so should we. // otherwise assume it's calculated ClassMapping sup = disc.getClassMapping(). getJoinablePCSuperclassMapping(); for (; sup != null; sup = sup.getJoinablePCSuperclassMapping()) { if (sup.getDiscriminator().getValue() != null || sup.getDiscriminator().getStrategy() instanceof ValueMapDiscriminatorStrategy) { disc.setValue(disc.getMappingInfo().getValue(disc, adapt)); break; } } }
public void map(boolean adapt) { // if a superclass maps the discriminator value, so should we. // otherwise assume it's calculated ClassMapping sup = disc.getClassMapping(). getJoinablePCSuperclassMapping(); for (; sup != null; sup = sup.getJoinablePCSuperclassMapping()) { if (sup.getDiscriminator().getValue() != null || sup.getDiscriminator().getStrategy() instanceof ValueMapDiscriminatorStrategy) { disc.setValue(disc.getMappingInfo().getValue(disc, adapt)); break; } } }
public void map(boolean adapt) { // if a superclass maps the discriminator value, so should we. // otherwise assume it's calculated ClassMapping sup = disc.getClassMapping(). getJoinablePCSuperclassMapping(); for (; sup != null; sup = sup.getJoinablePCSuperclassMapping()) { if (sup.getDiscriminator().getValue() != null || sup.getDiscriminator().getStrategy() instanceof ValueMapDiscriminatorStrategy) { disc.setValue(disc.getMappingInfo().getValue(disc, adapt)); break; } } }
public void map(boolean adapt) { // if a superclass maps the discriminator value, so should we. // otherwise assume it's calculated ClassMapping sup = disc.getClassMapping(). getJoinablePCSuperclassMapping(); for (; sup != null; sup = sup.getJoinablePCSuperclassMapping()) { if (sup.getDiscriminator().getValue() != null || sup.getDiscriminator().getStrategy() instanceof ValueMapDiscriminatorStrategy) { disc.setValue(disc.getMappingInfo().getValue(disc, adapt)); break; } } }
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")); } }