Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
c2dc158
Update README.md
eugene-krivosheyev Oct 11, 2021
b42e1be
Add recordings.
eugene-krivosheyev Oct 11, 2021
325e156
New members
Oct 12, 2021
45610e8
Merge pull request #1 from Zinkertan/2021-10-db
Zinkertan Oct 12, 2021
0e5094b
fixed tests
Zinkertan Oct 13, 2021
e389dd9
uncommented and fixed char type input
Zinkertan Oct 14, 2021
56d01ed
uncommented shouldLogString test and fixed
Oct 14, 2021
b77fbda
uncommented and fixed bool type input
Zinkertan Oct 14, 2021
2942f43
uncommented shouldLogReference test and fixed
Oct 14, 2021
1b0a9da
fix for Logger
Zinkertan Oct 14, 2021
10dbde7
fixed functions order
Zinkertan Oct 14, 2021
56c9b52
fixed style
Zinkertan Oct 14, 2021
eada37d
add new format function
Zinkertan Oct 14, 2021
1468b0e
add new functionality for iter2
Zinkertan Oct 15, 2021
0b2f450
fix style for new functionality
Zinkertan Oct 15, 2021
cda93a1
fix for new functionality
Zinkertan Oct 15, 2021
ad87666
fix for new functionality
Zinkertan Oct 18, 2021
851c1f4
fix style for new functionality
Zinkertan Oct 18, 2021
d9207ab
new functionality
Zinkertan Oct 18, 2021
415ab64
fix new functionality
Zinkertan Oct 18, 2021
87e8d2b
fix new functionality
Zinkertan Oct 21, 2021
be1264b
added IntContainer fixed functionality
Zinkertan Oct 21, 2021
ddcf764
fixed
Zinkertan Oct 21, 2021
923e67c
new interface
Zinkertan Oct 21, 2021
8dfc90c
tests
Zinkertan Oct 26, 2021
f3b9da2
Added IntArrayMessage, IntMatrixMessage, IntCubeMessage and IntMultiM…
Oct 26, 2021
9826769
Merge branch 'master' of https://github.com/Zinkertan/java-junior
Oct 26, 2021
7839f41
tests
Zinkertan Oct 27, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Java Junior Developer Training Course.
88 hours training + 32 hours work project = 120 hr.

# Members
Alexandr Zakaluzhskii and Anna Shipil

# Recordings
- [11.10](https://us02web.zoom.us/rec/share/4K_bvC_0q8nvkzo26fSbcMVPM2uWzlQ9kqT2BbdbcQe-qeAdinWuF-rPfFBA0Pyp.R2IQ39ujDDEZjv1C)

---

# Introduction to Java and Java Technology (*1* hour theory / *including 0.5* hour practice)
Expand Down Expand Up @@ -633,3 +639,8 @@ assertMessageEquals("3")
- PM and Business Customers accept product with six demo sessions

---

# Парковка
- Spring: Core, MVC, Boot
- DB: JDBC, Templates, JPA
- CI: Jenkins, Sonar
95 changes: 86 additions & 9 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.acme.edu</groupId>
Expand All @@ -18,24 +18,101 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.7</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>verify</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.7.2</version>
<dependencies>
<dependency>
<groupId>org.pitest</groupId>
<artifactId>pitest-junit5-plugin</artifactId>
<version>0.15</version>
</dependency>
</dependencies>
<configuration>
<targetClasses>
<param>com.acme.edu.*</param>
</targetClasses>
<targetTests>
<param>com.acme.edu.*</param>
</targetTests>
<verbose>true</verbose>
</configuration>
<executions>
<execution>
<id>mutation-coverage</id>
<goals>
<goal>mutationCoverage</goal>
</goals>
</execution>
<execution>
<id>mutation-report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>3.21.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.easytesting</groupId>
<artifactId>fest-assert</artifactId>
<version>1.4</version>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>4.0.0</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
50 changes: 50 additions & 0 deletions src/main/java/com/acme/edu/Controller.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.acme.edu;

import com.acme.edu.message.EmptyMessage;
import com.acme.edu.message.DataEqualMessage;
import com.acme.edu.message.IllegalMessageExeption;
import com.acme.edu.printer.Printer;

public class Controller {
private Printer printer;
private DataEqualMessage buffer = new EmptyMessage();

Controller(Printer newPrinter) {
printer = newPrinter;
}

public void logMessage(DataEqualMessage message){
if (!message.isSum()) {
endLogging(buffer.isEndLogging());
sendLogToPrinter(message);
} else {
if (buffer.isEmpty()){
buffer = message;
} else {
try {
if(!buffer.isMAXMIN(message)) {
buffer.add(message);
} else {
sendLogToPrinter((DataEqualMessage) buffer.add(message));
endLogging(buffer.isEndLogging());
}
} catch (IllegalMessageExeption e){
printer.print(e.getMessage());
sendLogToPrinter(buffer);
buffer = message;
}
}
}
}

public void endLogging(boolean isEnd) {
if (!buffer.isEmpty() & isEnd ) {
sendLogToPrinter(buffer);
buffer = new EmptyMessage();
}
}

private void sendLogToPrinter(DataEqualMessage message){
printer.getMessage(message);
}
}
56 changes: 54 additions & 2 deletions src/main/java/com/acme/edu/Logger.java
Original file line number Diff line number Diff line change
@@ -1,11 +1,63 @@
package com.acme.edu;

import com.acme.edu.message.type.arrays.*;
import com.acme.edu.message.type.*;
import com.acme.edu.printer.Printer;

public class Logger {
private static final Controller logger = new Controller(new Printer());

private static boolean isSumming = false;

public static void setSumming(boolean isSum){
isSumming = isSum;
}

public static void log(int message) {
System.out.println("primitive: " + message);
logger.logMessage(new IntMessage(message,isSumming));
}

public static void log(int... message) {
logger.logMessage(new IntArrayMessage(message,isSumming));
}

public static void log(int[]... message) {
logger.logMessage(new IntMatrixMessage(message,isSumming));
}

public static void log(int[][]... message) {
logger.logMessage(new IntCubeMessage(message,isSumming));
}

public static void log(int[][][]... message) {
logger.logMessage(new IntMultiMatrixMessage(message,isSumming));
}

public static void log(char message) {
logger.logMessage(new CharMessage(message));
}

public static void log(byte message) {
System.out.println("primitive: " + message);
logger.logMessage(new ByteMessage(message,isSumming));
}

public static void log(String message) {
logger.logMessage(new StringMessage(message,isSumming));
}

public static void log(String... message) {
logger.logMessage(new StringArrayMessage(message,isSumming));
}

public static void log(Boolean message) {
logger.logMessage(new BoolMessage(message));
}

public static void log(Object message) {
logger.logMessage(new ObjectMessage(message));
}

public static void log(){
logger.endLogging(true);
}
}
44 changes: 44 additions & 0 deletions src/main/java/com/acme/edu/message/DataEqualMessage.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package com.acme.edu.message;

import java.util.Objects;

import static java.lang.System.lineSeparator;

public abstract class DataEqualMessage implements Message {

protected static final String SEP = lineSeparator();

protected Object data;
protected boolean isSumming = false;
protected boolean isEndLogging = false;
@Override
public Object getData() {
return data;
}

@Override
public boolean isEmpty(){
return this instanceof EmptyMessage;
}
@Override
public boolean isEndLogging() {
return isEndLogging;
}
@Override
public boolean isSum(){return isSumming;}
public boolean isSame(DataEqualMessage message){
return this.isSameType(message) && (Objects.equals(this.getData(),message.getData()));
}

@Override
public void setEndLogging(boolean isEnd) {
isEndLogging = isEnd;
}

public abstract String toString();

public boolean isMAXMIN(DataEqualMessage value){return false;}
public boolean isMAX(DataEqualMessage value){return false;}
public boolean isMIN(DataEqualMessage value){return false;}

}
33 changes: 33 additions & 0 deletions src/main/java/com/acme/edu/message/EmptyMessage.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.acme.edu.message;

public class EmptyMessage extends DataEqualMessage {
public EmptyMessage(){}

public EmptyMessage(boolean isEnd){
this();
this.setEndLogging(isEnd);
}
@Override
public void setMsg(Object message) {}

@Override
public void setMsg(Object message, boolean isSum) {}

@Override
public DataEqualMessage add(Message msg) {return this;}

@Override
public boolean isSameType(Message message) {
return message instanceof EmptyMessage;
}

@Override
public String toString() {
return "Empty";
}

@Override
public String prefix() {
return "";
}
}
11 changes: 11 additions & 0 deletions src/main/java/com/acme/edu/message/IllegalMessageExeption.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.acme.edu.message;

public class IllegalMessageExeption extends Exception{
public IllegalMessageExeption(String msg){
super(msg);
}

public IllegalMessageExeption(){
super();
}
}
23 changes: 23 additions & 0 deletions src/main/java/com/acme/edu/message/Message.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.acme.edu.message;

public interface Message {
Object getData();

boolean isEmpty();

boolean isEndLogging();

boolean isSum();

boolean isSameType(Message message);

void setMsg(Object message);

void setMsg(Object message, boolean isSum);

Message add(Message message) throws IllegalMessageExeption;

void setEndLogging(boolean isEnd);

String prefix();
}
Loading