Report abuse


    def datastreams
      if @new_object
        @datastreams = datastreams_in_memory
      else
        @datastreams = (@datastreams == {}) ? datastreams_in_fedora : datastreams_in_memory
        #@datastreams = datastreams_in_fedora.merge(datastreams_in_memory)
      end

    end



[...]

    def save
      metadata_is_dirty = false
      # If it's a new object, set the conformsTo relationship for Fedora CMA
      if new_object? 
        add_relationship(:conforms_to, ActiveFedora::ContentModel.pid_from_ruby_class(self.class))
        metadata_is_dirty = true
      end
      @new_object = false
      Fedora::Repository.instance.save(@inner_object)
      datastreams_in_memory.each do |k,ds|
        if ds.dirty? || ds.new_object? 
          if ds.kind_of?(ActiveFedora::MetadataDatastream) || ds.instance_of?(ActiveFedora::RelsExtDatastream)
            metadata_is_dirty = true
          end
          ds.save
        end 
      end
      @datastreams = datastreams_in_fedora
      self.update_index if metadata_is_dirty == true && ENABLE_SOLR_UPDATES
    end