Skip to content

Commit

Permalink
add description (#6761)
Browse files Browse the repository at this point in the history
  • Loading branch information
Praful Makani authored Nov 14, 2019
1 parent b017404 commit 740c755
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,12 @@ Builder setCreationTime(Long creationMillis) {
return this;
}

@Override
public Builder setDescription(String description) {
infoBuilder.setDescription(description);
return this;
}

@Override
Builder setLastModifiedTime(Long lastModifiedMillis) {
infoBuilder.setLastModifiedTime(lastModifiedMillis);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@
*/
package com.google.cloud.bigquery;

import static com.google.common.base.MoreObjects.firstNonNull;
import static com.google.common.base.Preconditions.checkNotNull;

import com.google.api.client.util.Data;
import com.google.api.services.bigquery.model.Routine;
import com.google.common.base.Function;
import com.google.common.base.MoreObjects;
Expand Down Expand Up @@ -59,6 +61,7 @@ public Routine apply(RoutineInfo routineInfo) {
private final String etag;
private final String routineType;
private final Long creationTime;
private final String description;
private final Long lastModifiedTime;
private final String language;
private final List<RoutineArgument> argumentList;
Expand All @@ -81,6 +84,9 @@ public abstract static class Builder {

abstract Builder setCreationTime(Long creationMillis);

/** Sets the description for the routine. */
abstract Builder setDescription(String description);

abstract Builder setLastModifiedTime(Long lastModifiedMillis);

/** Sets the language for the routine (e.g. SQL or JAVASCRIPT) */
Expand Down Expand Up @@ -140,6 +146,7 @@ static class BuilderImpl extends Builder {
private String etag;
private String routineType;
private Long creationTime;
private String description;
private Long lastModifiedTime;
private String language;
private List<RoutineArgument> argumentList;
Expand All @@ -154,6 +161,7 @@ static class BuilderImpl extends Builder {
this.etag = routineInfo.etag;
this.routineType = routineInfo.routineType;
this.creationTime = routineInfo.creationTime;
this.description = routineInfo.description;
this.lastModifiedTime = routineInfo.lastModifiedTime;
this.language = routineInfo.language;
this.argumentList = routineInfo.argumentList;
Expand All @@ -167,6 +175,7 @@ static class BuilderImpl extends Builder {
this.etag = routinePb.getEtag();
this.routineType = routinePb.getRoutineType();
this.creationTime = routinePb.getCreationTime();
this.description = routinePb.getDescription();
this.lastModifiedTime = routinePb.getLastModifiedTime();
this.language = routinePb.getLanguage();
if (routinePb.getArguments() != null) {
Expand Down Expand Up @@ -208,6 +217,12 @@ Builder setCreationTime(Long creationMillis) {
return this;
}

@Override
public Builder setDescription(String description) {
this.description = firstNonNull(description, Data.<String>nullOf(String.class));
return this;
}

@Override
Builder setLastModifiedTime(Long lastModifiedMillis) {
this.lastModifiedTime = lastModifiedMillis;
Expand Down Expand Up @@ -255,6 +270,7 @@ public RoutineInfo build() {
this.etag = builder.etag;
this.routineType = builder.routineType;
this.creationTime = builder.creationTime;
this.description = builder.description;
this.lastModifiedTime = builder.lastModifiedTime;
this.language = builder.language;
this.argumentList = builder.argumentList;
Expand Down Expand Up @@ -283,6 +299,11 @@ public Long getCreationTime() {
return creationTime;
}

/** Returns the description of the routine. */
public String getDescription() {
return description;
}

/**
* Returns the last modification time of the routine, represented as milliseconds since the epoch.
*/
Expand Down Expand Up @@ -332,6 +353,7 @@ public String toString() {
.add("etag", etag)
.add("routineType", routineType)
.add("creationTime", creationTime)
.add("description", description)
.add("lastModifiedTime", lastModifiedTime)
.add("language", language)
.add("arguments", argumentList)
Expand All @@ -348,6 +370,7 @@ public int hashCode() {
etag,
routineType,
creationTime,
description,
lastModifiedTime,
language,
argumentList,
Expand Down Expand Up @@ -388,6 +411,7 @@ Routine toPb() {
.setRoutineType(getRoutineType())
.setDefinitionBody(getBody())
.setCreationTime(getCreationTime())
.setDescription(getDescription())
.setLastModifiedTime(getLastModifiedTime())
.setLanguage(getLanguage());
if (getRoutineId() != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ public class RoutineInfoTest {
private static final String ETAG = "etag";
private static final String ROUTINE_TYPE = "SCALAR_FUNCTION";
private static final Long CREATION_TIME = 10L;
private static final String DESCRIPTION = "description";
private static final Long LAST_MODIFIED_TIME = 20L;
private static final String LANGUAGE = "SQL";

Expand All @@ -53,6 +54,7 @@ public class RoutineInfoTest {
.setEtag(ETAG)
.setRoutineType(ROUTINE_TYPE)
.setCreationTime(CREATION_TIME)
.setDescription(DESCRIPTION)
.setLastModifiedTime(LAST_MODIFIED_TIME)
.setLanguage(LANGUAGE)
.setArguments(ARGUMENT_LIST)
Expand All @@ -78,6 +80,7 @@ public void testBuilder() {
assertEquals(ETAG, ROUTINE_INFO.getEtag());
assertEquals(ROUTINE_TYPE, ROUTINE_INFO.getRoutineType());
assertEquals(CREATION_TIME, ROUTINE_INFO.getCreationTime());
assertEquals(DESCRIPTION, ROUTINE_INFO.getDescription());
assertEquals(LAST_MODIFIED_TIME, ROUTINE_INFO.getLastModifiedTime());
assertEquals(LANGUAGE, ROUTINE_INFO.getLanguage());
assertEquals(ARGUMENT_LIST, ROUTINE_INFO.getArguments());
Expand All @@ -93,6 +96,7 @@ public void testOf() {
assertNull(routineInfo.getEtag());
assertNull(routineInfo.getRoutineType());
assertNull(routineInfo.getCreationTime());
assertNull(routineInfo.getDescription());
assertNull(routineInfo.getLastModifiedTime());
assertNull(routineInfo.getLanguage());
assertNull(routineInfo.getArguments());
Expand All @@ -116,6 +120,7 @@ public void compareRoutineInfo(RoutineInfo expected, RoutineInfo value) {
assertEquals(expected.getEtag(), value.getEtag());
assertEquals(expected.getRoutineType(), value.getRoutineType());
assertEquals(expected.getCreationTime(), value.getCreationTime());
assertEquals(expected.getDescription(), value.getDescription());
assertEquals(expected.getLastModifiedTime(), value.getLastModifiedTime());
assertEquals(expected.getLanguage(), value.getLanguage());
assertEquals(expected.getArguments(), value.getArguments());
Expand Down

0 comments on commit 740c755

Please sign in to comment.