Skip to content

Instantly share code, notes, and snippets.

class PersonTest {
@Test
void testWhenPersonFetchedRecordComponentsNotNull() {
Map<String, Object> fetchedPerson = PersonHttpUtil.fetchPerson();
Person person = Person.from(fetchedPerson);
assertThat(person, notNullValue());
assertThat(person.email(), is(not(emptyOrNullString())));
assertThat(person.fullName(), notNullValue());
assertThat(person.fullName().first(), is(not(emptyOrNullString())));
@JsonIgnoreProperties(ignoreUnknown = true)
public record Person(
@JsonProperty("gender") String gender,
@JsonProperty("name") Name fullName,
@JsonProperty("email") String email) {
public static Person from(Map<String, Object> personMap) {
return new ObjectMapper().convertValue(personMap, Person.class);
}
}
@Gogetter
Gogetter / EmailData.java
Last active March 31, 2022 10:11
EmailData as a record class
public record EmailData(
String recipient,
String subject,
String message,
Set<EmailAttachment> emailAttachments) {
public EmailData {
Objects.requireNonNull(recipient);
subject = Objects.requireNonNullElse(subject, "");
message = Objects.requireNonNullElse(message, "");
}
@Gogetter
Gogetter / EmailData.java
Last active March 20, 2022 09:20
Lombok Approach
@Value
public class EmailData {
String recipient;
String subject;
String message;
Set<EmailAttachment> attachments;
@JsonIgnore
public boolean hasAttachments() {
return (attachments != null && !attachments.isEmpty());
public class EmailData {
private final String recipient;
private final String subject;
private final String message;
private final Set<EmailAttachment> emailAttachments;
public EmailData() {
}
public String getRecipient() {
@Gogetter
Gogetter / HttpTriggerFunctionWithBlobInput.java
Last active August 1, 2021 07:01
Http trigger function with Blob input
@FunctionName("download")
@StorageAccount("<STORAGE-ACCOUNT-NAME-FROM-THIS-DEPLOYED-FUNCTION")
public HttpResponseMessage downloadFile(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET},
authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
@BlobInput(
name = "filename",
@Gogetter
Gogetter / HttpTriggerFunction.java
Created July 15, 2021 10:11
basic http trigger function
@FunctionName("download")
public HttpResponseMessage downloadFile(
@HttpTrigger(
name = "req",
methods = {HttpMethod.GET, HttpMethod.POST},
authLevel = AuthorizationLevel.ANONYMOUS)
HttpRequestMessage<Optional<String>> request,
final ExecutionContext context) {
context.getLogger().info("FileDownloadHttpTrigger processed a request.");
@Gogetter
Gogetter / cadence-modified-docker-compose.yaml
Last active November 5, 2020 19:27
Modified cadence docker compose file for postgres
version: '3'
services:
postgres:
image: postgres:12
environment:
POSTGRES_USER: cadence
POSTGRES_PASSWORD: cadence
ports:
- "5432:5432"
cadence:
@Gogetter
Gogetter / App.js
Created August 8, 2020 12:52
app js file for reactjs-soujourn blog post
import React from "react"
import Search from "./components/search/Search";
import "./style.css"
function App() {
return (
<div>
<Search />
</div>
@Gogetter
Gogetter / Profile.js
Created August 8, 2020 12:50
profile js file for reactjs-soujourn blog post
import React from "react"
import Avatar from "../avatar/Avatar"
function Profile(props) {
return (
<div className="container">
<Avatar
avatarData = {{imageUrl: props.avatar_url,
imageAlt: props.login}}