Skip to content

Commit 44ff3af

Browse files
committed
Main refactor
1 parent 7858499 commit 44ff3af

36 files changed

Lines changed: 350 additions & 1522 deletions

‎ProcessMaker/Contracts/WebServiceCallerInterface.php‎

Lines changed: 0 additions & 15 deletions
This file was deleted.

‎ProcessMaker/Contracts/WebServiceConfigBuilderInterface.php‎

Lines changed: 0 additions & 15 deletions
This file was deleted.

‎ProcessMaker/Contracts/WebServiceRequestBuilderInterface.php‎

Lines changed: 0 additions & 16 deletions
This file was deleted.

‎ProcessMaker/Contracts/WebServiceResponseMapperInterface.php‎

Lines changed: 0 additions & 17 deletions
This file was deleted.

‎ProcessMaker/Factories/SoapClientFactory.php‎

Lines changed: 0 additions & 14 deletions
This file was deleted.

‎ProcessMaker/Managers/WebServiceSoapConfigBuilder.php‎

Lines changed: 0 additions & 139 deletions
This file was deleted.

‎ProcessMaker/Models/FeelExpressionEvaluator.php‎

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,8 @@
1212
*/
1313
class FeelExpressionEvaluator implements TemplateExpressionInterface
1414
{
15-
private $engine;
16-
17-
public function __construct()
18-
{
19-
$this->engine = new FormalExpression();
20-
}
21-
2215
/**
23-
* Evaluates the template using the mustache engine, if some error is generated an empty string
16+
* Evaluates the template using the feel expression engine, if some error is generated an empty string
2417
* is returned
2518
*
2619
* @param string $template
@@ -30,8 +23,9 @@ public function __construct()
3023
public function render($template, $data)
3124
{
3225
try {
33-
$this->engine->setBody($template);
34-
return $this->engine($data);
26+
$formal = new FormalExpression();
27+
$formal->setBody($template);
28+
return $formal($data);
3529
} catch (Exception $exception) {
3630
return "{$template}: " . $exception->getMessage();
3731
}

‎ProcessMaker/Providers/WorkflowServiceProvider.php‎

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,18 @@
1111
use ProcessMaker\Assets\ScriptsInScreen;
1212
use ProcessMaker\Bpmn\MustacheOptions;
1313
use ProcessMaker\BpmnEngine;
14-
use ProcessMaker\Contracts\SoapClientInterface;
14+
use ProcessMaker\WebServices\Contracts\SoapClientInterface;
1515
use ProcessMaker\Contracts\TimerExpressionInterface;
1616
use ProcessMaker\Facades\WorkflowManager as WorkflowManagerFacade;
1717
use ProcessMaker\Factories\SoapClientFactory;
1818
use ProcessMaker\Listeners\BpmnSubscriber;
1919
use ProcessMaker\Listeners\CommentsSubscriber;
2020
use ProcessMaker\Managers\ExportManager;
2121
use ProcessMaker\Managers\TaskSchedulerManager;
22-
use ProcessMaker\Managers\WebServiceSoapConfigBuilder;
23-
use ProcessMaker\Managers\WebServiceSoapRequestBuilder;
24-
use ProcessMaker\Managers\WebServiceSoapResponseBuilder;
25-
use ProcessMaker\Managers\WebServiceSoapServiceCaller;
22+
use ProcessMaker\WebServices\SoapConfigBuilder;
23+
use ProcessMaker\WebServices\SoapRequestBuilder;
24+
use ProcessMaker\WebServices\SoapResponseMapper;
25+
use ProcessMaker\WebServices\SoapServiceCaller;
2626
use ProcessMaker\Managers\WorkflowManager;
2727
use ProcessMaker\Models\FormalExpression;
2828
use ProcessMaker\Nayra\Bpmn\Models\EventDefinitionBus;
@@ -39,6 +39,7 @@
3939
use ProcessMaker\Nayra\Contracts\Storage\BpmnDocumentInterface;
4040
use ProcessMaker\Repositories\BpmnDocument;
4141
use ProcessMaker\Repositories\DefinitionsRepository;
42+
use ProcessMaker\WebServices\NativeSoapClient;
4243
use ProcessMaker\WebServices\WebServiceRequest;
4344

4445
class WorkflowServiceProvider extends ServiceProvider
@@ -204,18 +205,17 @@ function (ThrowEventInterface $source, EventDefinitionInterface $sourceEventDefi
204205
});
205206

206207
$this->app->bind(SoapClientInterface::class, function ($app, $request_config) {
207-
$factory = new SoapClientFactory();
208-
return $factory->createNativeSoapClient($request_config['wsdl'], $request_config['options']);
208+
return new NativeSoapClient($request_config['wsdl'], $request_config['options']);
209209
});
210210

211211
// @todo Complete the WebServiceRequest Factory
212212
$this->app->bind('WebServiceRequest', function ($app, $params) {
213213
$dataSource = $params['dataSource'];
214214
return new WebServiceRequest(
215-
new WebServiceSoapConfigBuilder(),
216-
new WebServiceSoapRequestBuilder(),
217-
new WebServiceSoapResponseBuilder(),
218-
new WebServiceSoapServiceCaller(),
215+
new SoapConfigBuilder(),
216+
new SoapRequestBuilder(),
217+
new SoapResponseMapper(),
218+
new SoapServiceCaller(),
219219
$dataSource
220220
);
221221
});

‎ProcessMaker/Traits/MakeHttpRequests.php‎

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
use GuzzleHttp\Exception\GuzzleException;
99
use ProcessMaker\Exception\HttpResponseException;
1010
use ProcessMaker\Helpers\DataTypeHelper;
11-
use ProcessMaker\WebServices\JsonResponseMapper;
11+
use ProcessMaker\WebServices\RestResponseMapper;
1212
use ProcessMaker\WebServices\RestRequestBuilder;
1313
use ProcessMaker\WebServices\RestServiceCaller;
14-
use ProcessMaker\WebServices\WebServiceConfigBuilder;
14+
use ProcessMaker\WebServices\RestConfigBuilder;
1515

1616
trait MakeHttpRequests
1717
{
@@ -32,7 +32,7 @@ public function request(array $requestData = [], array $config = [])
3232
{
3333
try {
3434
$request = $this->prepareRequestWithOutboundConfig($requestData, $config);
35-
$response = $this->call(...$request);
35+
$response = $this->call($request);
3636
return $this->responseWithHeaderData($response, $requestData, $config);
3737
} catch (ClientException $exception) {
3838
throw new HttpResponseException($exception->getResponse());
@@ -41,7 +41,7 @@ public function request(array $requestData = [], array $config = [])
4141

4242
public function prepareRequestWithOutboundConfig($data, $config)
4343
{
44-
$configBuilder = new WebServiceConfigBuilder();
44+
$configBuilder = new RestConfigBuilder();
4545
$requestBuilder = new RestRequestBuilder($this->client ?? null);
4646
$dsConfig = ['endpoints' => $this->endpoints, 'credentials' => $this->credentials, 'authtype' => $this->authtype];
4747
//TODO mover para que config no necesite una prop. privada
@@ -57,12 +57,12 @@ private function responseWithHeaderData($response, array $data = [], array $conf
5757
if (is_array($response)) {
5858
$status = $response['status'];
5959
$bodyContent = $response['response'];
60-
$responseHeaders = $response['headers'] ?? [];
60+
$headers = $response['headers'] ?? [];
6161
}
6262
else {
6363
$status = $response->getStatusCode();
6464
$bodyContent = $response->getBody()->getContents();
65-
$responseHeaders = $response->getHeaders();
65+
$headers = $response->getHeaders();
6666
}
6767

6868
if (!DataTypeHelper::isJson($bodyContent)) {
@@ -80,19 +80,19 @@ private function responseWithHeaderData($response, array $data = [], array $conf
8080
throw new HttpResponseException($response);
8181
}
8282

83-
$mapper = new JsonResponseMapper();
83+
$mapper = new RestResponseMapper();
8484
$dsConfig = ['endpoints' => $this->endpoints, 'credentials' => $this->credentials];
85-
$mapped = $mapper->map($content, $status, $responseHeaders, $config, $dsConfig, $data);
85+
$responseData = compact('content', 'status', 'headers');
86+
$config['dataSourceInfo'] = $dsConfig;
87+
$mapped = $mapper->map($responseData, $config, $data);
8688

8789
return $mapped;
8890
}
8991

90-
//private function call($method, $url, array $headers, $body, $bodyType)
91-
private function call(...$request)
92+
private function call($request)
9293
{
9394
$client = $this->client ?? new Client(['verify' => $this->verifySsl]);
9495
$caller = new RestServiceCaller($client);
95-
return $caller->call($this->config, ...$request);
96+
return $caller->call($request);
9697
}
97-
9898
}

0 commit comments

Comments
 (0)