use of com.amplifyframework.predictions.aws.configuration.InterpretTextConfiguration in project amplify-android by aws-amplify.
the class AWSPredictionsPluginConfigurationTest method testInterpretTextConfiguration.
/**
* Test that configuration with explicit "interpretText" section creates
* customized interpret configuration instance.
* @throws Exception if configuration fails
*/
@Test
public void testInterpretTextConfiguration() throws Exception {
JSONObject json = Resources.readAsJson("configuration-with-interpret.json");
AWSPredictionsPluginConfiguration pluginConfig = AWSPredictionsPluginConfiguration.fromJson(json);
// Custom interpret configuration
InterpretTextConfiguration interpretConfig = pluginConfig.getInterpretTextConfiguration();
assertNotNull(interpretConfig);
assertEquals(InterpretTextConfiguration.InterpretType.SENTIMENT, interpretConfig.getType());
assertEquals(NetworkPolicy.OFFLINE, interpretConfig.getNetworkPolicy());
}
use of com.amplifyframework.predictions.aws.configuration.InterpretTextConfiguration in project amplify-android by aws-amplify.
the class AWSPredictionsPluginConfiguration method fromJson.
/**
* Constructs an instance of {@link AWSPredictionsPluginConfiguration} from
* the plugin configuration JSON object.
* @param configurationJson the plugin configuration
* @return the configuration object for AWS Predictions Plugin
* @throws PredictionsException if configuration is missing or malformed
*/
@NonNull
static AWSPredictionsPluginConfiguration fromJson(JSONObject configurationJson) throws PredictionsException {
if (configurationJson == null) {
throw new PredictionsException("Could not locate predictions configuration for AWS Predictions Plugin.", "Verify that amplifyconfiguration.json contains a section for \"awsPredictionsPlugin\".");
}
final Region defaultRegion;
final SpeechGeneratorConfiguration speechGeneratorConfiguration;
final TranslateTextConfiguration translateTextConfiguration;
final IdentifyLabelsConfiguration identifyLabelsConfiguration;
final IdentifyEntitiesConfiguration identifyEntitiesConfiguration;
final IdentifyTextConfiguration identifyTextConfiguration;
final InterpretTextConfiguration interpretConfiguration;
try {
// Get default region
String regionString = configurationJson.getString(ConfigKey.DEFAULT_REGION.key());
defaultRegion = Region.getRegion(regionString);
if (configurationJson.has(ConfigKey.CONVERT.key())) {
JSONObject convertJson = configurationJson.getJSONObject(ConfigKey.CONVERT.key());
speechGeneratorConfiguration = SpeechGeneratorConfiguration.fromJson(convertJson);
translateTextConfiguration = TranslateTextConfiguration.fromJson(convertJson);
} else {
speechGeneratorConfiguration = null;
translateTextConfiguration = null;
}
if (configurationJson.has(ConfigKey.IDENTIFY.key())) {
JSONObject identifyJson = configurationJson.getJSONObject(ConfigKey.IDENTIFY.key());
identifyLabelsConfiguration = IdentifyLabelsConfiguration.fromJson(identifyJson);
identifyEntitiesConfiguration = IdentifyEntitiesConfiguration.fromJson(identifyJson);
identifyTextConfiguration = IdentifyTextConfiguration.fromJson(identifyJson);
} else {
identifyLabelsConfiguration = null;
identifyEntitiesConfiguration = null;
identifyTextConfiguration = null;
}
if (configurationJson.has(ConfigKey.INTERPRET.key())) {
JSONObject interpretJson = configurationJson.getJSONObject(ConfigKey.INTERPRET.key());
interpretConfiguration = InterpretTextConfiguration.fromJson(interpretJson);
} else {
interpretConfiguration = null;
}
} catch (JSONException | IllegalArgumentException exception) {
throw new PredictionsException("Issue encountered while parsing configuration JSON", exception, "Check the attached exception for more details.");
}
return new AWSPredictionsPluginConfiguration(defaultRegion, speechGeneratorConfiguration, translateTextConfiguration, identifyLabelsConfiguration, identifyEntitiesConfiguration, identifyTextConfiguration, interpretConfiguration);
}
Aggregations