Skip to content

Commit

Permalink
remove warnings
Browse files Browse the repository at this point in the history
format source code
  • Loading branch information
deepcloudlabs committed Jun 25, 2020
1 parent bc89295 commit 857ab77
Show file tree
Hide file tree
Showing 18 changed files with 347 additions and 22 deletions.
18 changes: 18 additions & 0 deletions hr-microservice-hexagonal/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,24 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.example.hr;

import java.util.List;
import java.util.stream.IntStream;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
Expand All @@ -9,40 +10,47 @@
import org.springframework.boot.autoconfigure.SpringBootApplication;

import com.example.hr.adapter.EmployeeRepositoryMongoAdapter;
import com.example.hr.adapter.EventPublisherKafkaAdapter;
import com.example.hr.document.EmployeeDocument;
import com.example.hr.domain.Department;
import com.example.hr.domain.Employee;
import com.example.hr.domain.MoneyCurrency;
import com.example.hr.events.BusinessEvent;
import com.example.hr.repository.EmployeeMongoRepository;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
@SuppressWarnings("unused")
@SpringBootApplication
public class HrMicroserviceHexagonalApplication implements ApplicationRunner {
@Autowired private EmployeeRepositoryMongoAdapter mongoAdapter;
@Autowired private EmployeeMongoRepository mongoRepo;

@Autowired
private EmployeeRepositoryMongoAdapter mongoAdapter;
@Autowired
private EmployeeMongoRepository mongoRepo;
@Autowired
private EventPublisherKafkaAdapter kafkaAdapter;

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

@Override
public void run(ApplicationArguments args) throws Exception {
/*
Employee jack = new Employee.Builder("40310900232").fullname("jack", "bauer").birthYear(1956)
.salary(100_000, MoneyCurrency.USD).iban("TR820006235455781668847562").fulltime(true)
.department(Department.IT)
.photo("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"
.getBytes())
.build();
mongoAdapter.save(jack);
*/
List<EmployeeDocument> employees = mongoRepo.findAllByBirthYearBetweenAndDepartment(1950, 1960,Department.IT);

// Employee jack = new Employee.Builder("40310900232").fullname("jack", "bauer").birthYear(1956)
// .salary(100_000, MoneyCurrency.USD).iban("TR820006235455781668847562").fulltime(true)
// .department(Department.IT)
// .photo("iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAABC1BMVEX///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADXsw3hAAAAWXRSTlMAWQFYVwIlVUpSTypIR0wSKBFFAw9WCRo/OgUvQjMNIR5EBhBOLiIZExRTCjsdDlBBHD1UQwc4Sx8wQC0kKxtGBAwsPDEnMhU0N00gOSlJNSYjURY+CxcINmo6xHsAAATwSURBVHhe7Ztnbxs5EIbfGXK16l22VSwXufcax70kju30enf//5ccJDsXCPJyaK3I4BA/XwQLEN6Hs/SSw5Xwf+IZZnSZ7YwnmncTM8l0KtSKSIepuWyr/qa4vvQ3ujCzk3gAaE/dlr9SJCvZ99fLjZ6Di/jCcU5TD9WFegy+kV6bWh21AwMXX8oPSWTgQSPcWa8APML4RibdSycbehJvM/ujUmDgZHMgXXZYuWqAeRTxSzkiTU9FE21OxS9CADQN8ZLC0VhMA0Y7S6RoSBSF07GKwJjWwvDFIkwOb8DAqTB8GUUzswiGzT+k+GhKtxEMlz9JaiQGu6VhDOR8e4NwCANGU8i3R9FKG/zU/CKNDkVvG08zCLBNo0TT1lPvPzVSNEIUXT2tBDlSNGKW7A0YxyPPV5SDfX5V0chRlEBgK7BDDgwoXbHNXyIXKLpGYCfw3qoASvXvBGUO2C5/NSSJB0OdSs9t7j68IaJoHGwj8JmURXzy7uTb5X4luBgrvXydUxYKiup2Ai1SUnx6voQ+Nk7zFgqpWVgwFkoD0R8qALgLgJ8vX76Skq+BBdukzPn5DhAw+uAAaKyJpXsNCw6NAor2AgQRG+hJyb0MC7ZIGbd4QBDZQgg1sJoEwZxxDHOGhZ3BScGgAJFLLaxpgUEey8IkmIbIN2MBjk35AKNuvoAZiEyRis7PM4wwbqRbkcipSeCluJzwAZlIQuQ2UkBZfJxxZ5yGNYjUDQKfwaJAwihAsW4D4aqFwCIZgUg2SkDREUQYhbgCedP/EMsCGzqmQJoiWbQRaBsFQoisUBSqGr8CWxAJKYrdMRuBEsW8E973ZGoATal9G4HtuDsSiuaHhYB5TxCuQuQgf5BMfsxmc7nzcnlmb6/V2jqamPi+82qnvioLIMibCnAOGY5z2s4YFxbTJ8J92AhMkBL2Iy5h3IgNcnzknkJYzNwR4CUpoS9xCWM/ZbwCTQRwijADwzhH5/FPFhXNOy0AM67JyGbDZQEYuBJagimXBQgQ1IX8FhzCuJR6slob7C4e6yFpMvIOgbt8niSpL58HO4tHJ0tmFN26nP0fiLSQ/wlgV/HVsnw4degwPyMPn4qu8gOMzUjD16TPwHCUX1ghTUJ+vupqBWBs1OTyr1Xc5V/MieWnBMAOF38tDD9bBbvKD5AhJQy/6XD4jI509ZPLAMMdM6SMw59nl/EsbH8pWwIYLjEs/4po0nE8Y9uYv+A4H4zvhrO82l9gx/mGhyqKwoLz9oOxbrgCy87zwXgTLTDtPh+MPVKRD4UY7qmkDcf57gUYP3T0AxGGB4FlQwE8wBh/fApomocPA45+qnPjSSBBSjiCcSxQJCU8F3UskIkQeAH2I3AaIdAE+6pATQ1So6IvgXl6FH8CheJJYpCTYhWMPwOOAn8czzzzeyf/r2D8DgcGUKmeLSQWzjoVAOw/f/HFHN2Tfj8OsO/4XN+vaz6e+VRg4FM3vO/LlS/YmwGDW//F/1IoB74MGK9IP7Ipn/BWgIVe/qBBwlMJgrcRfcHmhZ8CLEb2xtt+WsOriCNSTYd+BD51BeTGwP/5iKJ/wL+zNdRU9COwQVGUwN7uQ4NoOvLVmFxqUo+dkPpqTBjrRGow/53H1Wi6bzG8/2PK63rcOX+I/fmSLYDhDwbendMvcsIBuRMDlD6sfUztppKvMgUMnf/Mv8NIVU+cyYl6AAAAAElFTkSuQmCC"
// .getBytes())
// .build();
// mongoAdapter.save(jack);
// List<EmployeeDocument> employees = mongoRepo.findAllByBirthYearBetweenAndDepartment(1950, 1960, Department.IT);
List<EmployeeDocument> employees = mongoRepo.araBul(1950, 1960);
System.err.println(employees);
employees.forEach(System.out::println);

IntStream.range(100, 200).forEach(
i -> kafkaAdapter.publishEvent(new BusinessEvent(Integer.toString(i), "employees", "test data")));
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@
import com.example.hr.repository.EmployeeMongoRepository;
import com.example.hr.repository.EmployeeRepository;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
@Repository
@Persistence(PersistenceTarget.MONGO)
public class EmployeeRepositoryMongoAdapter implements EmployeeRepository{
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
package com.example.hr.adapter;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.stereotype.Service;

import com.example.hr.events.BusinessEvent;
import com.example.hr.infrastructure.EventPushlisher;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
@Service
public class EventPublisherKafkaAdapter implements EventPushlisher {
@Autowired
private KafkaTemplate<String, BusinessEvent> kafkaTemplate;

@Override
public void publishEvent(BusinessEvent event) {
kafkaTemplate.send("employees", event);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.example.hr.adapter;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;

import com.example.hr.events.BusinessEvent;
import com.example.hr.infrastructure.EventPushlisher;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
//@Service
public class EventPublisherRabbitAdapter implements EventPushlisher {

@Autowired
private RabbitTemplate rabbitTemplate;
@Autowired
private ObjectMapper mapper;

@Override
public void publishEvent(BusinessEvent event) {
String payload;
try {
payload = mapper.writeValueAsString(event);
rabbitTemplate.convertAndSend("employeex", null, payload);
} catch (JsonProcessingException e) {
throw new IllegalArgumentException(e.getMessage());
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.messaging.simp.SimpMessagingTemplate;
import org.springframework.stereotype.Service;

import com.example.hr.events.BusinessEvent;
import com.example.hr.infrastructure.EventPushlisher;
Expand All @@ -12,10 +11,11 @@
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
@Service
//@Service
public class EventPuslisherWebsocketAdapter implements EventPushlisher {
@Autowired private SimpMessagingTemplate messagingTemplate;

@Autowired
private SimpMessagingTemplate messagingTemplate;

@Override
public void publishEvent(BusinessEvent event) {
messagingTemplate.convertAndSend("changes", event);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
@Configuration
@EnableWebSocketMessageBroker
public class WebsocketConfig implements WebSocketMessageBrokerConfigurer {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,19 @@

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Sharded;

import com.example.hr.domain.Department;
import com.example.validation.Iban;
import com.example.validation.TcKimlikNo;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
@Document(collection = "employees")
@Sharded(shardKey = "identity", immutableKey = true)
public class EmployeeDocument {
@TcKimlikNo
@Id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@

import org.springframework.beans.factory.annotation.Qualifier;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE, ElementType.PARAMETER, ElementType.FIELD})
@Qualifier
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
package com.example.hr.meta;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
public enum PersistenceTarget {
JPA_MYSQL, MONGO, CASSANDRA, REDIS, ELASTIC_SEARCH
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,14 @@
import com.example.hr.document.EmployeeDocument;
import com.example.hr.domain.Department;

/**
*
* @author Binnur Kurt <binnur.kurt@gmail.com>
*
*/
public interface EmployeeMongoRepository extends MongoRepository<EmployeeDocument, String>{
List<EmployeeDocument> findAllByBirthYearBetweenAndDepartment(int fromYear,int toYear,Department department);
@Query(value = "{'birthYear': {'$gt': 'fromYear', '$lt': 'toYear'}}")
@Query(value = "{'birthYear': {'$gt': ?0, '$lt': ?1}}")
List<EmployeeDocument> araBul(int fromYear,int toYear);

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,18 @@ spring.jpa.show-sql=true


#mongodb configuration
spring.data.mongodb.uri=mongodb://localhost:27017/hr
spring.data.mongodb.uri=mongodb://localhost:27017/hr

# rabbitmq configuration
spring.rabbitmq.host=localhost
spring.rabbitmq.username=demoadmin
spring.rabbitmq.password=secret123

# kafka configuration
spring.kafka.consumer.group-id=hr
spring.kafka.consumer.auto-offset-reset=earliest
spring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializer
spring.kafka.consumer.value-deserializer=org.springframework.kafka.support.serializer.JsonDeserializer
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.springframework.kafka.support.serializer.JsonSerializer
spring.kafka.consumer.properties.spring.json.trusted.packages=*
73 changes: 73 additions & 0 deletions identity-card-microservice/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
<?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>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>identity-card-microservice</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>identity-card-microservice</name>
<description>Spring Boot Project for Identity Card Service</description>

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

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

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka-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>
Loading

0 comments on commit 857ab77

Please sign in to comment.