Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/eugenp/tutorials into JAV…
Browse files Browse the repository at this point in the history
…A-1672
  • Loading branch information
chaos2418 committed Nov 7, 2021
2 parents eca0e35 + b5a2c9b commit 7bf13de
Show file tree
Hide file tree
Showing 14 changed files with 209 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.baeldung.hexformat;

import java.util.HexFormat;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;

class ByteHexadecimalConversionUnitTest {

private HexFormat hexFormat = HexFormat.of();

@Test
void givenInitialisedHexFormat_whenHexStringIsPassed_thenByteArrayRepresentationIsReturned() {
byte[] hexBytes = hexFormat.parseHex("ABCDEF0123456789");
assertArrayEquals(new byte[] { -85, -51, -17, 1, 35, 69, 103, -119 }, hexBytes);
}

@Test
void givenInitialisedHexFormat_whenByteArrayIsPassed_thenHexStringRepresentationIsReturned() {
String bytesAsString = hexFormat.formatHex(new byte[] { -85, -51, -17, 1, 35, 69, 103, -119});
assertEquals("abcdef0123456789", bytesAsString);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.baeldung.hexformat;

import java.util.HexFormat;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class PrimitiveTypeHexadecimalConversionUnitTest {

private HexFormat hexFormat = HexFormat.of();

@Test
void givenInitialisedHexFormat_whenPrimitiveByteIsPassed_thenHexStringRepresentationIsReturned() {
String fromByte = hexFormat.toHexDigits((byte)64);
assertEquals("40", fromByte);
}

@Test
void givenInitialisedHexFormat_whenPrimitiveLongIsPassed_thenHexStringRepresentationIsReturned() {
String fromLong = hexFormat.toHexDigits(1234_5678_9012_3456L);
assertEquals("000462d53c8abac0", fromLong);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package com.baeldung.hexformat;

import java.util.HexFormat;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

public class StringFormattingUnitTest {

private HexFormat hexFormat = HexFormat.of().withPrefix("[").withSuffix("]").withDelimiter(", ");

@Test
public void givenInitialisedHexFormatWithFormattedStringOptions_whenByteArrayIsPassed_thenHexStringRepresentationFormattedCorrectlyIsReturned() {
assertEquals("[48], [0c], [11]", hexFormat.formatHex(new byte[] {72, 12, 17}));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.baeldung.hexformat;

import java.util.HexFormat;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertTrue;

public class UppercaseLowercaseOutputUnitTest {

@Test
public void givenInitialisedHexFormat_whenByteArrayIsPassed_thenLowerCaseHexStringRepresentationIsReturned() {
HexFormat hexFormat = HexFormat.of();
String bytesAsString = hexFormat.formatHex(new byte[] { -85, -51, -17, 1, 35, 69, 103, -119});
assertTrue(isLowerCase(bytesAsString));
}

@Test
public void givenInitialisedHexFormatWithUpperCaseOption_whenByteArrayIsPassed_thenLowerCaseHexStringRepresentationIsReturned() {
HexFormat hexFormat = HexFormat.of().withUpperCase();
String bytesAsString = hexFormat.formatHex(new byte[] { -85, -51, -17, 1, 35, 69, 103, -119});
assertTrue(isUpperCase(bytesAsString));
}

private boolean isLowerCase(String str) {
char[] charArray = str.toCharArray();
for (int i=0; i < charArray.length; i++) {
if (Character.isUpperCase(charArray[i]))
return false;
}
return true;
}

private boolean isUpperCase(String str) {
char[] charArray = str.toCharArray();
for (int i=0; i < charArray.length; i++) {
if (Character.isLowerCase(charArray[i]))
return false;
}
return true;
}
}
3 changes: 3 additions & 0 deletions docker/docker-sample-app/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
FROM openjdk:11
COPY target/docker-sample-app-0.0.1.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
3 changes: 3 additions & 0 deletions docker/docker-sample-app/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### Relevant Articles:

- How to Get Docker-Compose to Always Use the Latest Image
8 changes: 8 additions & 0 deletions docker/docker-sample-app/docker-compose-build-image.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
version: '2.4'
services:
db:
image: postgres
my_app:
build: .
ports:
- "8080:8080"
9 changes: 9 additions & 0 deletions docker/docker-sample-app/docker-compose-with-image.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: '2.4'
services:
db:
image: postgres
my_app:
image: "eugen/test-app:latest"
ports:
- "8080:8080"

45 changes: 45 additions & 0 deletions docker/docker-sample-app/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.baeldung.docker</groupId>
<artifactId>docker</artifactId>
<version>0.0.1</version>
</parent>

<artifactId>docker-sample-app</artifactId>
<name>docker-sample-app</name>
<description>Demo project for Spring Boot and Docker</description>

<properties>
<java.version>11</java.version>
</properties>

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.baeldung.docker.app;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DockAppApplication {

public static void main(String[] args) {
SpringApplication.run(DockAppApplication.class, args);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.baeldung.docker.app.endpoint;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyController {

@GetMapping
public String version() {
return "1.7";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.baeldung.docker.app;

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class DockAppApplicationUnitTest {

@Test
void contextLoads() {
}

}
1 change: 1 addition & 0 deletions docker/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
<modules>
<module>docker-internal-dto</module>
<module>docker-spring-boot</module>
<module>docker-sample-app</module>
</modules>

</project>

0 comments on commit 7bf13de

Please sign in to comment.