public int getNumberOfMembers() { AbstractMemberMetaData[] mmds = getInternal().getMemberMetaData(); return (mmds != null ? mmds.length : 0); }
if (embmd.getOwnerMember() != null) str.append(" owner-field=\"" + embmd.getOwnerMember() + "\""); if (embmd.getNullIndicatorColumn() != null) str.append(" null-indicator-column=\"" + embmd.getNullIndicatorColumn() + "\""); if (embmd.getNullIndicatorValue() != null) str.append(" null-indicator-value=\"" + embmd.getNullIndicatorValue() + "\""); if (embmd.getDiscriminatorMetaData() != null) str.append(getXMLForMetaData(embmd.getDiscriminatorMetaData(), prefix+indent, indent)); AbstractMemberMetaData[] members = embmd.getMemberMetaData(); if (members != null) processExtensions(embmd.getExtensions(), str, prefix, indent);
if (embmd == null) embmd = new EmbeddedMetaData(); embmd.setParent(mmd); mmd.setEmbeddedMetaData(embmd); embmd.setOwnerMember(mmd.getName()); mmd.setEmbeddedMetaData(embmd); embmd.addMember(ammd); ammd.setParent(embmd); embmd.addMember(ammd); ammd.addColumn(JPAAnnotationUtils.getColumnMetaDataForColumnAnnotation(ammd, overriddenMember, column));
@Override public void initialize(AbstractMemberMetaData mmd, DatastoreContainerObject container, ClassLoaderResolver clr) { MetaDataManager mmgr = container.getStoreManager().getMetaDataManager(); if (mmd.getEmbeddedMetaData() == null) { EmbeddedMetaData embmd = new EmbeddedMetaData(); embmd.setOwnerMember(mmd.getName()); mmd.setEmbeddedMetaData(embmd); embmd.populate(clr, null, mmgr); embmd.initialise(clr, mmgr); } super.initialize(mmd, container, clr); } }
@Override public boolean isForeignJoinColumn(EntityType<?> ownerType, String attributeName) { ManagedTypeImpl<?> managedType = (ManagedTypeImpl<?>) ownerType; String[] parts = attributeName.split("\\."); AbstractMemberMetaData metaData = managedType.getMetadata().getMetaDataForMember(parts[0]); for (int i = 1; i < parts.length; i++) { EmbeddedMetaData embeddedMetaData = metaData.getEmbeddedMetaData(); if (embeddedMetaData == null) { // Probably trying to access the id attribute of a ToMany relation return metaData.getJoinMetaData() != null; } else { AbstractMemberMetaData[] metaDatas = embeddedMetaData.getMemberMetaData(); metaData = null; for (int j = 0; j < metaDatas.length; j++) { if (parts[i].equals(metaDatas[j].getName())) { metaData = metaDatas[j]; break; } } if (metaData == null) { throw new IllegalArgumentException("Could not find property '" + parts[i] + "' in embeddable type: " + ((AbstractMemberMetaData) embeddedMetaData.getParent()).getType().getName()); } } } return metaData.getJoinMetaData() != null; }
public String getOwnerMember() { return getInternal().getOwnerMember(); }
String nullIndicatorColumn = embeddedMetaData.getNullIndicatorColumn(); String nullIndicatorValue = embeddedMetaData.getNullIndicatorValue(); int embFieldNum = embeddedCmd.getAbsolutePositionOfMember(fieldName); if (fieldName.equals(embeddedMetaData.getOwnerMember())) int embFieldNum = embeddedCmd.getAbsolutePositionOfMember(fieldName); if (!fieldName.equals(embeddedMetaData.getOwnerMember()) && !embeddedMmd.isPrimaryKey())
ownerMmd.getElementMetaData().getEmbeddedMetaData().getOwnerMember() != null && ownerMmd.getElementMetaData().getEmbeddedMetaData().getOwnerMember().equals(mmd.getName())) ownerMmd.getEmbeddedMetaData().getOwnerMember() != null && ownerMmd.getEmbeddedMetaData().getOwnerMember().equals(mmd.getName())) if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName(); if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName(); AbstractMemberMetaData[] embmmds = embmd.getMemberMetaData(); boolean isNull = true; for (int i=0;i<embmmds.length;i++) if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName(); if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName(); if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName();
if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getNullIndicatorColumn() != null) { String nullColumn = mmd.getEmbeddedMetaData().getNullIndicatorColumn(); String nullValue = mmd.getEmbeddedMetaData().getNullIndicatorValue(); AbstractMemberMetaData[] embMmds = mmd.getEmbeddedMetaData().getMemberMetaData(); AbstractMemberMetaData nullMmd = null; for (int i=0;i<embMmds.length;i++) { if (elemCmd.hasDiscriminatorStrategy()) { collDiscName = elemCmd.getDiscriminatorColumnName(); if (embmd != null && embmd.getDiscriminatorMetaData() != null) { DiscriminatorMetaData dismd = embmd.getDiscriminatorMetaData(); ColumnMetaData discolmd = dismd.getColumnMetaData(); if (discolmd != null && discolmd.getName() != null) { if (elemCmd.hasDiscriminatorStrategy()) { arrDiscName = elemCmd.getDiscriminatorColumnName(); if (embmd != null && embmd.getDiscriminatorMetaData() != null) { DiscriminatorMetaData dismd = embmd.getDiscriminatorMetaData(); ColumnMetaData discolmd = dismd.getColumnMetaData(); if (discolmd != null && discolmd.getName() != null) {
AbstractMemberMetaData mmd = cmd.getMetaDataForManagedMemberAtAbsolutePosition(fieldNumber); EmbeddedMetaData embmd = mmds.get(0).getEmbeddedMetaData(); if (mmds.size() == 1 && embmd != null && embmd.getOwnerMember() != null && embmd.getOwnerMember().equals(mmd.getName())) AbstractMemberMetaData[] embmmds = embmd.getMemberMetaData(); boolean isNull = true; for (int i=0;i<embmmds.length;i++)
EmbeddedMetaData embmd = new EmbeddedMetaData(); embmd.setOwnerMember(embeddedMappings[0].ownerMember()); embmd.setNullIndicatorColumn(embeddedMappings[0].nullIndicatorColumn()); embmd.setNullIndicatorValue(embeddedMappings[0].nullIndicatorValue()); try DiscriminatorMetaData dismd = embmd.newDiscriminatorMetadata(); dismd.setColumnName(disc.column()); dismd.setStrategy(JDOAnnotationUtils.getDiscriminatorStrategyString(disc.strategy())); EmbeddedMetaData embmd = new EmbeddedMetaData(); embmd.setOwnerMember(embeddedMappings[0].ownerMember()); embmd.setNullIndicatorColumn(embeddedMappings[0].nullIndicatorColumn()); embmd.setNullIndicatorValue(embeddedMappings[0].nullIndicatorValue()); keymd.setEmbeddedMetaData(embmd); embeddedKeyMembers = embeddedMappings[0].members(); EmbeddedMetaData embmd = new EmbeddedMetaData(); embmd.setOwnerMember(embeddedMappings[0].ownerMember()); embmd.setNullIndicatorColumn(embeddedMappings[0].nullIndicatorColumn()); embmd.setNullIndicatorValue(embeddedMappings[0].nullIndicatorValue()); valuemd.setEmbeddedMetaData(embmd); embeddedValueMembers = embeddedMappings[0].members(); EmbeddedMetaData embmd = new EmbeddedMetaData(); embmd.setOwnerMember(embeddedOwnerField); embmd.setNullIndicatorColumn(embeddedNullIndicatorColumn); embmd.setNullIndicatorValue(embeddedNullIndicatorValue); mmd.setEmbeddedMetaData(embmd);
embFmds = emd.getMemberMetaData(); disColmd.setAllowsNull(Boolean.TRUE); DiscriminatorMetaData embDismd = (emd != null) ? emd.getDiscriminatorMetaData() : null; if (embDismd != null && embDismd.getColumnMetaData() != null)
ownerMmd.getElementMetaData().getEmbeddedMetaData().getOwnerMember() != null && ownerMmd.getElementMetaData().getEmbeddedMetaData().getOwnerMember().equals(mmd.getName())) ownerMmd.getEmbeddedMetaData().getOwnerMember() != null && ownerMmd.getEmbeddedMetaData().getOwnerMember().equals(mmd.getName())) if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName(); if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName(); if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName(); if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName(); if (mmd.getEmbeddedMetaData() != null && mmd.getEmbeddedMetaData().getDiscriminatorMetaData() != null) discPropName = mmd.getEmbeddedMetaData().getDiscriminatorMetaData().getColumnName();
EmbeddedMetaData emd = new EmbeddedMetaData(mmd,mmd.getName(),"",""); mmd.setEmbeddedMetaData(emd); AttributeOverride[] attributeOverride = (AttributeOverride[])annotationValues.get("value"); null,null,null, null,null); emd.addMember(apmd); try
if (emd != null) nullColumn = emd.getNullIndicatorColumn(); nullValue = emd.getNullIndicatorValue();
if (embmd == null) embmd = new EmbeddedMetaData(); embmd.setParent(mmd); mmd.setEmbeddedMetaData(embmd); embmd.addMember(embMmd); pushStack(mmd);
public DiscriminatorMetadata getDiscriminatorMetadata() { DiscriminatorMetaData internalDismd = getInternal().getDiscriminatorMetaData(); if (internalDismd == null) { return null; } DiscriminatorMetadataImpl dismd = new DiscriminatorMetadataImpl(internalDismd); dismd.parent = this; return dismd; }
public String getNullIndicatorValue() { return getInternal().getNullIndicatorValue(); }
public String getNullIndicatorColumn() { return getInternal().getNullIndicatorColumn(); }
private AbstractMemberMetaData getMemberMetaDataForTuples(AbstractClassMetaData acmd, List<String> tuples) { AbstractMemberMetaData ammd = acmd.getMetaDataForMember(tuples.get(0)); if (ammd == null || tuples.size() == 1) { return ammd; } // more than one tuple, so it must be embedded data String parentFullClassName = acmd.getFullClassName(); for (String tuple : tuples.subList(1, tuples.size())) { EmbeddedMetaData emd = ammd.getEmbeddedMetaData(); if (emd == null) { throw new NucleusFatalUserException( query.getSingleStringQuery() + ": Can only reference properties of a sub-object if " + "the sub-object is embedded."); } DatastoreTable parentTable = getStoreManager().getDatastoreClass(parentFullClassName, getClassLoaderResolver()); parentFullClassName = ammd.getTypeName(); AbstractMemberMetaData parentField = (AbstractMemberMetaData) emd.getParent(); EmbeddedMapping embeddedMapping = (EmbeddedMapping) parentTable.getMappingForFullFieldName(parentField.getFullFieldName()); ammd = findMemberMetaDataWithName(tuple, embeddedMapping); if (ammd == null) { break; } } return ammd; }