Code Duplication    Length = 23-23 lines in 2 locations

src/POData/Providers/Stream/StreamProviderWrapper.php 2 locations

@@ 149-171 (lines=23) @@
146
     *
147
     * @return string|null
148
     */
149
    public function getStreamContentType($entity, $resourceStreamInfo)
150
    {
151
        $contentType = null;
152
        $this->_saveContentTypeAndETag();
153
        $opContext = $this->_service->getOperationContext();
154
        if (is_null($resourceStreamInfo)) {
155
            $this->_loadAndValidateStreamProvider();
156
            $contentType = $this->_streamProvider->getStreamContentType($entity, $opContext);
157
            if (is_null($contentType)) {
158
                throw new InvalidOperationException(
159
                    Messages::streamProviderWrapperGetStreamContentTypeReturnsEmptyOrNull()
160
                );
161
            }
162
        } else {
163
            $this->_loadAndValidateStreamProvider2();
164
            assert($this->_streamProvider instanceof IStreamProvider2);
165
            $contentType = $this->_streamProvider->getStreamContentType2($entity, $resourceStreamInfo, $opContext);
166
        }
167
168
        $this->_verifyContentTypeOrETagModified('IDSSP::getStreamContentType');
169
170
        return $contentType;
171
    }
172
173
    /**
174
     * Get the ETag of the stream associated with the entity specified.
@@ 192-214 (lines=23) @@
189
     *
190
     * @return string Etag
191
     */
192
    public function getStreamETag($entity, $resourceStreamInfo)
193
    {
194
        $eTag = null;
195
        $this->_saveContentTypeAndETag();
196
        $opContext = $this->_service->getOperationContext();
197
        if (is_null($resourceStreamInfo)) {
198
            $this->_loadAndValidateStreamProvider();
199
            $eTag = $this->_streamProvider->getStreamETag($entity, $opContext);
200
        } else {
201
            $this->_loadAndValidateStreamProvider2();
202
            assert($this->_streamProvider instanceof IStreamProvider2);
203
            $eTag = $this->_streamProvider->getStreamETag2($entity, $resourceStreamInfo, $opContext);
204
        }
205
206
        $this->_verifyContentTypeOrETagModified('IDSSP::getStreamETag');
207
        if (!self::isETagValueValid($eTag, true)) {
208
            throw new InvalidOperationException(
209
                Messages::streamProviderWrapperGetStreamETagReturnedInvalidETagFormat()
210
            );
211
        }
212
213
        return $eTag;
214
    }
215
216
    /**
217
     * Gets the URI clients should use when making retrieve (ie. GET) requests