Search in sources :

Example 1 with LatLng

use of com.google.type.LatLng in project firebase-android-sdk by firebase.

the class FirestoreIndexValueWriter method writeIndexValueAux.

private void writeIndexValueAux(Value indexValue, DirectionalIndexByteEncoder encoder) {
    switch(indexValue.getValueTypeCase()) {
        case NULL_VALUE:
            writeValueTypeLabel(encoder, INDEX_TYPE_NULL);
            break;
        case BOOLEAN_VALUE:
            writeValueTypeLabel(encoder, INDEX_TYPE_BOOLEAN);
            encoder.writeLong(indexValue.getBooleanValue() ? 1 : 0);
            break;
        case DOUBLE_VALUE:
            double number = indexValue.getDoubleValue();
            if (Double.isNaN(number)) {
                writeValueTypeLabel(encoder, INDEX_TYPE_NAN);
                break;
            }
            writeValueTypeLabel(encoder, INDEX_TYPE_NUMBER);
            if (number == -0.0) {
                // -0.0, 0 and 0.0 are all considered the same
                encoder.writeDouble(0.0);
            } else {
                encoder.writeDouble(number);
            }
            break;
        case INTEGER_VALUE:
            writeValueTypeLabel(encoder, INDEX_TYPE_NUMBER);
            // Double and long sort the same
            encoder.writeDouble(indexValue.getIntegerValue());
            break;
        case TIMESTAMP_VALUE:
            Timestamp timestamp = indexValue.getTimestampValue();
            writeValueTypeLabel(encoder, INDEX_TYPE_TIMESTAMP);
            encoder.writeLong(timestamp.getSeconds());
            encoder.writeLong(timestamp.getNanos());
            break;
        case STRING_VALUE:
            writeIndexString(indexValue.getStringValue(), encoder);
            writeTruncationMarker(encoder);
            break;
        case BYTES_VALUE:
            writeValueTypeLabel(encoder, INDEX_TYPE_BLOB);
            encoder.writeBytes(indexValue.getBytesValue());
            writeTruncationMarker(encoder);
            break;
        case REFERENCE_VALUE:
            writeIndexEntityRef(indexValue.getReferenceValue(), encoder);
            break;
        case GEO_POINT_VALUE:
            LatLng geoPoint = indexValue.getGeoPointValue();
            writeValueTypeLabel(encoder, INDEX_TYPE_GEOPOINT);
            encoder.writeDouble(geoPoint.getLatitude());
            encoder.writeDouble(geoPoint.getLongitude());
            break;
        case MAP_VALUE:
            if (Values.isMaxValue(indexValue)) {
                writeValueTypeLabel(encoder, Integer.MAX_VALUE);
                break;
            }
            writeIndexMap(indexValue.getMapValue(), encoder);
            writeTruncationMarker(encoder);
            break;
        case ARRAY_VALUE:
            writeIndexArray(indexValue.getArrayValue(), encoder);
            writeTruncationMarker(encoder);
            break;
        default:
            throw new IllegalArgumentException("unknown index value type " + indexValue.getValueTypeCase());
    }
}
Also used : LatLng(com.google.type.LatLng) Timestamp(com.google.protobuf.Timestamp)

Example 2 with LatLng

use of com.google.type.LatLng in project java-docs-samples by GoogleCloudPlatform.

the class CommuteSearchJobs method searchJobs.

// Search Jobs with histogram queries.
public static void searchJobs(String projectId, String tenantId) throws IOException {
    // the "close" method on the client to safely clean up any remaining background resources.
    try (JobServiceClient jobServiceClient = JobServiceClient.create()) {
        TenantName parent = TenantName.of(projectId, tenantId);
        String domain = "www.example.com";
        String sessionId = "Hashed session identifier";
        String userId = "Hashed user identifier";
        RequestMetadata requestMetadata = RequestMetadata.newBuilder().setDomain(domain).setSessionId(sessionId).setUserId(userId).build();
        CommuteMethod commuteMethod = CommuteMethod.DRIVING;
        long seconds = 3600L;
        Duration travelDuration = Duration.newBuilder().setSeconds(seconds).build();
        double latitude = 37.422408;
        double longitude = -122.084068;
        LatLng startCoordinates = LatLng.newBuilder().setLatitude(latitude).setLongitude(longitude).build();
        CommuteFilter commuteFilter = CommuteFilter.newBuilder().setCommuteMethod(commuteMethod).setTravelDuration(travelDuration).setStartCoordinates(startCoordinates).build();
        JobQuery jobQuery = JobQuery.newBuilder().setCommuteFilter(commuteFilter).build();
        SearchJobsRequest request = SearchJobsRequest.newBuilder().setParent(parent.toString()).setRequestMetadata(requestMetadata).setJobQuery(jobQuery).build();
        for (SearchJobsResponse.MatchingJob responseItem : jobServiceClient.searchJobs(request).iterateAll()) {
            System.out.format("Job summary: %s%n", responseItem.getJobSummary());
            System.out.format("Job title snippet: %s%n", responseItem.getJobTitleSnippet());
            Job job = responseItem.getJob();
            System.out.format("Job name: %s%n", job.getName());
            System.out.format("Job title: %s%n", job.getTitle());
        }
    }
}
Also used : SearchJobsRequest(com.google.cloud.talent.v4beta1.SearchJobsRequest) SearchJobsResponse(com.google.cloud.talent.v4beta1.SearchJobsResponse) TenantName(com.google.cloud.talent.v4beta1.TenantName) JobServiceClient(com.google.cloud.talent.v4beta1.JobServiceClient) Duration(com.google.protobuf.Duration) RequestMetadata(com.google.cloud.talent.v4beta1.RequestMetadata) CommuteFilter(com.google.cloud.talent.v4beta1.CommuteFilter) JobQuery(com.google.cloud.talent.v4beta1.JobQuery) LatLng(com.google.type.LatLng) Job(com.google.cloud.talent.v4beta1.Job) CommuteMethod(com.google.cloud.talent.v4beta1.CommuteMethod)

Aggregations

LatLng (com.google.type.LatLng)2 CommuteFilter (com.google.cloud.talent.v4beta1.CommuteFilter)1 CommuteMethod (com.google.cloud.talent.v4beta1.CommuteMethod)1 Job (com.google.cloud.talent.v4beta1.Job)1 JobQuery (com.google.cloud.talent.v4beta1.JobQuery)1 JobServiceClient (com.google.cloud.talent.v4beta1.JobServiceClient)1 RequestMetadata (com.google.cloud.talent.v4beta1.RequestMetadata)1 SearchJobsRequest (com.google.cloud.talent.v4beta1.SearchJobsRequest)1 SearchJobsResponse (com.google.cloud.talent.v4beta1.SearchJobsResponse)1 TenantName (com.google.cloud.talent.v4beta1.TenantName)1 Duration (com.google.protobuf.Duration)1 Timestamp (com.google.protobuf.Timestamp)1