diff --git a/src/main/java/org/ntlab/nemophila/models/accounts/Account.java b/src/main/java/org/ntlab/nemophila/models/accounts/Account.java index 5a2c70b..ca18979 100644 --- a/src/main/java/org/ntlab/nemophila/models/accounts/Account.java +++ b/src/main/java/org/ntlab/nemophila/models/accounts/Account.java @@ -30,6 +30,12 @@ public String getName() { return name; } + public String getPw() { + return pw; + } + public String getToken() { + return token; + } //Setter public void setName(String name) { @@ -68,12 +74,12 @@ } //pidを指定して投稿を一つ取得 - Post getPost(String pid) { + public Post getPost(String pid) { return posts.get(pid); } //そのaccountの投稿を全て取得 - Collection getPosts() { + public Collection getPosts() { return posts.values(); } diff --git a/src/main/java/org/ntlab/nemophila/models/accounts/AccountManager.java b/src/main/java/org/ntlab/nemophila/models/accounts/AccountManager.java index bf6cbfc..45b8dbc 100644 --- a/src/main/java/org/ntlab/nemophila/models/accounts/AccountManager.java +++ b/src/main/java/org/ntlab/nemophila/models/accounts/AccountManager.java @@ -11,31 +11,32 @@ private AccountManager() { } - + //シングルトン化 public static AccountManager getInstance() { if(theInstance == null){ theInstance = new AccountManager(); } return theInstance; } - + //アカウントの取得 public Account getAccount(String id){ return accountsMap.get(id); } - + //新規アカウントの作成 public Account createAccount(String name, String pw){ + //ランダムにトークンを作成 UUID uuid = UUID.randomUUID(); String token = (String) uuid.toString(); - Account ac = new Account(name, pw); ac.setToken(token); + //IDの作成 String id = Integer.toString(newId); ac.setId(id); newId++; accountsMap.put(id, ac); return ac; } - + //再ログイン時に新しいトークンを更新する public Account updateAccount(String id) { Account ac = accountsMap.get(id); UUID uuid = UUID.randomUUID(); @@ -43,4 +44,10 @@ ac.setToken(token); return ac; } + //アカウント消去 + public void deleteAccount(String id){ + accountsMap.remove(id); + } + + } diff --git a/src/main/java/org/ntlab/nemophila/models/shops/Shop.java b/src/main/java/org/ntlab/nemophila/models/shops/Shop.java index 3559e50..d233070 100644 --- a/src/main/java/org/ntlab/nemophila/models/shops/Shop.java +++ b/src/main/java/org/ntlab/nemophila/models/shops/Shop.java @@ -1,19 +1,20 @@ package org.ntlab.nemophila.models.shops; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import org.ntlab.nemophila.models.accounts.Post; import java.util.ArrayList; public class Shop { - @JsonProperty("id") + @JsonProperty("sid") private String id; - @JsonProperty("name") + @JsonIgnore private String name; - @JsonProperty("longitude") + @JsonIgnore private double longitude; - @JsonProperty("latitude") + @JsonIgnore private double latitude; - + @JsonProperty("posts") private ArrayList posts = new ArrayList<>(); //Getter @@ -55,7 +56,4 @@ public void deletePost(Post post) { posts.remove(post); } - public int getPostsCount() { - return posts.size(); - } } diff --git a/src/main/java/org/ntlab/nemophila/models/shops/ShopManager.java b/src/main/java/org/ntlab/nemophila/models/shops/ShopManager.java index be41ff6..ee79010 100644 --- a/src/main/java/org/ntlab/nemophila/models/shops/ShopManager.java +++ b/src/main/java/org/ntlab/nemophila/models/shops/ShopManager.java @@ -23,16 +23,17 @@ return theInstance; } - //idからお店の情報を取得 + //idからお店の情報を返す public Shop getShop(String id) { return shopsMap.get(id); } + //お店の情報を全て返す public Collection getShops() { return shopsMap.values(); } - //idからその店の投稿を取得 + //sidからその店の投稿を取得 public ArrayList getPosts (String id) { Shop shop = shopsMap.get(id); return shop.getPosts(); @@ -58,6 +59,8 @@ shopsMap.put(shop.getId(), shop); } + + public void removeShop(String id) { shopsMap.remove(id); } diff --git a/src/main/java/org/ntlab/nemophila/resources/shops/ShopsRest.java b/src/main/java/org/ntlab/nemophila/resources/shops/ShopsRest.java index 911f135..2069f7c 100644 --- a/src/main/java/org/ntlab/nemophila/resources/shops/ShopsRest.java +++ b/src/main/java/org/ntlab/nemophila/resources/shops/ShopsRest.java @@ -17,9 +17,10 @@ ShopManager shopManager = ShopManager.getInstance(); return shopManager.getShops(); } + @POST public void createShop(@FormParam("name") String name, @FormParam("longitude") double longitude, @FormParam("latitude") double latitude) { ShopManager shopManager = ShopManager.getInstance(); shopManager.createShop(name, longitude, latitude); } -} +} \ No newline at end of file