public AtlasRelationship()

in intg/src/main/java/org/apache/atlas/model/instance/AtlasRelationship.java [129:234]


    public AtlasRelationship(Map<?, ?> map) {
        super(map);

        if (map != null) {
            Object oGuid          = map.get(KEY_GUID);
            Object homeId         = map.get(KEY_HOME_ID);
            Object provenanceType = map.get(KEY_PROVENANCE_TYPE);
            Object oEnd1          = map.get(KEY_END1);
            Object oEnd2          = map.get(KEY_END2);
            Object label          = map.get(KEY_LABEL);
            Object propagateTags  = map.get(KEY_PROPAGATE_TAGS);
            Object status         = map.get(KEY_STATUS);
            Object createdBy      = map.get(KEY_CREATED_BY);
            Object updatedBy      = map.get(KEY_UPDATED_BY);
            Object createTime     = map.get(KEY_CREATE_TIME);
            Object updateTime     = map.get(KEY_UPDATE_TIME);
            Object version        = map.get(KEY_VERSION);

            Object propagatedClassifications        = map.get(KEY_PROPAGATED_CLASSIFICATIONS);
            Object blockedPropagatedClassifications = map.get(KEY_BLOCKED_PROPAGATED_CLASSIFICATIONS);

            if (oGuid != null) {
                setGuid(oGuid.toString());
            }

            if (homeId != null) {
                setHomeId(homeId.toString());
            }

            if (provenanceType instanceof Number) {
                setProvenanceType(((Number) provenanceType).intValue());
            }

            if (oEnd1 != null) {
                if (oEnd1 instanceof AtlasObjectId) {
                    setEnd1((AtlasObjectId) oEnd1);
                } else if (oEnd1 instanceof Map) {
                    setEnd1(new AtlasObjectId((Map) oEnd1));
                }
            }

            if (oEnd2 != null) {
                if (oEnd2 instanceof AtlasObjectId) {
                    setEnd2((AtlasObjectId) oEnd2);
                } else if (oEnd2 instanceof Map) {
                    setEnd2(new AtlasObjectId((Map) oEnd2));
                }
            }

            if (label != null) {
                setLabel(label.toString());
            }

            if (propagateTags != null) {
                setPropagateTags(PropagateTags.valueOf(propagateTags.toString()));
            }

            if (status != null) {
                setStatus(Status.valueOf(status.toString()));
            }

            if (createdBy != null) {
                setCreatedBy(createdBy.toString());
            }

            if (createTime instanceof Number) {
                setCreateTime(new Date(((Number) createTime).longValue()));
            }

            if (updatedBy != null) {
                setUpdatedBy(updatedBy.toString());
            }

            if (updateTime instanceof Number) {
                setUpdateTime(new Date(((Number) updateTime).longValue()));
            }

            if (version instanceof Number) {
                setVersion(((Number) version).longValue());
            }

            if (CollectionUtils.isNotEmpty((List<?>) propagatedClassifications)) {
                this.propagatedClassifications = new HashSet<>();

                for (Object elem : (List<?>) propagatedClassifications) {
                    if (elem instanceof AtlasClassification) {
                        this.propagatedClassifications.add((AtlasClassification) elem);
                    } else if (elem instanceof Map) {
                        this.propagatedClassifications.add(new AtlasClassification((Map) elem));
                    }
                }
            }

            if (CollectionUtils.isNotEmpty((List<?>) blockedPropagatedClassifications)) {
                this.blockedPropagatedClassifications = new HashSet<>();

                for (Object elem : (List<?>) blockedPropagatedClassifications) {
                    if (elem instanceof AtlasClassification) {
                        this.blockedPropagatedClassifications.add((AtlasClassification) elem);
                    } else if (elem instanceof Map) {
                        this.blockedPropagatedClassifications.add(new AtlasClassification((Map) elem));
                    }
                }
            }
        }
    }