public void addReferenceIndexes() { Collection<MetaField> fields = getClassFields(); for (MetaField field : fields) { if (field.getDataType() == DataTypeEnum.RELATIONSHIP && ((MetaRelationship) field).getRelationType() != RelationTypeEnum.Embedded) { String indexName = IndexInfo.INDEX_PREFIX + field.getName() + IndexInfo.INDEX_POSTFIX; IndexInfo relationshipIndex = new IndexInfo(indexName, true); relationshipIndex.addKeyField(field.getName()); options.addIndex(relationshipIndex); } } }
public void traverse(IMetadataVisistor visitor) { for (String fieldName : visitor.getVisitFields(this)) { MetaField field = getFieldByName(fieldName); visitor.processField(this, field); } visitor.processOption(this, this.getOptions(), graph); }
private void initIndex() { for(IndexInfo index : IndexInfo.getInternalIndexes()){ addIndex(index); } }
public MetaAttribute newAttribute(String fieldName, DataTypeEnum dataType, CardinalityEnum cardinality){ MetaAttribute metaField = new MetaAttribute(); metaField.setName(fieldName); metaField.setDataType(dataType); metaField.setCardinality(cardinality); return metaField; }
private MetaAttribute getFieldPropertyField(FieldProperty property, String propertyFullName) { MetaAttribute attribute = new MetaAttribute(); attribute.setName(propertyFullName); attribute.setDataType(property.getType()); return attribute; }
public static MetaRelationship newReference(String fieldName, String refDataType, RelationTypeEnum refRelation, CardinalityEnum cardinality){ MetaRelationship metaField = new MetaRelationship(); metaField.setName(fieldName); metaField.setDataType(DataTypeEnum.RELATIONSHIP); metaField.setCardinality(cardinality); metaField.setRefDataType(refDataType); metaField.setRelationType(refRelation); return metaField; }
public void validate(MetaClass meta) { checkMetaClassName(meta.getName()); checkNotInheritedFromEmbededClass(meta, Collections.<String, MetaClass> emptyMap()); validateFields(meta, Collections.<String, MetaClass> emptyMap(), true); validateIndex(meta, Collections.<String, MetaClass> emptyMap(), meta.getGraph()); for (MetaRelationship rel : meta.getFromReference()) { rel.validate(true, rel.getSourceMetaClass(), Collections.<String, MetaClass> emptyMap()); } }
private void setupParentVersion(MetaClass metaClass) { // update the parentVersion if existing. String parent = metaClass.getParent(); if (parent != null) { MetaClass parentMeta = metaClass.getParentMetaClass(); if (parentMeta != null) { metaClass.setParentVersion(parentMeta.getVersion()); } else { metaClass.setParentVersion(0); } } }
@Override public void processAttribute(IEntity currentEntity, MetaField metaField) { String fieldName = metaField.getName(); InternalFieldEnum fieldEnum = InternalFieldFactory.getInternalFieldEnum(fieldName); if (fieldEnum != null) { processInternalAttribute(fieldEnum, (BsonEntity)currentEntity, parentField, (BsonEntity)parentEntity); } else { processUserAttribute((BsonEntity)currentEntity, metaField); } }
@Override public String toString() { return "MetaAttribute [name=" + getName() + ", defaultValue=" + defaultValue + ", enumValues=" + enumValues + ", expression=" + expression + ", validation=" + validation + "]"; }
BasicDBObject deleteFieldAndFieldProperty(MetaField field) { BasicDBObject unsetBody = new BasicDBObject(); // delete field and its properties unsetBody.put(field.getFlattenValueDbName(), ""); for (FieldProperty fp : FieldProperty.values()) { unsetBody.put(field.getFlattenPropertyValueDbName(fp), ""); } return unsetBody; }
public MetaRelationship() { super(false); super.setDataType(DataTypeEnum.RELATIONSHIP); cascade = false; relationType = RelationTypeEnum.Reference; consistencyType = ConsistencyTypeEnum.Normal; }
private void expectValidateException(MetaAttribute ma1) { try { ma1.validate(false); } catch (IllegalMetaClassException e) { //expected exception // e.printStackTrace(); } }
@Override public boolean equals(Object other) { if (this == other) { return true; } return super.equals(other); }
public MetaAttribute newAttribute(String fieldName, DataTypeEnum dataType, CardinalityEnum cardinality){ MetaAttribute metaField = new MetaAttribute(); metaField.setName(fieldName); metaField.setDataType(dataType); metaField.setCardinality(cardinality); return metaField; }
public static MetaRelationship newReference(String fieldName, String refDataType, RelationTypeEnum refRelation, CardinalityEnum cardinality){ MetaRelationship metaField = new MetaRelationship(); metaField.setName(fieldName); metaField.setDataType(DataTypeEnum.RELATIONSHIP); metaField.setCardinality(cardinality); metaField.setRefDataType(refDataType); metaField.setRelationType(refRelation); return metaField; }