Search in sources :

Example 1 with IdentifyLabelsConfiguration

use of com.amplifyframework.predictions.aws.configuration.IdentifyLabelsConfiguration in project amplify-android by aws-amplify.

the class AWSPredictionsPluginConfigurationTest method testIdentifyLabelsConfiguration.

/**
 * Test that configuration with explicit "identifyLabels" section creates
 * customized label detection configuration instance.
 * @throws Exception if configuration fails
 */
@Test
public void testIdentifyLabelsConfiguration() throws Exception {
    JSONObject json = Resources.readAsJson("configuration-with-identify-labels.json");
    AWSPredictionsPluginConfiguration pluginConfig = AWSPredictionsPluginConfiguration.fromJson(json);
    // Custom identify labels configuration
    IdentifyLabelsConfiguration identifyConfig = pluginConfig.getIdentifyLabelsConfiguration();
    assertNotNull(identifyConfig);
    assertEquals(LabelType.LABELS, identifyConfig.getType());
    assertEquals(NetworkPolicy.AUTO, identifyConfig.getNetworkPolicy());
}
Also used : JSONObject(org.json.JSONObject) IdentifyLabelsConfiguration(com.amplifyframework.predictions.aws.configuration.IdentifyLabelsConfiguration) Test(org.junit.Test)

Example 2 with IdentifyLabelsConfiguration

use of com.amplifyframework.predictions.aws.configuration.IdentifyLabelsConfiguration 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);
}
Also used : IdentifyEntitiesConfiguration(com.amplifyframework.predictions.aws.configuration.IdentifyEntitiesConfiguration) SpeechGeneratorConfiguration(com.amplifyframework.predictions.aws.configuration.SpeechGeneratorConfiguration) TranslateTextConfiguration(com.amplifyframework.predictions.aws.configuration.TranslateTextConfiguration) JSONException(org.json.JSONException) InterpretTextConfiguration(com.amplifyframework.predictions.aws.configuration.InterpretTextConfiguration) JSONObject(org.json.JSONObject) IdentifyLabelsConfiguration(com.amplifyframework.predictions.aws.configuration.IdentifyLabelsConfiguration) IdentifyTextConfiguration(com.amplifyframework.predictions.aws.configuration.IdentifyTextConfiguration) Region(com.amazonaws.regions.Region) PredictionsException(com.amplifyframework.predictions.PredictionsException) NonNull(androidx.annotation.NonNull)

Aggregations

IdentifyLabelsConfiguration (com.amplifyframework.predictions.aws.configuration.IdentifyLabelsConfiguration)2 JSONObject (org.json.JSONObject)2 NonNull (androidx.annotation.NonNull)1 Region (com.amazonaws.regions.Region)1 PredictionsException (com.amplifyframework.predictions.PredictionsException)1 IdentifyEntitiesConfiguration (com.amplifyframework.predictions.aws.configuration.IdentifyEntitiesConfiguration)1 IdentifyTextConfiguration (com.amplifyframework.predictions.aws.configuration.IdentifyTextConfiguration)1 InterpretTextConfiguration (com.amplifyframework.predictions.aws.configuration.InterpretTextConfiguration)1 SpeechGeneratorConfiguration (com.amplifyframework.predictions.aws.configuration.SpeechGeneratorConfiguration)1 TranslateTextConfiguration (com.amplifyframework.predictions.aws.configuration.TranslateTextConfiguration)1 JSONException (org.json.JSONException)1 Test (org.junit.Test)1