Skip to content
This repository was archived by the owner on Dec 3, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
/*
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.example.dialogflow;

// [START dialogflow_es_update_intent]
import com.google.cloud.dialogflow.v2.Intent;
import com.google.cloud.dialogflow.v2.Intent.Builder;
import com.google.cloud.dialogflow.v2.IntentsClient;
import com.google.cloud.dialogflow.v2.UpdateIntentRequest;
import com.google.protobuf.FieldMask;
import java.io.IOException;


public class UpdateIntent {

public static void main(String[] args) throws IOException {
// TODO(developer): Replace these variables before running the sample.
String projectId = "my-project-id";
String intentId = "my-intent-id";
String location = "my-location";
String displayName = "my-display-name";
updateIntent(projectId, intentId, location, displayName);
}

// DialogFlow API Update Intent sample.
public static void updateIntent(
String projectId, String intentId, String location, String displayName)
throws IOException {
try (IntentsClient client = IntentsClient.create()) {
String intentPath =
"projects/"
+ projectId
+ "/locations/"
+ location
+ "/agent/intents/"
+ intentId;

Builder intentBuilder = client.getIntent(intentPath).toBuilder();

intentBuilder.setDisplayName(displayName);
FieldMask fieldMask = FieldMask.newBuilder()
.addPaths("display_name")
.build();

Intent intent = intentBuilder.build();
UpdateIntentRequest request =
UpdateIntentRequest.newBuilder()
.setIntent(intent)
.setLanguageCode("en")
.setUpdateMask(fieldMask)
.build();

// Make API request to update intent using fieldmask
Intent response = client.updateIntent(request);
System.out.println(response);
}
}
}
// [END dialogflow_es_update_intent]
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
/*
* Copyright 2021 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.example.dialogflow;

import static com.google.common.truth.Truth.assertThat;

import com.google.cloud.dialogflow.v2.Agent;
import com.google.cloud.dialogflow.v2.Agent.Builder;
import com.google.cloud.dialogflow.v2.AgentsClient;
import com.google.cloud.dialogflow.v2.AgentsSettings;
import com.google.cloud.dialogflow.v2.Intent;
import com.google.cloud.dialogflow.v2.IntentsClient;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.UUID;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class UpdateIntentIT {

private static String PROJECT_ID = System.getenv().get("GOOGLE_CLOUD_PROJECT");

private static String parent = "projects/" + PROJECT_ID + "/locations/global/agent";
private static String intentID = "";
private static String intentPath = "";

private ByteArrayOutputStream stdOut;

@Before
public void setUp() throws IOException {

stdOut = new ByteArrayOutputStream();
System.setOut(new PrintStream(stdOut));

try (IntentsClient intentsClient = IntentsClient.create()) {
com.google.cloud.dialogflow.v2.Intent.Builder intent = Intent.newBuilder();
intent.setDisplayName("temp_intent_" + UUID.randomUUID().toString());

UpdateIntentIT.intentPath = intentsClient.createIntent(parent, intent.build()).getName();
UpdateIntentIT.intentID = UpdateIntentIT.intentPath.split("/")[6];
}
}

@After
public void tearDown() throws IOException {
stdOut = null;
System.setOut(null);

IntentsClient client = IntentsClient.create();

String intentPath =
"projects/"
+ PROJECT_ID
+ "/locations/global/agent/intents/"
+ UpdateIntentIT.intentID;

client.deleteIntent(intentPath);
}

@Test
public void testUpdateIntent() throws IOException {

String fakeIntent = "fake_intent_" + UUID.randomUUID().toString();

UpdateIntent.updateIntent(
PROJECT_ID, UpdateIntentIT.intentID, "global", fakeIntent);

assertThat(stdOut.toString()).contains(fakeIntent);
}
}