Sha256: 9e0a26fa1ed62b4c6a8d06a588951f1ab66f231cc72b2efd8f3188ac373b0e7c

Contents?: true

Size: 1.04 KB

Versions: 2

Compression:

Stored size: 1.04 KB

Contents

class Java::OrgMitreCyboxCore::ObjectType
  def add_related_object(object, relationship = nil)
    self.related_objects ||= org.mitre.cybox.core.RelatedObjectsType.new

    if object.kind_of?(org.mitre.cybox.core.RelatedObjectType)
      self.related_objects.add_related_object(object)
    else
      related_object = org.mitre.cybox.core.RelatedObjectType.new(:idref => object.id)
      if relationship
        if relationship.kind_of?(String)
          # Ugh, why does Java throw an exception here?
          begin
            enum = org.mitre.cybox.vocabularies.ObjectRelationshipEnum10.from_value(relationship)
            related_object.relationship = org.mitre.cybox.vocabularies.ObjectRelationshipVocab10.new(:value => enum.value)
          rescue
            related_object.relationship = org.mitre.cybox.common.ControlledVocabularyStringType.new(:value => relationship)
          end
        else
          related_object.relationship = relationship
        end
      end

      self.related_objects.add_related_object(related_object)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby_stix-0.2.0-java lib/ruby_stix/api/object.rb
ruby_stix-0.0.2-java lib/ruby_stix/api/object.rb