diff options
| author | terminaldweller <thabogre@gmail.com> | 2022-05-03 10:28:42 +0000 | 
|---|---|---|
| committer | terminaldweller <thabogre@gmail.com> | 2022-05-03 10:28:42 +0000 | 
| commit | 056dcb5b4fda70f963bfb392fcd2816170f2bc12 (patch) | |
| tree | cf79d8f2ef8cbfe574d59b9d785dbb52496aff4d /src/main/java/com/terminaldweller | |
| parent | update (diff) | |
| download | mdrtl-056dcb5b4fda70f963bfb392fcd2816170f2bc12.tar.gz mdrtl-056dcb5b4fda70f963bfb392fcd2816170f2bc12.zip | |
added PUT, the CRUD is done now. just need to test the crud
Diffstat (limited to 'src/main/java/com/terminaldweller')
4 files changed, 44 insertions, 4 deletions
| diff --git a/src/main/java/com/terminaldweller/doc/Doc.java b/src/main/java/com/terminaldweller/doc/Doc.java index 1ec9dca..c3fa72b 100644 --- a/src/main/java/com/terminaldweller/doc/Doc.java +++ b/src/main/java/com/terminaldweller/doc/Doc.java @@ -18,6 +18,7 @@ public class Doc {    private String name;    private long lastModified; +  private String body;    public Doc() {} @@ -28,15 +29,24 @@ public class Doc {     * @param name the name of the documment given by the user.     * @param lastModified the date of the last modification in unix epoch.     */ -  public Doc(Long id, String name, long lastModified) { +  public Doc(Long id, String name, long lastModified, String body) {      this.id = id;      this.name = name;      this.lastModified = lastModified; +    this.body = body;    } -  public Doc(String name, long lastModified) { +  /** +   * Constructor without the id. +   * +   * @param name document name +   * @param lastModified date of last modification +   * @param body document content +   */ +  public Doc(String name, long lastModified, String body) {      this.name = name;      this.lastModified = lastModified; +    this.body = body;    }    public Long getId() { @@ -51,6 +61,10 @@ public class Doc {      return this.lastModified;    } +  public String getBody() { +    return this.body; +  } +    public void setId(Long id) {      this.id = id;    } @@ -62,4 +76,8 @@ public class Doc {    public void setLastModified(long lastModified) {      this.lastModified = lastModified;    } + +  public void setBody(String body) { +    this.body = body; +  }  } diff --git a/src/main/java/com/terminaldweller/doc/DocConfig.java b/src/main/java/com/terminaldweller/doc/DocConfig.java index 1826817..b75b0d4 100644 --- a/src/main/java/com/terminaldweller/doc/DocConfig.java +++ b/src/main/java/com/terminaldweller/doc/DocConfig.java @@ -11,8 +11,8 @@ public class DocConfig {    @Bean    CommandLineRunner commandLineRunner(DocRepository repository) {      return args -> { -      Doc mydoc1 = new Doc("mydoc1", 0L); -      Doc mydoc2 = new Doc("mydoc2", 0L); +      Doc mydoc1 = new Doc("mydoc1", 0L, ""); +      Doc mydoc2 = new Doc("mydoc2", 0L, "");        repository.saveAll(List.of(mydoc1, mydoc2));      }; diff --git a/src/main/java/com/terminaldweller/doc/DocController.java b/src/main/java/com/terminaldweller/doc/DocController.java index a91fb0d..e73ef41 100644 --- a/src/main/java/com/terminaldweller/doc/DocController.java +++ b/src/main/java/com/terminaldweller/doc/DocController.java @@ -7,6 +7,7 @@ import org.springframework.web.bind.annotation.DeleteMapping;  import org.springframework.web.bind.annotation.GetMapping;  import org.springframework.web.bind.annotation.PathVariable;  import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping;  import org.springframework.web.bind.annotation.RequestBody;  import org.springframework.web.bind.annotation.RequestMapping;  import org.springframework.web.bind.annotation.ResponseStatus; @@ -38,4 +39,9 @@ public class DocController {    public void deleteDocs(@PathVariable("Id") Long id) {      docService.deleteDoc(id);    } + +  @PutMapping(path = "{Id}") +  public void updatDoc(@RequestBody Doc doc, @PathVariable("Id") long id) { +    docService.updateDoc(doc, id); +  }  } diff --git a/src/main/java/com/terminaldweller/doc/DocService.java b/src/main/java/com/terminaldweller/doc/DocService.java index b682087..5a07c23 100644 --- a/src/main/java/com/terminaldweller/doc/DocService.java +++ b/src/main/java/com/terminaldweller/doc/DocService.java @@ -33,6 +33,22 @@ public class DocService {    }    /** +   * Update a Document. +   * +   * @param doc the document to update. +   */ +  public void updateDoc(Doc doc, Long id) { +    Optional<Doc> docOptional = docRepository.findById(id); +    if (!docOptional.isPresent()) { +      throw new IllegalStateException("Resource must be created before update"); +    } +    doc.setId(id); +    doc.setLastModified(System.currentTimeMillis() / 1000L); +    doc.setBody(doc.getBody()); +    docRepository.save(doc); +  } + +  /**     * Deletes a document from the data store.     *     * @param id The identifier for the document to be deleted. | 
