Conditions | 10 |
Paths | 3 |
Total Lines | 99 |
Code Lines | 64 |
Lines | 0 |
Ratio | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
1 | <?php |
||
155 | public function retrieve($remoteId) |
||
156 | { |
||
157 | $remoteXml = $this->remoteRepository->retrieve($remoteId); |
||
158 | |||
159 | if ($remoteXml) { |
||
160 | |||
161 | $XSLTransformator = new XSLTransformator(); |
||
162 | $inputTransformedXML = $XSLTransformator->transformInputXML($remoteXml); |
||
163 | |||
164 | $internalFormat = new \EWW\Dpf\Helper\InternalFormat($inputTransformedXML); |
||
165 | |||
166 | $title = $internalFormat->getTitle(); |
||
167 | $authors = $internalFormat->getPersons(); |
||
168 | |||
169 | $documentTypeName = $internalFormat->getDocumentType(); |
||
170 | $documentType = $this->documentTypeRepository->findOneByName($documentTypeName); |
||
171 | |||
172 | if (empty($title) || empty($documentType)) { |
||
173 | return false; |
||
174 | } |
||
175 | |||
176 | $state = $internalFormat->getRepositoryState(); |
||
177 | |||
178 | /* @var $document \EWW\Dpf\Domain\Model\Document */ |
||
179 | $document = $this->objectManager->get(Document::class); |
||
180 | |||
181 | switch ($state) { |
||
182 | case "ACTIVE": |
||
183 | $document->setState(DocumentWorkflow::STATE_NONE_ACTIVE); |
||
184 | break; |
||
185 | case "INACTIVE": |
||
186 | $document->setState(DocumentWorkflow::STATE_NONE_INACTIVE); |
||
187 | break; |
||
188 | case "DELETED": |
||
189 | $document->setState(DocumentWorkflow::STATE_NONE_DELETED); |
||
190 | break; |
||
191 | default: |
||
192 | throw new \Exception("Unknown object state: " . $state); |
||
193 | break; |
||
194 | } |
||
195 | |||
196 | $document->setRemoteLastModDate($internalFormat->getRepositoryLastModDate()); |
||
197 | $document->setObjectIdentifier($remoteId); |
||
198 | $document->setTitle($title); |
||
199 | $document->setAuthors($authors); |
||
200 | $document->setDocumentType($documentType); |
||
201 | |||
202 | $document->setXmlData($inputTransformedXML); |
||
203 | |||
204 | $document->setDateIssued($internalFormat->getDateIssued()); |
||
205 | |||
206 | $document->setProcessNumber($internalFormat->getProcessNumber()); |
||
207 | |||
208 | $creationDate = $internalFormat->getCreationDate(); |
||
209 | if (empty($creationDate)) { |
||
210 | $creationDate = $internalFormat->getRepositoryCreationDate(); |
||
211 | } |
||
212 | $document->setCreationDate($creationDate); |
||
213 | $document->setCreator($internalFormat->getCreator()); |
||
214 | |||
215 | $document->setTemporary(TRUE); |
||
216 | |||
217 | $this->documentRepository->add($document); |
||
218 | $this->persistenceManager->persistAll(); |
||
219 | |||
220 | foreach ($internalFormat->getFiles() as $attachment) { |
||
221 | |||
222 | /** @var File $file */ |
||
223 | $file = $this->objectManager->get(File::class); |
||
224 | $file->setContentType($attachment['mimetype']); |
||
225 | $file->setDatastreamIdentifier($attachment['id']); |
||
226 | $file->setFileIdentifier($attachment['id']); |
||
227 | $file->setLink($attachment['href']); |
||
228 | $file->setTitle($attachment['title']); |
||
229 | $file->setLabel($attachment['title']); |
||
230 | $file->setDownload($attachment['download']); |
||
231 | $file->setArchive($attachment['archive']); |
||
232 | $file->setFileGroupDeleted($attachment['deleted']); |
||
233 | |||
234 | if ($attachment['id'] == \EWW\Dpf\Domain\Model\File::PRIMARY_DATASTREAM_IDENTIFIER) { |
||
235 | $file->setPrimaryFile(true); |
||
236 | } |
||
237 | |||
238 | $file->setDocument($document); |
||
239 | |||
240 | $this->fileRepository->add($file); |
||
241 | $document->addFile($file); |
||
242 | } |
||
243 | |||
244 | $this->documentRepository->update($document); |
||
245 | $this->persistenceManager->persistAll(); |
||
246 | |||
247 | return $document; |
||
248 | |||
249 | } else { |
||
250 | return NULL; |
||
251 | } |
||
252 | |||
253 | return NULL; |
||
254 | } |
||
312 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths