jenkins-bot has submitted this change and it was merged.

Change subject: Use QueryAggregator with TTMServer if possible
......................................................................


Use QueryAggregator with TTMServer if possible

Call back via API if the service is public.

Change-Id: I6335950d14f1bcc1ac0388bbdbebe9da0c530fe9
---
M translationaids/TTMServerAid.php
M webservices/RemoteTTMServerWebService.php
M webservices/TranslationWebService.php
3 files changed, 25 insertions(+), 3 deletions(-)

Approvals:
  Siebrand: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/translationaids/TTMServerAid.php b/translationaids/TTMServerAid.php
index c628196..5a48e00 100644
--- a/translationaids/TTMServerAid.php
+++ b/translationaids/TTMServerAid.php
@@ -31,13 +31,18 @@
                $from = $this->group->getSourceLanguage();
                $to = $this->handle->getCode();
 
-               // "Local" queries using some client can't be run in parallel 
with web services
+               // "Local" queries using a client can't be run in parallel with 
web services
                global $wgTranslateTranslationServices;
                foreach ( $wgTranslateTranslationServices as $name => $config ) 
{
                        $server = TTMServer::factory( $config );
 
                        try {
                                if ( $server instanceof ReadableTTMServer ) {
+                                       // Except if they are public, we can 
call back via API
+                                       if ( isset( $config['public'] ) && 
$config['public'] === true ) {
+                                               continue;
+                                       }
+
                                        $query = $server->query( $from, $to, 
$text );
                                } else {
                                        continue;
diff --git a/webservices/RemoteTTMServerWebService.php 
b/webservices/RemoteTTMServerWebService.php
index 09bc1aa..ca713d5 100644
--- a/webservices/RemoteTTMServerWebService.php
+++ b/webservices/RemoteTTMServerWebService.php
@@ -33,10 +33,13 @@
                        'action' => 'ttmserver',
                        'sourcelanguage' => $from,
                        'targetlanguage' => $to,
-                       'text' => $text,
-                       '*', // Because we hate IE
+                       'text' => $text
                );
 
+               if ( isset( $this->config['service'] ) ) {
+                       $params['service'] = $this->config['service'];
+               }
+
                return TranslationQuery::factory( $this->config['url'] )
                        ->timeout( $this->config['timeout'] )
                        ->queryParamaters( $params );
diff --git a/webservices/TranslationWebService.php 
b/webservices/TranslationWebService.php
index e363fa5..4adc603 100644
--- a/webservices/TranslationWebService.php
+++ b/webservices/TranslationWebService.php
@@ -40,6 +40,20 @@
                        $config['timeout'] = 3;
                }
 
+               // Alter local ttmserver instance to appear as remote
+               // to take advantage of the query aggregator. But only
+               // if they are public.
+               if (
+                       isset( $config['class'] ) &&
+                       $config['class'] === 'ElasticSearchTTMServer' &&
+                       isset( $config['public'] ) &&
+                       $config['public'] === true
+               ) {
+                       $config['type'] = 'remote-ttmserver';
+                       $config['service'] = $name;
+                       $config['url'] = wfExpandURl( wfScript( 'api' ), 
PROTO_CANONICAL );
+               }
+
                if ( isset( $handlers[$config['type']] ) ) {
                        $class = $handlers[$config['type']];
 

-- 
To view, visit https://gerrit.wikimedia.org/r/225838
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6335950d14f1bcc1ac0388bbdbebe9da0c530fe9
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Amire80 <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to