Skip to content

Commit

Permalink
Merge pull request #2072 from mauretto78/develop-fix-guess-tag
Browse files Browse the repository at this point in the history
GuessTag fix
  • Loading branch information
mauretto78 authored Jun 24, 2021
2 parents aa00df8 + ac733ec commit feef943
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 37 deletions.
38 changes: 19 additions & 19 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions lib/Controller/getTagProjectionController.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,11 +104,12 @@ public function getTagProjection() {
$engine = Engine::getInstance( 1 );
$engine->setFeatureSet( $this->featureSet );

$dateRefMap = Segments_SegmentOriginalDataDao::getSegmentDataRefMap( $this->id_segment );
$dataRefMap = Segments_SegmentOriginalDataDao::getSegmentDataRefMap( $this->id_segment );
$featureSet = ( $this->featureSet !== null ) ? $this->featureSet : new \FeatureSet();
$Filter = MateCatFilter::getInstance( $featureSet, $this->source_lang, $this->target_lang, $dateRefMap );
$Filter = MateCatFilter::getInstance( $featureSet, $this->source_lang, $this->target_lang, $dataRefMap );

$config = [];
$config[ 'dataRefMap' ] = $dataRefMap;
$config[ 'source' ] = $Filter->fromLayer2ToLayer1( $this->source );
$config[ 'target' ] = $Filter->fromLayer2ToLayer1( $this->target );
$config[ 'source_lang' ] = $this->source_lang;
Expand All @@ -131,7 +132,6 @@ public function getTagProjection() {
}

\Log::$fileName = $this->old_logFile;

}

public function logTagProjection( $msg = null ) {
Expand Down
29 changes: 18 additions & 11 deletions lib/Utils/Engines/MyMemory.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class Engines_MyMemory extends Engines_AbstractEngine {
protected $content_type = 'json';

protected $_config = [
'dataRefMap' => [],
'segment' => null,
'translation' => null,
'tnote' => null,
Expand Down Expand Up @@ -54,35 +55,37 @@ protected function _decode( $rawValue ) {
$decoded = $rawValue; // already decoded in case of error
}

$dataRefMap = isset($this->_config['dataRefMap']) ? $this->_config['dataRefMap'] : [];

$result_object = null;

switch ( $functionName ) {
case 'tags_projection' :
$result_object = Engines_Results_MyMemory_TagProjectionResponse::getInstance( $decoded, $this->featureSet );
$result_object = Engines_Results_MyMemory_TagProjectionResponse::getInstance( $decoded, $this->featureSet, $dataRefMap );
break;
case 'api_key_check_auth_url':
$result_object = Engines_Results_MyMemory_AuthKeyResponse::getInstance( $decoded, $this->featureSet );
$result_object = Engines_Results_MyMemory_AuthKeyResponse::getInstance( $decoded, $this->featureSet, $dataRefMap );
break;
case 'api_key_create_user_url':
$result_object = Engines_Results_MyMemory_CreateUserResponse::getInstance( $decoded, $this->featureSet );
$result_object = Engines_Results_MyMemory_CreateUserResponse::getInstance( $decoded, $this->featureSet, $dataRefMap );
break;
case 'glossary_import_relative_url':
case 'tmx_import_relative_url':
case 'tmx_status_relative_url':
$result_object = Engines_Results_MyMemory_TmxResponse::getInstance( $decoded, $this->featureSet );
$result_object = Engines_Results_MyMemory_TmxResponse::getInstance( $decoded, $this->featureSet, $dataRefMap );
break;
case 'tmx_export_create_url' :
case 'tmx_export_check_url' :
case 'tmx_export_email_url' :
case 'glossary_export_relative_url' :
$result_object = Engines_Results_MyMemory_ExportResponse::getInstance( $decoded, $this->featureSet );
$result_object = Engines_Results_MyMemory_ExportResponse::getInstance( $decoded, $this->featureSet, $dataRefMap );
break;
case 'analyze_url':
$result_object = Engines_Results_MyMemory_AnalyzeResponse::getInstance( $decoded, $this->featureSet );
$result_object = Engines_Results_MyMemory_AnalyzeResponse::getInstance( $decoded, $this->featureSet, $dataRefMap );
break;
case 'contribute_relative_url':
case 'update_relative_url':
$result_object = Engines_Results_MyMemory_SetContributionResponse::getInstance( $decoded, $this->featureSet );
$result_object = Engines_Results_MyMemory_SetContributionResponse::getInstance( $decoded, $this->featureSet, $dataRefMap );
break;
default:

Expand Down Expand Up @@ -833,10 +836,14 @@ public function detectLanguage( $segs_array, $lang_detect_files ) {
*/
public function getTagProjection( $config ) {

$parameters = [];
$parameters[ 's' ] = $config[ 'source' ];
$parameters[ 't' ] = $config[ 'target' ];
$parameters[ 'hint' ] = $config[ 'suggestion' ];
// set dataRefMap needed to instance
// Engines_Results_MyMemory_TagProjectionResponse class
$this->_config[ 'dataRefMap' ] = isset($config[ 'dataRefMap' ]) ? $config[ 'dataRefMap' ] : [];

$parameters = [];
$parameters[ 's' ] = $config[ 'source' ];
$parameters[ 't' ] = $config[ 'target' ];
$parameters[ 'hint' ] = $config[ 'suggestion' ];

$this->engineRecord->base_url .= ':10000';
$this->engineRecord->others[ 'tags_projection' ] .= '/' . $config[ 'source_lang' ] . "/" . $config[ 'target_lang' ] . "/";
Expand Down
4 changes: 2 additions & 2 deletions lib/Utils/Engines/Results/AbstractResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ abstract class Engines_Results_AbstractResponse {
*/
protected $featureSet;

public static function getInstance( $result, FeatureSet $featureSet = null ){
public static function getInstance( $result, FeatureSet $featureSet = null, array $dataRefMap = []){

$class = get_called_class(); // late static binding, note: php >= 5.3

/**
* @var Engines_Results_AbstractResponse $instance
*/
$instance = new $class( $result );
$instance = new $class( $result, $dataRefMap );

if ( is_array( $result ) and array_key_exists( "error", $result ) ) {
$instance->error = new Engines_Results_ErrorMatches( $result[ 'error' ] );
Expand Down
4 changes: 2 additions & 2 deletions lib/Utils/Engines/Results/MyMemory/TagProjectionResponse.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@

class Engines_Results_MyMemory_TagProjectionResponse extends Engines_Results_AbstractResponse {

public function __construct( $response ){
public function __construct( $response, array $dataRefMap = [] ){
$featureSet = ($this->featureSet !== null) ? $this->featureSet : new FeatureSet();
$Filter = MateCatFilter::getInstance( $featureSet, null, null, [] );
$Filter = MateCatFilter::getInstance( $featureSet, null, null, $dataRefMap );
$this->responseData = isset( $response[ 'data' ][ 'translation' ] ) ? $Filter->fromLayer0ToLayer2( $response[ 'data' ][ 'translation' ] ) : '';
}

Expand Down

0 comments on commit feef943

Please sign in to comment.