Browse Source

refactor: data module 분기

pull/6/head
지대한 8 months ago
parent
commit
a085711156
  1. 2
      app/kac-app/build.gradle
  2. 2
      common/util/build.gradle
  3. 11
      common/util/src/main/java/kr/co/palnet/kac/util/UtilApplication.java
  4. 27
      data/cns/build.gradle
  5. 0
      data/cns/src/main/java/kr/co/palnet/kac/data/cns/model/CnsFaqBas.java
  6. 0
      data/cns/src/main/java/kr/co/palnet/kac/data/cns/model/CnsQnaBas.java
  7. 0
      data/cns/src/main/java/kr/co/palnet/kac/data/cns/repository/CnsFaqBasRepository.java
  8. 0
      data/cns/src/main/java/kr/co/palnet/kac/data/cns/repository/CnsQnaBasRepository.java
  9. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComAdmDistrictBas.java
  10. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComArcrftBas.java
  11. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComAuthBas.java
  12. 4
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComConfirmBas.java
  13. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComFileBas.java
  14. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComIdntfBas.java
  15. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComRiseSetBas.java
  16. 3
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComSiteBas.java
  17. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComTrmnlBas.java
  18. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComAdmDistrictBasRepository.java
  19. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComArcrftBasRepository.java
  20. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComConfirmBasRepository.java
  21. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComFileBasRepository.java
  22. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComIdntBasRepository.java
  23. 2
      data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComRiseSetBasRepository.java
  24. 27
      data/ctr/build.gradle
  25. 0
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlBas.java
  26. 0
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstry.java
  27. 0
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstryArea.java
  28. 0
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlWarnLog.java
  29. 0
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlBasRepository.java
  30. 0
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlHstryAreaRepository.java
  31. 0
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlHstryRepository.java
  32. 0
      data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlWarnLogRepository.java
  33. 27
      data/flt/build.gradle
  34. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltCptAuthAdmDistrictRel.java
  35. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltCptAuthBas.java
  36. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanArcrft.java
  37. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanArea.java
  38. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanAreaCoord.java
  39. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanBas.java
  40. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanCtrCntrlRel.java
  41. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanPilot.java
  42. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltCptAuthAdmDistrictBasRepository.java
  43. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltCptAuthAdmDistrictRelRepository.java
  44. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanArcrftRepository.java
  45. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanAreaCoordRepository.java
  46. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanAreaRepository.java
  47. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanBasRepository.java
  48. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanCtrCntrlRelRepository.java
  49. 0
      data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanPilotRepository.java
  50. 27
      data/other/build.gradle
  51. 0
      data/other/src/main/java/kr/co/palnet/kac/data/other/model/SuredataEntity.java
  52. 0
      data/other/src/main/java/kr/co/palnet/kac/data/other/repository/SuredataRepository.java

2
app/kac-app/build.gradle

@ -39,7 +39,7 @@ dependencies {
implementation project(":common-security")
implementation project(":web-api-com")
// TDOO: ...
compileOnly project(":data-com")
// compileOnly project(":data-com")
}
ext {

2
common/util/build.gradle

@ -2,6 +2,6 @@
dependencies {
// implementation "$boot:spring-boot-starter"
// implementation "$boot:spring-boot-starter-json"
implementation "$boot:spring-boot-starter-json"
}

11
common/util/src/main/java/kr/co/palnet/kac/util/UtilApplication.java

@ -0,0 +1,11 @@
package kr.co.palnet.kac.util;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class UtilApplication {
public static void main(String[] args) {
SpringApplication.run(UtilApplication.class, args);
}
}

27
data/cns/build.gradle

@ -0,0 +1,27 @@
dependencies {
implementation "$boot:spring-boot-starter-data-jpa"
implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta"
annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
testRuntimeOnly("com.h2database:h2")
}
def querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile
sourceSets {
main.java.srcDir(querydslDir)
}
tasks.withType(JavaCompile) {
options.getGeneratedSourceOutputDirectory().set(file(querydslDir))
}
clean {
delete file(querydslDir)
}

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/cns/model/CnsFaqBas.java → data/cns/src/main/java/kr/co/palnet/kac/data/cns/model/CnsFaqBas.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/cns/model/CnsQnaBas.java → data/cns/src/main/java/kr/co/palnet/kac/data/cns/model/CnsQnaBas.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/cns/repository/CnsFaqBasRepository.java → data/cns/src/main/java/kr/co/palnet/kac/data/cns/repository/CnsFaqBasRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/cns/repository/CnsQnaBasRepository.java → data/cns/src/main/java/kr/co/palnet/kac/data/cns/repository/CnsQnaBasRepository.java

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComAdmDistrictBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComAdmDistrictBas.java

@ -1,4 +1,4 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComArcrftBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComArcrftBas.java

@ -1,4 +1,4 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComAuthBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComAuthBas.java

@ -1,4 +1,4 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;

4
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComConfirmBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComConfirmBas.java

@ -1,5 +1,6 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -7,7 +8,6 @@ import lombok.NoArgsConstructor;
import org.hibernate.annotations.CreationTimestamp;
import org.hibernate.annotations.UpdateTimestamp;
import jakarta.persistence.*;
import java.time.Instant;
@Data

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComFileBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComFileBas.java

@ -1,4 +1,4 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComIdntfBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComIdntfBas.java

@ -1,4 +1,4 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComRiseSetBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComRiseSetBas.java

@ -1,4 +1,4 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;

3
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComSiteBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComSiteBas.java

@ -1,4 +1,4 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.*;
import lombok.AllArgsConstructor;
@ -6,7 +6,6 @@ import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.Instant;

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/model/ComTrmnlBas.java → data/com/src/main/java/kr/co/palnet/kac/data/com/domain/ComTrmnlBas.java

@ -1,4 +1,4 @@
package kr.co.palnet.kac.data.com.model;
package kr.co.palnet.kac.data.com.domain;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/repository/ComAdmDistrictBasRepository.java → data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComAdmDistrictBasRepository.java

@ -1,6 +1,6 @@
package kr.co.palnet.kac.data.com.repository;
import kr.co.palnet.kac.data.com.model.ComAdmDistrictBas;
import kr.co.palnet.kac.data.com.domain.ComAdmDistrictBas;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ComAdmDistrictBasRepository extends JpaRepository<ComAdmDistrictBas, String> {

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/repository/ComArcrftBasRepository.java → data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComArcrftBasRepository.java

@ -1,6 +1,6 @@
package kr.co.palnet.kac.data.com.repository;
import kr.co.palnet.kac.data.com.model.ComArcrftBas;
import kr.co.palnet.kac.data.com.domain.ComArcrftBas;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ComArcrftBasRepository extends JpaRepository<ComArcrftBas, Integer> {

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/repository/ComConfirmBasRepository.java → data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComConfirmBasRepository.java

@ -1,6 +1,6 @@
package kr.co.palnet.kac.data.com.repository;
import kr.co.palnet.kac.data.com.model.ComConfirmBas;
import kr.co.palnet.kac.data.com.domain.ComConfirmBas;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ComConfirmBasRepository extends JpaRepository<ComConfirmBas, Integer> {

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/repository/ComFileBasRepository.java → data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComFileBasRepository.java

@ -1,6 +1,6 @@
package kr.co.palnet.kac.data.com.repository;
import kr.co.palnet.kac.data.com.model.ComFileBas;
import kr.co.palnet.kac.data.com.domain.ComFileBas;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ComFileBasRepository extends JpaRepository<ComFileBas, Integer> {

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/repository/ComIdntBasRepository.java → data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComIdntBasRepository.java

@ -1,6 +1,6 @@
package kr.co.palnet.kac.data.com.repository;
import kr.co.palnet.kac.data.com.model.ComIdntfBas;
import kr.co.palnet.kac.data.com.domain.ComIdntfBas;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ComIdntBasRepository extends JpaRepository<ComIdntfBas, String> {

2
app/kac-app/src/main/java/kr/co/palnet/kac/data/com/repository/ComRiseSetBasRepository.java → data/com/src/main/java/kr/co/palnet/kac/data/com/repository/ComRiseSetBasRepository.java

@ -1,6 +1,6 @@
package kr.co.palnet.kac.data.com.repository;
import kr.co.palnet.kac.data.com.model.ComRiseSetBas;
import kr.co.palnet.kac.data.com.domain.ComRiseSetBas;
import org.springframework.data.jpa.repository.JpaRepository;
public interface ComRiseSetBasRepository extends JpaRepository<ComRiseSetBas, ComRiseSetBas.ComRiseSetBasId> {

27
data/ctr/build.gradle

@ -0,0 +1,27 @@
dependencies {
implementation "$boot:spring-boot-starter-data-jpa"
implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta"
annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
testRuntimeOnly("com.h2database:h2")
}
def querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile
sourceSets {
main.java.srcDir(querydslDir)
}
tasks.withType(JavaCompile) {
options.getGeneratedSourceOutputDirectory().set(file(querydslDir))
}
clean {
delete file(querydslDir)
}

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlBas.java → data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlBas.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstry.java → data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstry.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstryArea.java → data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlHstryArea.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlWarnLog.java → data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/model/CtrCntrlWarnLog.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlBasRepository.java → data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlBasRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlHstryAreaRepository.java → data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlHstryAreaRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlHstryRepository.java → data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlHstryRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlWarnLogRepository.java → data/ctr/src/main/java/kr/co/palnet/kac/data/ctr/repository/CtrCntrlWarnLogRepository.java

27
data/flt/build.gradle

@ -0,0 +1,27 @@
dependencies {
implementation "$boot:spring-boot-starter-data-jpa"
implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta"
annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
testRuntimeOnly("com.h2database:h2")
}
def querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile
sourceSets {
main.java.srcDir(querydslDir)
}
tasks.withType(JavaCompile) {
options.getGeneratedSourceOutputDirectory().set(file(querydslDir))
}
clean {
delete file(querydslDir)
}

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/model/FltCptAuthAdmDistrictRel.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltCptAuthAdmDistrictRel.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/model/FltCptAuthBas.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltCptAuthBas.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanArcrft.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanArcrft.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanArea.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanArea.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanAreaCoord.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanAreaCoord.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanBas.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanBas.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanCtrCntrlRel.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanCtrCntrlRel.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanPilot.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/model/FltPlanPilot.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/repository/FltCptAuthAdmDistrictBasRepository.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltCptAuthAdmDistrictBasRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/repository/FltCptAuthAdmDistrictRelRepository.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltCptAuthAdmDistrictRelRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanArcrftRepository.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanArcrftRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanAreaCoordRepository.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanAreaCoordRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanAreaRepository.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanAreaRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanBasRepository.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanBasRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanCtrCntrlRelRepository.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanCtrCntrlRelRepository.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanPilotRepository.java → data/flt/src/main/java/kr/co/palnet/kac/data/flt/repository/FltPlanPilotRepository.java

27
data/other/build.gradle

@ -0,0 +1,27 @@
dependencies {
implementation "$boot:spring-boot-starter-data-jpa"
implementation "com.querydsl:querydsl-jpa:5.0.0:jakarta"
annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api"
annotationProcessor "jakarta.persistence:jakarta.persistence-api"
testRuntimeOnly("com.h2database:h2")
}
def querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile
sourceSets {
main.java.srcDir(querydslDir)
}
tasks.withType(JavaCompile) {
options.getGeneratedSourceOutputDirectory().set(file(querydslDir))
}
clean {
delete file(querydslDir)
}

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/other/model/SuredataEntity.java → data/other/src/main/java/kr/co/palnet/kac/data/other/model/SuredataEntity.java

0
app/kac-app/src/main/java/kr/co/palnet/kac/data/other/repository/SuredataRepository.java → data/other/src/main/java/kr/co/palnet/kac/data/other/repository/SuredataRepository.java

Loading…
Cancel
Save