use of com.google.cloud.dialogflow.cx.v3beta1.Flow in project java-dialogflow-cx by googleapis.
the class ITSystemTest method setUp.
@BeforeClass
public static void setUp() throws IOException, ExecutionException, InterruptedException {
/* create agents */
agentsClient = AgentsClient.create();
Agent agent = Agent.newBuilder().setDisplayName(DISPLAY_NAME).setDescription(DESCRIPTION).setTimeZone(AGENT_TIME_ZONE).setDefaultLanguageCode(DEFAULT_LANGUAGE_CODE).setStartFlow(ID).setEnableStackdriverLogging(true).build();
Agent response = agentsClient.createAgent(PARENT, agent);
agentName = response.getName();
/* create entity types */
entityTypesClient = EntityTypesClient.create();
EntityType entityType = EntityType.newBuilder().setAutoExpansionMode(EntityType.AutoExpansionMode.AUTO_EXPANSION_MODE_DEFAULT).setAutoExpansionModeValue(1).setDisplayName(DISPLAY_NAME).setEnableFuzzyExtraction(true).setKind(EntityType.Kind.KIND_LIST).build();
CreateEntityTypeRequest request = CreateEntityTypeRequest.newBuilder().setParent(agentName).setEntityType(entityType).build();
EntityType entityTypeResponse = entityTypesClient.createEntityType(request);
entityTypesName = entityTypeResponse.getName();
/* create flows */
flowsClient = FlowsClient.create();
Flow flow = Flow.newBuilder().setNluSettings(NLUSETTINGS).setDisplayName(DISPLAY_NAME).setDescription(DESCRIPTION).build();
CreateFlowRequest createFlowRequest = CreateFlowRequest.newBuilder().setParent(agentName).setFlow(flow).build();
Flow flowResponse = flowsClient.createFlow(createFlowRequest);
flowName = flowResponse.getName();
Flow trainFlow = Flow.newBuilder().setNluSettings(NLUSETTINGS).setDisplayName(DISPLAY_NAME2).setDescription(DESCRIPTION).build();
CreateFlowRequest createTrainFlowRequest = CreateFlowRequest.newBuilder().setParent(agentName).setFlow(trainFlow).build();
Flow trainFlowResponse = flowsClient.createFlow(createTrainFlowRequest);
trainFlowName = trainFlowResponse.getName();
/* create intents */
intentsClient = IntentsClient.create();
Intent intent = Intent.newBuilder().setDisplayName(DISPLAY_NAME).setPriority(1).build();
CreateIntentRequest createIntentRequest = CreateIntentRequest.newBuilder().setIntent(intent).setParent(agentName).build();
Intent intentResponse = intentsClient.createIntent(createIntentRequest);
intentsName = intentResponse.getName();
/* create pages */
pagesClient = PagesClient.create();
Page page = Page.newBuilder().setDisplayName(DISPLAY_NAME).build();
CreatePageRequest createPageRequest = CreatePageRequest.newBuilder().setPage(page).setParent(flowName).build();
Page pageResponse = pagesClient.createPage(createPageRequest);
pageName = pageResponse.getName();
/* create session */
sessionsClient = SessionsClient.create();
/* create transition route groups */
transitionRouteGroupsClient = TransitionRouteGroupsClient.create();
TransitionRouteGroup transitionRouteGroup = TransitionRouteGroup.newBuilder().setDisplayName(DISPLAY_NAME).build();
CreateTransitionRouteGroupRequest transitionRouteGroupRequest = CreateTransitionRouteGroupRequest.newBuilder().setParent(flowName).setTransitionRouteGroup(transitionRouteGroup).build();
TransitionRouteGroup transitionRouteGroupResponse = transitionRouteGroupsClient.createTransitionRouteGroup(transitionRouteGroupRequest);
transitionRouteGroupName = transitionRouteGroupResponse.getName();
/* create version */
versionsClient = VersionsClient.create();
Version version = Version.newBuilder().setStateValue(2).setDisplayName(DISPLAY_NAME).build();
CreateVersionRequest createVersionRequest = CreateVersionRequest.newBuilder().setParent(flowName).setVersion(version).build();
Version versionResponse = versionsClient.createVersionAsync(createVersionRequest).get();
versionName = versionResponse.getName();
}
use of com.google.cloud.dialogflow.cx.v3beta1.Flow in project java-dialogflow-cx by googleapis.
the class VersionsClientTest method listVersionsTest.
@Test
public void listVersionsTest() throws Exception {
Version responsesElement = Version.newBuilder().build();
ListVersionsResponse expectedResponse = ListVersionsResponse.newBuilder().setNextPageToken("").addAllVersions(Arrays.asList(responsesElement)).build();
mockVersions.addResponse(expectedResponse);
FlowName parent = FlowName.of("[PROJECT]", "[LOCATION]", "[AGENT]", "[FLOW]");
ListVersionsPagedResponse pagedListResponse = client.listVersions(parent);
List<Version> resources = Lists.newArrayList(pagedListResponse.iterateAll());
Assert.assertEquals(1, resources.size());
Assert.assertEquals(expectedResponse.getVersionsList().get(0), resources.get(0));
List<AbstractMessage> actualRequests = mockVersions.getRequests();
Assert.assertEquals(1, actualRequests.size());
ListVersionsRequest actualRequest = ((ListVersionsRequest) actualRequests.get(0));
Assert.assertEquals(parent.toString(), actualRequest.getParent());
Assert.assertTrue(channelProvider.isHeaderSent(ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), GaxGrpcProperties.getDefaultApiClientHeaderPattern()));
}
use of com.google.cloud.dialogflow.cx.v3beta1.Flow in project java-dialogflow-cx by googleapis.
the class CreateFlow method createFlow.
// Create a flow in the specified agent.
public static Flow createFlow(String displayName, String projectId, String locationId, String agentId, Map<String, String> eventsToFulfillmentMessages) throws IOException, ApiException {
FlowsSettings.Builder flowsSettingsBuilder = FlowsSettings.newBuilder();
if (locationId.equals("global")) {
flowsSettingsBuilder.setEndpoint("dialogflow.googleapis.com:443");
} else {
flowsSettingsBuilder.setEndpoint(locationId + "-dialogflow.googleapis.com:443");
}
FlowsSettings flowsSettings = flowsSettingsBuilder.build();
// Instantiates a client
try (FlowsClient flowsClient = FlowsClient.create(flowsSettings)) {
// Set the project agent name using the projectID (my-project-id), locationID (global), and
// agentID (UUID).
AgentName parent = AgentName.of(projectId, locationId, agentId);
// Build the EventHandlers for the flow using the mapping from events to fulfillment messages.
List<EventHandler> eventHandlers = new ArrayList<>();
for (Map.Entry<String, String> item : eventsToFulfillmentMessages.entrySet()) {
eventHandlers.add(EventHandler.newBuilder().setEvent(// Event (sys.no-match-default)
item.getKey()).setTriggerFulfillment(Fulfillment.newBuilder().addMessages(ResponseMessage.newBuilder().setText(Text.newBuilder().addText(item.getValue()).build()).build()).build()).build());
}
// Build the flow.
Flow flow = Flow.newBuilder().setDisplayName(displayName).addAllEventHandlers(eventHandlers).build();
// Performs the create flow request.
Flow response = flowsClient.createFlow(parent, flow);
// TODO : Uncomment if you want to print response
// System.out.format("Flow created: %s\n", response.toString());
flowsClient.shutdown();
return response;
}
}
use of com.google.cloud.dialogflow.cx.v3beta1.Flow in project java-dialogflow-cx by googleapis.
the class CreateFlowIT method testCreateFlowRegional.
@Test
public void testCreateFlowRegional() throws Exception {
Flow result = CreateFlow.createFlow(DISPLAY_NAME, PROJECT_ID, LOCATION_REGIONAL, AGENT_ID_REGIONAL, EVENT_TO_FULFILLMENT_MESSAGES);
newFlowNameRegional = result.getName();
assertEquals(result.getDisplayName(), DISPLAY_NAME);
// Number of added event handlers + 2 default event handlers.
assertEquals(result.getEventHandlersCount(), EVENT_TO_FULFILLMENT_MESSAGES.size() + 2);
}
Aggregations